BLOG
[SVS320] AWS Lambda SnapStart: Fast cold starts for your Java functions
연사 : Mark Sailes, Specialist Solutions Architect, Serverless, AWS 일시: 2022.11.29 17:00 ~ 18:00 장소: Level 1 North, South Pacific F, Mandalay Bay 작성자 : 메가존클라우드 Enterprise Managed Svc Group 이지윤 매니저 |
함수 코드를 변경하지 않고도 Java 기반 함수의 콜드 스타트를 최대 10배 더 빠르게 만들어주는 AWS SnapStart 기능에 대한 소개 세션 이었습니다.
자바의 경우 함수를 초기화할 때 아래 항목들의 처리가 필요합니다.
- Class loading
- Runtime dependency injection(의존성 주입)
- Just-in-time compliation
위와 같은 초기화 시 발생하는 이슈를 해결하기 위해 추가 라이브러리 또는 프레임워크를 사용하거나 메모리를 증설하는 방식 등을 사용하고 있습니다.
AWS Lambda SnapStart를 사용하면 대기 시간에 민감한 Java 애플리케이션에 대해 추가 비용 없이 코드 변경을 최소화하거나 변경하지 않고 최대 10배 더 빠른 함수 시작이 가능합니다.
SnapStart를 사용하면 함수 버전을 게시할 때 미리 함수 초기화가 수행됩니다. Lambda는 초기화된 실행 환경의 메모리 및 디스크 상태에 대한
Firecracker microVM 스냅샷을 생성 및 암호화하고, 짧은 대기 시간 액세스를 위해 캐시 합니다. 애플리케이션이 시작되고 확장되어 트래픽을 처리할 때,
Lambda는 처음부터 초기화하는 대신 캐시 된 스냅샷에서 새로운 실행 환경을 재개하여 시작 성능을 향상시킵니다.
Lambda SnapStart 기능이 복원력 갖추기 위해 고려해야 사항은 다음과 같습니다.
- Network connections : 코드가 초기화 단계에서 네트워크 서비스에 대한 장기 연결을 생성하고 호출 단계에서 이를 사용하는 경우 필요한 경우 연결을 다시 설정할 수 있는지 확인해야 합니다.
- Ephemeral data : 코드가 초기화 단계에서 참조 정보를 다운로드하거나 계산하는 경우 빠른 검사를 수행하여 캐싱 기간 동안 오래되지 않았는지 확인해야 합니다.
- Uniqueness : SnapStart를 사용할 때 고유성을 유지하기 위해 초기화 중에 생성되었던 모든 고유한 콘텐츠는 초기화 후에 생성되어야 합니다.
AWS Lambda SnapStart 활성화는 Lambda 함수의 일반 구성 탭에서 설정 가능하며, 코드의 수정도 필요합니다.
Lambda SnapStart 사용 시 얼마만큼의 지연시간이 감소하는지 위와 같이 테스트 환경을 구성하고 초당 100개의 요청을 10분간 전송하는 방법으로 테스트하였습니다.
실제로 Lambda SnapStart를 사용 시 약 10배 정도 빠른 시작이 가능했습니다.
자바로 람다 함수 또는 애플리케이션을 개발하여 사용 중인 고객사에 도입을 검토할 만한 기능으로 보이며, 특정 언어에 국한되지 않고 지원하는 언어가 지속적으로 추가된다면
좀 더 유용한 기능으로 자리잡을 것 같다고 생각됩니다.
👉본 세션 내용 관련하여 추가 문의나 요청 사항이 있으시다면? 우측 링크로 이동하셔서 편하게 의견을 남겨주세요! https://www.megazone.com/contact/
👉 다른 세션 후기글이 궁금하시다면? 아래 링크를 통해 확인해 주세요!
🔷Keynote Report #1. Day1 Monday Night Live with Peter DeSantis 확인하기
🔷Keynote Report #2. Day2 Adam Selipsky Keynote 확인하기
🔷Keynote Report #3. Day3 Swami Sivasubramanian Keynote 확인하기
🔷Keynote Report #4. Day4 Dr.Werner Vogels Keynote 확인하기
✅3. 현대화 (Modernization)세션 후기 확인하기
✅4. SAP 세션 후기 확인하기
✅5. 쿠버네티스 세션 후기 확인하기
✅7. 분석 세션 후기 확인하기
✅8. AI/ML 세션 후기 확인하기
✅10. 현대화 (Modernization) 2 세션 후기 확인하기
✅11. 현대화 (Modernization) 3 세션 후기 확인하기
✅13. 네트워킹 세션 후기 확인하기
✅14. 마이그레이션3 세션 후기 확인하기
✅16. 보안 세션 후기 확인하기
✅17. SAP 2 세션 후기 확인하기
✅18. 마이그레이션4 세션 후기 확인하기
✅19. DevOps 세션 후기 확인하기
✅20. 신규업데이트 세션 후기 확인하기
✅21. 스토리지 세션 후기 확인하기
✅22. Amazon 세션 후기 확인하기
✅23. 신규업데이트2 후기 확인하기
✅24. 거버넌스 후기 확인하기
✅25. 거버넌스2 후기 확인하기
✅26. DevOps 2 후기 확인하기
✅27. AI/ML 3 세션 후기 확인하기
✅28. 분석2 세션 후기 확인하기
✅29. 쿠버네티스2 세션 후기 확인하기
✅30. 분석 3 세션 후기 확인하기
✅31. 서버리스 컴퓨팅 세션 후기 확인하기
✅32. 신규 업데이트 3 세션 후기 확인하기
✅33. 신규 업데이트 4 세션 후기 확인하기
✅34. 보안 2 세션 후기 확인하기
✅35. 분석 4 세션 후기 확인하기
✅36. 모니터링 세션 후기 확인하기
✅37. AI/ML 4 세션 후기 확인하기
✅38. 운영 세션 후기 확인하기
✅39. 운영 2 세션 후기 확인하기
✅40. 데이터베이스 세션 후기 확인하기
✅41. 데이터베이스 2 세션 후기 확인하기
✅42. 보안 3 세션 후기 확인하기
✅43. SaaS 세션 후기 확인하기
✅44. 컴퓨팅 세션 후기 확인하기
✅45. 신규 업데이트 : AWS SnapStart 세션 후기 확인하기
✅46. 신규 업데이트 : 네트워크 최적화 인스턴스와 최신 Amazon EC2 네트워킹 세션 후기 확인하기
✅47. 아키텍처 세션 후기 확인하기
✅48. SAP 3 세션 후기 확인하기
✅49. 고객사례 세션 후기
✅50. SAP 4 세션 후기 확인하기
✅51. 데이터베이스, 마이그레이션 세션 후기 확인하기
✅52. 보안 4 세션 후기 확인하기
✅53. 보안 규정 세션 후기 확인하기
✅54. 데이터베이스 3 세션 후기 확인하기
✅55. 신규 업데이트 5 세션 후기 확인하기
✅56 .DevOps 3 세션 후기 확인하기
✅57. 분석 5 세션 후기 확인하기
✅58. AI/ML 5 세션 후기 확인하기
✅59. DevOps 4 세션 후기 확인하기
✅60. 신규업데이트 6 세션 후기 확인하기
✅61. 분석 6 세션 후기 확인하기
✅62. 데이터 보호 세션 후기 확인하기
✅63. AI/ML 6 세션 후기 확인하기
✅64. DevOps 5 세션 후기 확인하기
✅65. 신규업데이트 7 세션 후기 확인하기
✅66. 신규 업데이트 8 세션 후기 확인하기