AWS Lambda

sylee1245·2023년 8월 9일
0

AWS

목록 보기
3/3

AWS Lambda

AWS Lambda는 서버를 관리하지 않고 코드를 실행할 수 있는 AWS에서 제공하는 서버리스 컴퓨팅 서비스.
여기서 서버리스란 서버가 없는 것이 아니라 서버를 관리할 필요가 없다는것! 즉, 개발자는 서버를 관리할 필요 없이 애플리케이션을 빌드하고 실행할 수 있도록 함수를 작성하기만 하면된다! So Coooool😎
AWS를 사용하면서 제일 중요한건 비용인데, Lambda는 함수를 호출(사용)한 만큼만 비용을 지불한다. 프리티어의 경우 기본적으로 월별 1백만 건의 무료 요청과 월별 400,000GB-초의 컴퓨팅 시간을 제공한다. (AWS Lambda 요금)
테스트 코드는 맘놓고 사용해봐도 될 것 같다.🤔

사용 예시

  • 특정 이벤트(트리거)가 발생할때만 코드를 실행시키고 싶은 경우
  • 특정 주기로 코드를 실행시키고 싶은 경우
  • 별도의 서버 없이 코드를 실행시키고 싶은 경우

장단점

장점

  • 인프라 설계에 대한 부담을 줄일 수 있음
    • 트래픽이 증가하면 알아서 자동으로 오토스케일링 되므로 리소스 관리 신경쓸 필요 없음
  • 개발 및 배포 소요시간이 짧음
    • API 연동이 쉽고, 배포 방법도 함수만 수정해 주면 됨
  • 확장성이 뛰어남
  • 함수가 호출되는 만큼만 비용이 부과됨

단점

  • 실행환경 스펙에 제한이 있음

    • 코드 용량이 250MB(압축시 50MB) 제한
    • 함수 최대 실행시간이 15분 으로 제한
    • 각 리전별로 동시에 실행할 수 있는 람다 함수의 개수를 최대 1000개로 제한 (동시 request 수가 1000개를 넘어가게 되면 람다가 수행하지 않는 문제점이 발생할 수 도 있음)
  • 요청이 들어올때마다 새로운 컨테이너를 띄워 처리

    • ColdStart. 오랫동안 사용하지 않고 있을 경우 컴퓨팅 파워를 꺼두고 있기 때문에 최초요청시 딜레이가 발생함. EC2(Warm start)에 비해 상대적으로 느림

    • 상태를 저장하지 않음. 이전 이벤트의 실행 컨텍스트에 대한 엑세스 권한이 없다보니, db connection 을 유지하는 기능은 수행하지 못함.

  • 함수가 호출되는 만큼 비용이 부과되기 때문에 트래픽이 많은 서비스를 Lambda로 처리하는 경우 많은 비용이 청구될 수 있음


🔗참고

profile
✍ 끄적끄적

1개의 댓글

comment-user-thumbnail
2023년 8월 9일

많은 것을 배웠습니다, 감사합니다.

답글 달기