AWS 람다(AWS Lambda)는 아마존 웹 서비스에서 제공하는 이벤트 기반 컴퓨팅 클라우드 서비스로, 개발자가 스토리지나 컴퓨팅 리소스를 프로비저닝하지 않고도 사용당 비용으로 기능을 프로그래밍할 수 있도록 지원합니다. 이를 서비스로서의 기능(FaaS)이라고도 합니다.
람다를 쓰면 좋은점
AWS 람다의 주요 이점 중 하나는 IT 전문가로부터 서버 관리를 추상화한다는 것입니다. 아마존은 AWS 람다를 통해 서버를 관리하므로 개발자는 애플리케이션 코드 작성에 더 집중할 수 있다.
AWS는 다양한 프로그래밍 언어로 작성된 코드를 지원합니다. AWS 람다 언어에는 Node.js, 파이썬, 자바, C# 등이 있다. 개발자들은 또한 메이븐이나 그라들과 같은 코드 컴파일러 도구와 패키지를 사용하여 함수를 구축할 수 있다.
한계
AWS 람다는 함수를 실행하고 저장하는 데 사용할 수 있는 계산 및 저장 리소스의 양을 제한합니다. 다음 제한은 지역별로 적용되며 증가할 수 있습니다. 증가를 요청하려면 지원 센터 콘솔을 사용하십시오.
서비스 유형
AWS는 수천 개의 개별 서비스를 제공합니다. 2018년에만 거의 2,000개가 출시되었습니다. AWS는 AWS 람다 콘솔을 사용하여 사용자가 람다 응용 프로그램을 모니터링하고 관리할 수 있도록 지원합니다. 메뉴에는 AWS Cloud Formation 콘솔, AWS Serverless Application Repository, AWS CLI 또는 AWS SAM CLI를 사용하여 AWS Cloud Formation에서 시작하는 스택이 포함됩니다.
AWS 람다 함수
함수는 특정 작업을 수행하는 프로그래밍의 작은 부분입니다. 개발자들은 AWS 람다를 사용하여 아마존 S3(Simple Storage Service) 버킷에 객체 생성과 같은 다른 아마존 클라우드 서비스의 특정 이벤트에 대응하여 기능을 코딩하고 실행한다. 각 람다 함수는 파일 시스템에 대한 자체 리소스와 뷰를 가진 격리된 컴퓨팅 환경에서 실행됩니다.
AWS 람다 함수가 호출되면 해당 함수의 스토리지 및 계산 리소스가 미터링 서비스로 자동으로 스핀업됩니다.
AWS 람다를 사용하면 서버를 프로비저닝하거나 관리하지 않고 코드를 실행할 수 있습니다. 사용한 계산 시간에 대해서만 지불합니다. 코드가 실행되지 않을 때는 요금이 부과되지 않습니다.
람다를 사용하면 사실상 모든 유형의 애플리케이션 또는 백엔드 서비스에 대한 코드를 실행할 수 있습니다. 코드를 업로드하기만 하면 람다가 코드를 실행하고 확장하는 데 필요한 모든 것을 고가용성으로 처리합니다. 다른 AWS 서비스에서 자동으로 트리거하거나 웹 또는 모바일 앱에서 직접 호출하도록 코드를 설정할 수 있습니다.
람다로 만들 수 있는 것
웹 응용 프로그램: 개발자들은 AWS 람다를 다른 AWS 서비스와 결합해 여러 데이터센터에서 스케일업과 스케일다운이 가능한 웹 애플리케이션을 구축할 수 있다.
모바일 백엔드: API 요청 인증 및 실행을 위해 AWS Lambda 및 Amazon API Gateway를 사용하여 백엔드를 구축할 수 있습니다. 예를 들어, Bustle은 AWS Lambda와 Amazon API Gateway를 사용하여 Bustle iOS 앱과 웹 사이트를 위한 서버리스 백엔드를 실행합니다.
IoT 백엔드: AWS 람다를 사용하여 서버리스 백엔드를 구축하여 웹, 모바일, 사물인터넷(IoT) 및 타사 API 요청을 처리할 수 있습니다.
데이터 변경: AWS 람다를 사용하여 DynamoDB 테이블의 모든 데이터 변경에 대해 데이터 유효성 검사, 필터링, 정렬 또는 기타 변환을 수행하고 변환된 데이터를 다른 데이터 저장소로 로드할 수 있습니다. 아마존은 JSON 기반 쿼리 언어를 사용하는 아마존의 NoSQL 데이터베이스인 디나모DB와 AWS 람다 간의 통합을 제공하기 때문에 개발자는 디나모DB 테이블이 업데이트를 받을 때마다 람다 함수가 트리거되도록 구성할 수 있습니다. 람다 기능에서는 아마존 SNS를 통한 알림 전송, 다른 DynamoDB 테이블에 쓰기, Cognito ID 풀 관리, AWS 내외의 여러 가지 작업을 수행할 수 있습니다.
실시간 스트림 처리: AWS 람다와 아마존 키네시스를 사용하여 애플리케이션 활동 추적, 트랜잭션 순서 처리, 클릭 스트림 분석, 데이터 정리, 메트릭 생성, 로그 필터링, 인덱싱, 소셜 미디어 분석 및 IoT 장치 데이터 원격 측정을 위한 실시간 스트리밍 데이터를 처리할 수 있습니다.