Lambda

기술노트
Admin (토론 | 기여)님의 2025년 8월 10일 (일) 14:44 판 (IT 용어 자동 업로드: Lambda)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

Lambda

비유로 쉽게 이해하기

AWS Lambda는 **'필요할 때만 나타나서 일을 도와주는 만능 일꾼'**과 같습니다. 평소에는 보이지 않다가, "사진이 업로드됐어!" 또는 "사용자가 버튼을 눌렀어!" 같은 특정 이벤트(호출)가 발생하면 즉시 나타나 코드를 실행(일)하고, 일이 끝나면 바로 사라집니다. 우리는 이 일꾼이 어디서 자고 어디서 쉬는지 전혀 신경 쓸 필요 없이, 일한 만큼만 비용을 지불하면 됩니다.

개요

AWS Lambda는 서버를 직접 프로비저닝하거나 관리할 필요 없이 코드를 실행할 수 있게 해주는 서버리스(Serverless) 컴퓨팅 서비스입니다. 특정 이벤트에 대한 응답으로 코드를 실행하는 FaaS(Function as a Service) 모델의 대표적인 예입니다.

상세 설명

기존 방식에서는 코드를 실행하기 위해 항상 켜져 있는 서버(EC2 인스턴스 등)가 필요했습니다. 하지만 Lambda를 사용하면, 코드를 '함수(Function)' 단위로 AWS에 등록해두기만 하면 됩니다. 그 후, S3에 파일이 업로드되거나, API Gateway를 통해 HTTP 요청이 들어오는 등의 특정 이벤트가 발생할 때마다 AWS가 자동으로 해당 함수를 실행할 컴퓨팅 자원을 할당하고 실행해 줍니다.

코드가 실행되는 동안에만 1밀리초(0.001초) 단위로 비용이 부과되므로, 유휴 시간 없이 매우 효율적인 비용 관리가 가능합니다. Python, Node.js, Java 등 다양한 프로그래밍 언어를 지원합니다.

왜 중요할까요?

  • 서버 관리 해방: 운영체제 업데이트, 보안 패치 등 번거로운 서버 관리 작업에서 완전히 벗어날 수 있습니다.
  • 비용 효율성 극대화: 코드가 실행되지 않을 때는 비용이 전혀 발생하지 않아, 특히 트래픽이 불규칙한 서비스에 매우 유리합니다.
  • 자동 확장성: 요청이 아무리 많이 들어와도 AWS가 알아서 동시에 수많은 함수를 실행하여 처리하므로, 확장성 걱정이 없습니다.

주요 특징

  • 서버리스 아키텍처: 개발자는 코드에만 집중하고, 인프라 관리는 AWS에 맡깁니다.
  • 이벤트 기반 실행: 다양한 AWS 서비스(S3, DynamoDB, API Gateway 등)나 커스텀 이벤트에 의해 트리거됩니다.
  • 밀리초 단위 과금: 사용한 컴퓨팅 시간에 대해서만 정밀하게 비용을 지불합니다.
  • 다양한 언어 지원: Python, Node.js, Java, Go, Ruby 등 선호하는 언어로 함수를 작성할 수 있습니다.
  • 높은 가용성: 코드는 여러 가용 영역에 걸쳐 실행되어 안정성이 높습니다.

사용 사례

  • S3에 이미지가 업로드되면 자동으로 썸네일 이미지 생성
  • API Gateway와 연동하여 서버리스 API 백엔드 구축
  • DynamoDB 테이블의 데이터 변경에 응답하여 실시간으로 데이터 처리
  • 특정 시간에 주기적으로 실행되는 배치 작업 (예: 매일 아침 보고서 생성)
  • 챗봇의 비즈니스 로직 처리

관련 서비스/용어

참고 자료