AWS Lambda란 무엇인가요?

AWS Lambda란 무엇인가요?

서버를 직접 관리하지 않고도 코드를 실행하고 싶다면 AWS Lambda가 정답이에요. Lambda는 서버리스 컴퓨팅(serverless compute) 서비스로, 서버를 프로비저닝하거나 관리할 필요 없이 코드를 실행할 수 있게 해줘요. 서버 유지보수, 용량 프로비저닝, 스케일링, 패치 적용까지 Lambda가 인프라를 자동으로 관리하니까 여러분은 애플리케이션 로직에만 집중하면 돼요.

출처: What is AWS Lambda?

두 가지 컴퓨팅 프리미티브

Lambda는 서로 다른 워크로드 패턴을 위해 설계된 두 가지 컴퓨팅 프리미티브를 제공해요.

  • Lambda Functions — 이벤트나 API 호출에 응답해 서버 관리 없이 코드를 실행하는 방식이에요. 핸들러 함수를 작성하고 API Gateway, Amazon S3, Amazon SQS, EventBridge를 포함한 200개 이상의 AWS 서비스 중 트리거에 연결하면 Lambda가 실행해요. 각 호출(invocation)은 독립적으로 실행되어 공유 상태가 없고, 수요에 맞춰 수평 확장돼요. Lambda가 실행 환경·스케일링·라우팅·내결함성을 관리해요.
  • Lambda MicroVMs — 거의 즉시 시작되고 최대 8시간까지 상태를 유지하는 격리된 컴퓨팅 환경이에요. 사용자나 작업 하나마다 전용 컴퓨팅 환경이 필요한 워크로드를 위해 설계됐어요. Lambda가 격리·용량·네트워킹을 관리하고, 애플리케이션은 Lambda MicroVMs API와 HTTPS 엔드포인트로 각 사용자/작업을 컴퓨팅 환경에 연결해요.

Lambda Functions와 Lambda MicroVMs 비교

둘은 서버리스 기반을 공유해요.

  • 서버 관리 불필요 — AWS가 인프라·인스턴스 패칭·용량을 관리해요.
  • 사용량 기반 과금 — 선결제 없이 사용한 리소스에 대해서만 지불해요.
  • 관리형 네트워킹 — 둘 다 서비스 관리형 인바운드·아웃바운드 네트워크 접근을 제공해요.
  • Firecracker 가상화 — 워크로드 간 VM 수준의 격리를 제공해요.

같은 기반을 공유하지만 용도는 다릅니다. 핵심 차이를 정리하면 이렇게 돼요.

구분 Lambda Functions Lambda MicroVMs
적합한 용도 요청-응답 또는 이벤트 기반 워크로드 (API, 데이터 처리, 자동화) 사용자·AI 생성 비신뢰 코드를 실행하는 영속 환경
프로그래밍 모델 지원 런타임에서 호출되는 함수 핸들러 바이너리 실행·포트 수신·Linux OS 기능 사용 가능한 모든 애플리케이션
지속 시간 호출당 최대 15분, Lambda Durable Functions로 최대 1년 멀티스텝 워크플로 세션당 최대 8시간, 세션 간 일시정지·재개 가능
런타임 환경 서비스 제공 언어 런타임, 고객 제공 런타임 지원 고객 제공 MicroVM 이미지
인바운드 네트워킹 직접 호출 또는 AWS 서비스 이벤트 소스 통합, 응답 스트리밍 지원 OSI Layer 7 프로토콜로 모든 포트 인바운드 접근
동시성 실행 환경당 한 번에 하나의 요청 MicroVM당 다중 동시 연결
환경 상태 실행 환경 재사용(웜 스타트) 가능하지만 호출 간 상태 비영속 일시정지 시 메모리·디스크 상태 보존, 재개 시 복원
스케일링 자동 — Lambda가 트래픽에 맞춰 실행 환경 생성·소멸 개발자 제어 — API로 MicroVM 생성·일시정지·재개·종료
라이프사이클 Lambda가 완전 관리 개발자 제어, 선택적 idle 정책으로 자동 일시정지·재개
요금 요청당 + GB-초 실행 시간 실행 중 초당 컴퓨팅 + 일시정지 중 스냅샷 스토리지

더 알아보기