[nodejs] AWS Lambda 이해하기

AWS Lambda는 서버리스 컴퓨팅 서비스로, 코드를 실행할 때 인프라를 관리할 필요 없이 필요한 만큼의 컴퓨팅 리소스를 제공받을 수 있습니다. 이를 통해 개발자는 애플리케이션 개발에만 집중할 수 있고, 인프라 구성과 관리로부터 해방됩니다.

Lambda의 장점

1. 무정지 확장성

Lambda는 트래픽이 증가해도 무정지로 확장됩니다. 응용프로그램에 요청이 증가하면 AWS가 자동으로 배포 및 확장 처리를 합니다.

2. 요금 청구

Lambda는 실행시간 및 사용량에 따라 과금됩니다. 코드가 실행되는 시간 외에는 요금 청구가 이루어지지 않으므로 효율적입니다.

3. 이벤트 트리거

다양한 AWS 서비스와 통합하여 사용할 수 있으며, S3, SNS, API Gateway 등 다양한 이벤트 트리거를 활용할 수 있습니다.

Lambda 함수 작성하기

exports.handler = async (event) => {
  console.log('Received event:', JSON.stringify(event, null, 2));
  return event.key1;
};

위 코드는 Lambda 함수의 간단한 예제로, handler 함수는 이벤트를 받아서 처리하고 응답을 반환합니다. 해당 Lambda 함수는 Node.js로 작성되었습니다.

결론

AWS Lambda는 서버리스 아키텍처의 핵심 요소 중 하나로, 확장성, 비용 효율성, 다양한 이벤트 트리거 등을 통해 많은 장점을 제공합니다. 서버리스 컴퓨팅을 사용하면 개발자는 더 쉬운 개발과 관리를 경험하고, 비즈니스 요구에 더 신속하게 대응할 수 있습니다.

참고 자료: AWS Lambda 공식문서