[1주차 - Day5] AWS를 활용한 인공지능 모델 배포

2023. 3. 20. 14:22BOOTCAMP/프로그래머스 인공지능 데브코스

클라우드 환경에서의 인공지능 모델 서빙 API 개발

 

1. Basis of Cloud Service

 

클라우드를 통하여 비용이 절감이 되고, 보안에 최적화되어 있기에 보안이 중요한 산업군에서 빠르게 적용되어가고 있습니다.

클라우드 이전엔 서버를 직접 구축하고, 운영하는 자원과 인력 비용이 크고, 운영 상황의 변화에 능동적으로 대응하기가 어려운 점을 갖고 있었습니다. IDC(Internet Data Center)는 서버 운영에 필요한 공간, 네트워크, 유지 보수 등의 서비스를 제공하는데, 회사에 불필요한 유지 비용이 들기에 서버 임대는 계약을 통해 일정 기간 임대를 하는 유연성이 떨어지는 구조였습니다. 

 

아마존은 저장공간 및 연산 지원 제공 서비스인 S3인 EC2를 개시하면서 본격적인 클라우드 컴퓨팅 시대가 시작되었습니다.

4차 산업혁명 시대에서 빅데이터의 수집, 저장, 분석을 위한 방대한 컴퓨팅 자원과 인공지능 개발을 위한 고성능 컴퓨터를 스타트업이나 중소기업이 처음부터 모든 것을 별도로 구입하지 않아도 적은 비용으로 빠르게 필요한 IT 환경을 마련할 수 있습니다.

클라우드 제공자와 별도의 커뮤니케이션 없이 원하는 클라우드 서비스를 바로 이용가능하고, 인터넷을 통해 사용자의 위치, 시간과 관계없이 어떤 디바이스로도 접근이 가능한 점. 그리고 갑작스러운 이용량 증가나 변화에 신속하고, 유연하게 추가 확장이 가능하고, 하드웨어와 소프트웨어 설치에 들어가는 시간과 비용 절감으로 핵심없무에 집중된다는 장점이 있습니다.

 

프라이빗과 하이브리드, 퍼블릭 세 가지 형태로 클라우드가 존재하는데, 퍼블릭은 외부 클라우드 컴퓨팅 사업자가 지원하는 개념.

프라이빗은 고객이 자체 데이터센터에 직접 클라우드 서비스를 구축하는 형태로 보안이 중요한 경우 사용합니다. 또한, 하이브리드는 퍼블릭의 경제성과 프라이빗의 보안성 모두를 고려한 개념입니다. 요즘은 하이브리드로 양쪽의 장점을 모두 가져가고 있습니다.

 

클라우드 서비스 제공 방식에 따라 laaS, PaaS, SaaS가 있습니다. SaaS의 대표적인 사례로 이메일로서 전달할 수 있는 기능을 사용할 수 있습니다. laaS는 차를 빌릴 때, 사용자가 직접 대여하는 것, PaaS는 택시를 통해 나의 목적지를 사용자가 결정할 수 있는 것, SaaS는 버스를 이용하는 사용자는 버스 회사가 제공하는 서비스를 이용하는 것입니다. 이렇듯이 사용자의 자율성 여부에 따라 차이가 존재하며, laaS로 갈수록 개발할 수 있는 폭이 넓지만, 그만큼 유지 보수가 어려울 수 있습니다.

 

클라우드 서비스 사업자(CSP)가 운영하기 어려워서 매니지드 서비스 사업자(MSP)를 통해 기업 고객과의 소통 채널 및 운영 지원을 확보합니다. 그리고 MSP는 기업에게 클라우드 컨설팅 및 구축 서비스, 클라우드 운영 서비스, 클라우드 매니지먼트 플랫폼을 제공합니다.

 

2.AWS Foundation

 

AWS(Amazon Web Services)는 EC2(Amazon Elasic Compute Cloud) 등의 compute 서비스를 통해 애플리케이션을 호스팅하거나 고객이 필요로 하는 컴퓨팅 파워를 제공합니다. EC2와 같은 가상 서버를 통해 AWS 컴퓨팅 자원에 접근할 수 있고, EC2를 사용하게 되면 온프레미스로 자체 서버를 마련해 운영하는 것보다 프로비저닝에 들어가는 비용과 시간이 크게 절약됩니다.

 

Amazon EC2

- 몇 분의 시간만으로도 EC2 인스턴스 프로비저닝 기능

- 작업을 완료했거나 사용하지 않는 인스턴스는 중지 가능

- 실행한 만큼만 비용을 지불하여 예산 절약 가능

 

AWS Global Infrastructure

AWS는 Region(리전)이라는 그룹을 데이터 센터를 구축하여 하나의 건물에서 화재나 재낭이 발생해도 안정적인 운영이 가능합니다.

리전은 지리적 위치를 의미하며 최소한 2개 이상의 가용 영역으로 구성되며, Availability Zone(가용 영역)은 리전 내 단일 또는 그룹으로 구성된 데이터 센터를 의미합니다. 각 가용 영역은 다른 가용 영역의 장애로부터 영향을 받지 않을 수 있도록 분리되어 있으나 지연 시간은 짧은 링크로 연결되어 있습니다.

리전 선택 시 고려해야 할 요인

Compliance 데이터가 특정 국가/지역을 벗어나면 안되는 요구사항 있을 때 또는 리전을 지정해야 하는 Compliance 요구사항이 있는지
Proximity 서비스 제공 및 정보 전송에 지연이 발생하면 안되는지
Availability 가장 가까운 리전에서 원하는 기능을 제공하고 있는지
Price 동일한 하드웨어라고 하더라도 리전에 따라 비용이 어떻게 달라지는지

 

AWS Storage Services

AWS에는 크게 EBS와 S3 두 가지 스토리지를 많이 사용합니다. Elastic Block Store(EBS)는 Amazon EC2 인스턴스에서 사용할 수 있는 volume을 제공하는 스토리지 서비스, Simple Storage Service(S3)는 데이터, 메타데이터, 키 세 개로 구성된 객체를 bucket에 저장하는 스토리지 서비스입니다.

 

Amazon EBS

- EBS volume은 데이터를 보존해야 하는 경우에 적합

- Snapshot을 생성하여 EBS volume을 백업

- incrementally 최근의 스냅샷 이후에 변경된 데이터 블록만 저장

- EC2 instance를 중지/종료하더라도 데이터는 보존됨


Amazon S3

- 데이터에 자주 접근하지만 변경은 하지 않는 경우에 적합

- Object는 데이터, Bucket은 파일 디렉터리라고 볼 수 있음

- 이미지, 동영상, 텍스트 파일 등 모든 유형의 파일 저장 가능

- 최소 3개의 가용 영역에 데이터를 저장