1. 소개
서버리스 서비스인 람다의 <콜드 스타트>와 <웜 스타트>에 대한 이야기
2. 내용
- 이벤트가 호출되어 람다가 실행될 때 실행할 컨테이너가 준비되어 있지 않다면 실행 콘텍스트 설정 및 부트스트래핑 실행을 위한 <콜드 스타트> 과정을 거치게 된다.
- 실행이 완료되면 앞서 준비된 컨테이너는 일정 시간 대기한다.
- 일정 시간 대기 중에 호출이 발생하면 대기 중인 컨테이너가 바로 처리한다. 이것이 <웜 스타트>이다.
3. 시간 차이
람다에 올라간 개발 언어간에 시간 차이가 있는 것으로 알려져 있다. Python, Node.js는 빠르고 Java, C#은 느린 것으로 알려져 있음.
4. 해결방법
주기적으로(5분 이내) 람다를 호출하여 콜드 상태로 빠지지 않게 한다. 단 호출에 따른 비용이 발생할 수 있으니 주의해야 한다.
5. 주의사항
요청이 너무 많으면 내부 스케일링 때문에 콜드 상태로 빠질 수 있다.