어 나 갱수.

[AWS] 람다(Lambda)는 언제 사용하나요 ? 🤨 본문

AWS

[AWS] 람다(Lambda)는 언제 사용하나요 ? 🤨

김경수 2024. 2. 27. 10:45
728x90

AWS 람다는 이벤트에 대한 응답으로 코드를 실행하고 자동으로 기본 컴퓨팅 리소스를 관리하는 서버리스 컴퓨팅 서비스입니다.

 

서버리스란 개발자가 서버를 관리할 필요 없이 애플리케이션을 빌드, 실행할 수 있는 클라우드 네이티브 개발 모델입니다.

AWS에서 인프라에 대한 프로비저닝, 유지, 관리 등을 해주기 때문에 개발자는 로직 짜는데 더 집중할 수 있습니다.

 

간단하게 말하면 AWS 람다는 개발자가 서버를 관리할 필요 없이 코드를 실행하게 해주는 서비스로서 모든 유형의 AWS서비스에 대해 특별한 관리 없이 사용할 수 있다.

사용자는 람다에 원하는 함수를 작성하고, 필요할 때 그 함수를 호출하도록 구현해 놓고 사용할 수 있다.

 

이 람다함수는 다른 AWS 서비스와 연동해서 사용할 수 있습니다.

예를 들어 이미지 s3에 확장자가 mp4인 파일을 읽어오면, 람다함수를 통해 hls확장자로 트리거하도록 설정하도록 람다함수를 사용할 수 있습니다.

 

Lambda 장점

1. 비용절감

함수가 계속 호출되는 것이 아닌 필요할때만(요청했을때)만 함수가 호출되어 처리한다는 점에서 항상 서버가 켜져있지 않아도 되므로 비용을 절감할 수 있다.

 

2. 인프라 운영 부담 절감

개발자가 서버의 대한 관리를 할 필요 없이 AWS에서 알아서 해주기 때문에 개발자는 인프라에 대한 부담을 덜 수 있다.

 

3. 언제 사용하면 좋을까 ?

코드를 계속 실행시키는 것이 아니라, 필요할 때만 요청해서 사용할 때 람다함수를 사용하면 유용하다.

  • 서버를 띄우지 않고 간단한 코드를 실행시키고 싶을 때
  • 특정 기간 특정 주기로 코드를 실행시키는 경우
  • 트리거가 실행될 때만 코드를 실행시키고 싶은 경우

Lambda 단점

1. 리소스 제한

람다는 메모리 (최대 10GB), 처리시간 (최대 900초, 15분)으로 제한되어 있다.

한 번의 함수가 호출될 때 그렇게 많은 저장공간과 많은 처리시간을 기대할 수 없다는 점입니다.

직접 서버를 만들어서 서버를 돌리는 것보다는 낮은 스펙을 가지고 있습니다.

 

2. Stateless 

람다는 함수가 호출되면 새로운 컨테이너를 띄우는 방식이기 때문에 별도의 상태를 저장하지 않습니다.

람다 함수가 이벤트에 의해 트리거 될 때마다 새로운 환경에서 호출된다는 의미입니다.

 

3. 동시성 제한

람다함수에서는 동시성 제한이 있습니다. 동시성 제한이란 특정 시간에 발생하는 요청의 수를 제한하겠다는 말입니다.

람다는 각 리전별로 동시에 실행할 수 있는 람다의 수를 최대 1000개로 제한하고 있습니다.

1000개가 넘어가는 요청수를 넘어가게 되면 람다가 수행되지 않고 대기하는 문제점이 발생할 수 있습니다.

728x90

'AWS' 카테고리의 다른 글

[AWS] RDS(Relational Database Service)란? 🫠  (0) 2023.08.30
[AWS] ECR 이란? 🫢  (0) 2023.08.27