오늘은 AWS Computing Service 중 하나인 Lambda 에 대해서 알아보려고 합니다. 

람다를 사용하는 목적은 서버에 대한 걱정 없이 코드를 실행하고 사용한 컴퓨팅 시간에 대해서만 비용을 지불한다는 것인데요,

이런 개념이 잘 이해가 안되기도 해서 오늘은 기본적인 개념을 이해해 보고 다음 주에 사용법을 익혀보려고 합니다.

 

AWS Lambda 란? 

  • 서버를 프로비저닝하거나 관리할 필요 없이 코드를 실행.
  • 사용한 컴퓨팅 시간만큼만 비용을 지불하고, 코드가 실행되지 않을 때는 요금이 부과되지 않음.
  • 모든 유형의 애플리케이션이나 백엔드 서비스에 대한 코드를 별도의 관리 없이 실행 가능.
  • 코드를 업로드하기만 하면, Lambda에서 높은 가용성으로 코드를 실행 및 확장하는 데 필요한 부분을 처리함.
  • 다른 AWS 서비스에서 코드를 자동으로 트리거하도록 설정하거나 웹 또는 모바일 앱에서 직접 코드를 호출할 수 있음.

 

Lambda 의 주요 장점

  • 인프라에 대한 걱정 없이 코드 실행 가능 -> NoOps 실현
  • 트리거를 이용해 애플리케이션을 자동으로 확장/축소 가능.
  • 코드가 병렬로 실행되고 각 트리거는 개별적으로 처리되어 정확히 워크로드 규모에 맞게 조정됨.
  • 100ms 단위로 코드가 실행되는 시간 및 코드가 트리거되는 회수를 측정하여 요금을 부과하고, 코드가 실행되지 않을 때는 요금이 부과되지 않음.

 

Lambda 사용 사례

람다를 AWS의 다른 서비스들과 조합하여 사용하면 더 큰 시너지를 낼 수 있다는 것이 람다의 또 다른 장점인 것 같은데요,

이런 방법으로 람다를 이용하면 어떤 것들을 구축할 수 있는지 사용 사례를 보겠습니다.


  • 실시간 파일 처리
    - Amazon S3를 사용하여 업로드하는 즉시 데이터를 처리하도록 AWS Lambda를 트리거할 수 있다. Lambda를 사용하여 실시간으로 이미지를 썸네일하고, 동영상을 트랜스코딩하고, 파일을 인덱싱하고, 로그를 처리하고, 콘텐츠를 검증하고, 데이터를 수집 및 필터링할 수 있다.

  • 실시간 스트림 처리
    - AWS Lambda 및 Amazon Kinesis를 사용하여 애플리케이션 활동 추적, 트랜잭션 주문 처리, 클릭 스트림 분석, 데이터 정리, 지표 생성, 로그 필터링, 인덱싱, 소셜 미디어 분석, IoT 디바이스 데이터 텔레메트리 및 측정을 위한 실시간 스트리밍 데이터를 처리할 수 있다.

  • 추출, 변환, 로드
    - AWS Lambda를 사용하여 DynamoDB 테이블의 모든 데이터 변경에 대한 데이터 검증, 필터링, 정렬 또는 기타 변환 작업을 수행하고 변환된 데이터를 다른 데이터 스토어로 로드할 수 있다.

  • IoT 백엔드
    - AWS Lambda 및 Amazon Kinesis를 사용하여 사물 인터넷(IoT) 디바이스 데이터 텔레메트리 및 분석을 위한 백엔드를 구축할 수 있다. 

  • 모바일 백엔드
    - AWS Lambda 및 Amazon API Gateway를 사용하여 API 요청을 인증 및 처리하도록 백엔드를 구축할 수 있다.

  • 웹 애플리케이션
    - AWS Lambda를 다른 AWS 서비스와 결합하면, 확장성, 백업 또는 여러 데이터 센터 중복에 필요한 별도의 관리 작업 없이 개발자가 자동으로 확장 및 축소되고 여러 데이터 센터에 걸쳐 가용성이 높은 구성에서 실행되는 강력한 웹 애플리케이션을 구축할 수 있다.

 

Lambda 사용 방법 맛보기

자세한 사용 방법은 다음 주에 알아보기로 했지만 맛보기로 간단한 사용 방법 다이아그램 하나 투척하고 마무리 하겠습니다~

 

출처 : https://aws.amazon.com/ko/lambda/