# Lambda AWS 람다는 특정한 이벤트를 통해 입력 인자가 발생하면 연산 과정으로 출력 인자를 바꾸는 이벤트 기반의 컴퓨팅 서비스이다. [[EC2]]와는 다르게 오직 소스코드만 사용하여 인프라에 대한 관리가 필요하지 않은 완전 관리형 컴퓨팅 서비스이다. ## 람다 함수와 역할 등 이름의 규칙 일반적으로 가장 많이 사용하는 람다 이름의 경우 `엔티티_도메인_서비스_함수명`과 같은 구조의 스네이크 케이스를 많이 사용합니다. 예를 들어, 우리가 운영하고 있는 회사의 쇼핑몰에서 환불 요청이 있을 경우 담당자에게 알림을 보내는 람다 함수라고 하면 `Mycompany_Refund_Notification_sendManager`와 같은 형태로 이름을 만들 수 있습니다. ## AWS 람다의 특징 1. 완전 관리형 서비스 2. 유연한 확장성 3. 고가용성 4. 유휴 용량 없음 5. 마이크로서비스 호환성 ## 아마존 웹 서비스의 컴퓨팅 서비스 Lambda Lambda는 이벤트 응답에 대해 대용량 병렬 방식으로 코드를 실행할 수 있다. Lambda는 서버를 프로비저닝하고, 소프트웨어를 설치하고, 컨테이너를 배치하거나, 저수준의 세부 사항에 대해 걱정할 필요 없이 코드를 받아서 실행한다. [[S3]]가 스토리지에서 큰 전환점이 것처럼 Lambda와 [[Azure Functions]], [[Google Cloud Functions]], [[IBM OpenWhisk]]와 같은 다른 [[서버리스 컴퓨팅]] 서비스들이 컴퓨팅에 있어서 큰 전환점인 이유다. (http://bit.ly/2jQnlGB) ## 이벤트 모델과 소스 Lambda는 다음의 방식에 대한 응답으로 코드를 실행할 수 있는 서버리스 컴퓨팅 서비스다. - [[AWS]]에서 발생된 이벤트 - [[API Gateway]]를 통한 [[HTTP]] 요청 - AWS [[SDK]]를 사용해 작성된 [[API]] 호출 - AWS 콘솔을 통한 수동 사용자 호출