AWS Lambda
- 서버를 프로비저닝 하거나 관리하지 않고도 코드를 실행할 수 있는 컴퓨팅 서비스
- 고가용성 컴퓨팅 인프라에서 코드를 실행하고 서버 및 운영 체제 유지 관리, 용량 프로비저닝 및 자동 조정, 로깅을 포함한 컴퓨팅 리소스의 모든 관리를 수행한다.
- Lambda가 지원하는 언어(c#, java, javaScript, Python, Ruby등)를 이용해 Lambda를 사용하면 거의 모든 유형의 애플리케이션 또는 백엔드 서비스에 대한 코드를 실행할 수 있다.
- 사용한 컴퓨팅 시간에 대해서만 비용이 나감
- 코드가 실행되지 않을때는 비용 안나감
- Lambda API를 사용하여 Lambda 함수를 호출하거나 Lambda가 다른 AWS 서비스의 이벤트에 대한 응답으로 함수를 실행할 수 있다.
- Amazon S3
- Amazon DynamoDB와 같은 AWS 서비스에 대한 데이터 처리 트리거 구축
- Amazon Kinesis에 저장된 스트리밍 데이터를 처리
Lambda 기능
- 동시성 및 확장 제어
동시성 제한 및 프로비저닝된 동시성과 같은 동시성 및 확장 제어를 통해 프로덕션 애플리케이션의 확장 및 응답성을 세밀하게 제어할 수 있다.
- 컨테이너 이미지로 정의된 함수
선호하는 컨테이너 이미지 도구, 워크플로 및 종속성을 사용하여 Lambda 함수를 빌드, 테스트 및 배포한다.
- 코드 서명
Lambda용 코드서명은 승인된 개발자가 게시한 변경되지 않은 코드만 Lambda 함수에 배포되었는지 확인할 수 있는 신뢰 및 무결성 제어를 제공한다.
- 람다 확장
Lambda 확장을 사용하여 Lambda 함수를 보강할 수 있다. 예를 들어 확장을 사용하여 Lambda를 모니터링, 관찰 가능성, 보안 및 거버넌스를 위해 선호하는 도구와 더 쉽게 통합할 수 있다.
- 기능 청사진
함수 청사진은 다른 AWS 서비스 또는 타사 애플리케이션과 함께 Lambda를 사용하는 방법을 보여주는 샘플 코드를 제공한다. Blueprint에는 Node.js 및 Python 런타임에 대한 샘플 코드 및 함수 구성 사전 설정이 포함된다.
- 데이터베이스 엑세스
데이터베이스 프록시는 데이터베이스 연결 풀을 관리하고 함수의 쿼리를 릴레이 한다. 이를 통해 함수는 데이터베이스 연결을 소진하지 않고 높은 동시성 수준에 도달할 수 있다.
- 파일 시스템 액세스
Amazon EFS 파일 시스템을 로컬 디렉터리에 탑재하는 기능을 구성할 수 있다. Amazon EFS를 사용하면 함수 코드가 공유 리소스에 안전하게 높은 동시성으로 액세스하고 수정할 수 있다.