AI 시스템 구축: 배포 방식 – 서버리스
ㅁ 배포 방식
ㅇ 정의:
서버나 인프라를 직접 관리하지 않고, 클라우드 제공업체의 서버리스 컴퓨팅 환경(FaaS, BaaS 등)을 활용하여 모델을 배포하는 방식.
ㅇ 특징:
– 사용한 만큼만 과금(Pay-as-you-go) 구조
– 인프라 관리 부담 최소화
– 자동 확장성 제공
– 짧은 실행 시간 제약(예: AWS Lambda의 최대 실행 시간 제한)
– 상태 비저장(stateless) 아키텍처 기반
ㅇ 적합한 경우:
– 예측 요청이 간헐적이거나 변동이 큰 경우
– 빠른 프로토타입 배포 필요 시
– 소규모, 이벤트 기반 모델 호출 환경
ㅇ 시험 함정:
– 서버리스는 항상 비용이 저렴하다는 오해 → 호출 빈도와 실행 시간이 길면 오히려 비용 증가 가능
– 장기 실행 작업이나 대규모 배치 처리에는 부적합
– 상태를 유지해야 하는 애플리케이션에는 적합하지 않음
ㅇ 시험 대비 “패턴 보기” 예시:
O: “서버리스 환경에서는 인프라 관리 없이 모델을 배포할 수 있으며, 호출량에 따라 자동 확장된다.”
X: “서버리스 환경은 장기 실행 배치 작업에 최적화되어 있다.”
ㅁ 추가 학습 내용
서버리스 배포 시 고려 요소
– 콜드 스타트로 인한 지연(latency) 문제
– 함수 메모리 및 CPU 자원 제한
– 네트워크 접근 제한 사항
대표 서버리스 서비스와 특징 비교
– AWS Lambda
– Google Cloud Functions
– Azure Functions
각 서비스의 지원 언어, 실행 환경, 과금 방식, 통합 서비스 등을 비교 정리
서버리스와 컨테이너 기반 배포(Kubernetes, Docker 등) 비교 관점
– 상태 관리: 서버리스는 무상태(stateless) 중심, 컨테이너는 상태 저장 가능
– 실행 시간: 서버리스는 제한적, 컨테이너는 장기 실행 가능
– 확장성: 서버리스는 자동 확장, 컨테이너는 설정 기반 확장
– 비용 구조: 서버리스는 요청 기반 과금, 컨테이너는 자원 할당 기반 과금