brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Feb 02. 2023

26탄-10. 빨라진 Lambda SnapStart

<1> 람다?

<2> 람다 한계?

<3> 람다의 생명 주기

<4> Lambda  SnapStart  활성화



<1> 람다?


1

서버리스 컴퓨팅 서비스


2

이미지---------  S3 -------  이벤트발생에 대한 트리거로 람다 실행-----(사이즈 변환)--------  S3



<2>  람다 한계?


메모리 최대 10GB   ,   메모리에 따라  CPU도 지정되어 할당됨.

최대 실행시간 15분까지만 가능

Cold Start로 시간이 걸림.  실행하지 않다가 실행하면 시간이 조금 걸림.

Stateless로 이전 상태를 관리하지 않음. 따라서  디비커넥션 등으로는 못사용함.

동시 실행함수 최대 1000개로 제한됨.



<3>  람다의 생명 주기


1

Cold Start 3단계?

람다 핸들러가 코드 다운로드

새로운 환경 생성 - 메모리, 런타임

핸들러 바깥은 전역 코드 실행


2

람다 핸들러의 코드를 실행하는 단계


3

자바가 콜드스타트 시간이  많이 걸리는 편이다.


4

Cold Start  해결 방안?

Lambda  메모리 확장.

Lambda   컨테이너 재사용하기. (람다를 일정시간마다 실행시키면 웜상태이므로 빨라짐)

Provisioned Concurrency  -  프로비저닝 된  동시성 기능,  기능 활성화 하면 설정한 수만큼  미리 람다를 초기화시켜 두고 대기시켜 두어 웜 상태를 유지한다.


위 해결방안 문제는 추가 비용 발생!!!!



<4> Lambda  SnapStart  활성화


1

SnapStart   활성화하면 최대 10대 빠르게 시작 지원.

추가 비용 없음.

JAVE 11 사용하는  JAVE 지원.

활성화는 SnapStart 정보를  PublishedVersions로 변경해야 한다.

활성화 후 테스트  시간 확인?    Restore duration  시간이 줄어든 것을 확인한다.


2

캐싱해 둔 스냅 셨은 14일 동안 사용하지 않으면 삭제됨.

요금은 추가 비용이 없다.

그레비톤 2에서 안됨.

범용 Lambda함수는 SnapStart 사용 권장.

Latency에 매우 민감한 함수는 Provisioned Concurrency 사용 권장.


3

2023년 2월 현재 일부 리전만 지원.

서울리전 미지원



다음 과정

https://brunch.co.kr/@topasvga/2993


감사합니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari