본문 바로가기
AWS

AWS Lambda란

by bryan.oh 2024. 6. 29.
반응형


AWS Lambda란?

안녕하세요, 이번 포스팅에서는 AWS Lambda에 대해 알아보겠습니다. AWS Lambda는 Amazon Web Services(AWS)에서 제공하는 서버리스 컴퓨팅 서비스입니다. 서버를 직접 관리하지 않고도 코드를 실행할 수 있게 해주는데요, 이를 통해 개발자들은 인프라 관리에 신경 쓰지 않고 코드 작성과 비즈니스 로직에 집중할 수 있습니다.

AWS Lambda의 특징

서버리스 아키텍처

AWS Lambda의 가장 큰 특징은 서버리스(Serverless) 아키텍처입니다. 이는 물리적 서버나 가상 서버를 관리할 필요 없이, 코드를 작성하고 실행할 수 있음을 의미합니다. 코드를 업로드하고 실행 조건을 설정하면, 나머지는 AWS가 알아서 처리해줍니다.

이벤트 중심의 실행

AWS Lambda는 이벤트에 의해 트리거됩니다. 예를 들어, 파일이 S3 버킷에 업로드되거나, DynamoDB 테이블에 데이터가 삽입되는 등의 이벤트가 발생하면 Lambda 함수가 실행됩니다. 이를 통해 특정 이벤트에 반응하는 애플리케이션을 쉽게 구축할 수 있습니다.

다양한 언어 지원

Lambda는 여러 프로그래밍 언어를 지원합니다. JavaScript(Node.js), Python, Java, C#, Ruby, Go 등을 사용할 수 있으며, 각 언어별로 SDK와 도구가 제공됩니다.

자동 확장

Lambda는 트래픽 변화에 따라 자동으로 확장됩니다. 동시에 많은 요청이 들어오더라도 Lambda가 자동으로 처리량을 조정하므로 별도의 서버 확장 작업이 필요 없습니다.

AWS Lambda의 장단점

장점

  1. 비용 효율성: 사용한 만큼만 비용을 지불합니다. 코드가 실행되는 시간에 비례하여 과금되므로, 유휴 시간이 없는 경우 비용을 절감할 수 있습니다.
  2. 유연성: 다양한 AWS 서비스와 연동이 가능하여, 복잡한 애플리케이션도 쉽게 구축할 수 있습니다.
  3. 관리 간편성: 서버 관리가 필요 없으므로, 인프라 운영 부담이 줄어듭니다.
  4. 빠른 배포: 코드를 업로드하고 즉시 실행할 수 있어, 새로운 기능을 빠르게 배포할 수 있습니다.

단점

  1. 제한된 실행 시간: 각 Lambda 함수는 최대 15분 동안만 실행될 수 있습니다. 장시간 실행이 필요한 작업에는 적합하지 않습니다.
  2. 디버깅의 어려움: 서버리스 환경에서는 디버깅이 어려울 수 있습니다. 로그를 통해 문제를 파악해야 하므로, 익숙해지기까지 시간이 걸릴 수 있습니다.
  3. 초기 지연: 함수가 처음 호출될 때 약간의 지연이 발생할 수 있습니다(콜드 스타트 문제).

AWS Lambda의 사용 사례

AWS Lambda는 다양한 상황에서 유용하게 사용될 수 있습니다. 대표적인 사용 사례는 다음과 같습니다:

  1. 데이터 처리: S3 버킷에 업로드된 파일 처리, DynamoDB 테이블의 데이터 처리 등 이벤트 기반 데이터 처리 작업에 적합합니다.
  2. 백엔드 서비스: 간단한 API의 백엔드로 사용하여 요청에 따라 데이터를 처리하고 응답할 수 있습니다.
  3. 자동화 스크립트: 정기적으로 실행되어야 하는 작업을 자동화할 때 유용합니다. 예를 들어, 일정 시간마다 데이터를 백업하거나, 로그를 분석하는 작업을 Lambda로 처리할 수 있습니다.

AWS Lambda의 비용

Lambda의 비용은 함수가 실행된 시간과 요청 수에 따라 결정됩니다. AWS에서는 매월 100만 건의 요청과 40만 GB-초의 실행 시간을 무료로 제공하여, 소규모 프로젝트나 테스트 용도로 부담 없이 사용할 수 있습니다. 실행 시간이 길거나, 요청이 많은 경우 비용이 증가할 수 있으므로, 비용 최적화를 위해 주기적으로 모니터링하는 것이 좋습니다.


이상으로 AWS Lambda에 대해 알아보았습니다. 서버리스 컴퓨팅의 매력과 Lambda의 특징을 이해하고, 여러분의 프로젝트에 활용해 보세요! 다음 포스팅에서는 Lambda를 활용한 예제를 다뤄보겠습니다. 감사합니다!

728x90
반응형

댓글