LambdaSnapStart使ってみた
by
Daiki_Yamaguchi
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Lambda SnapStart 使ってみた 2022年12月15日 セゾン情報システムズ 山口 大輝
Slide 2
Slide 2 text
自己紹介 • 山口 大輝 • 株式会社セゾン情報システムズ • インフラエンジニア(2年目) • 前職では3年ほどカスタマーエンジニアを経験
Slide 3
Slide 3 text
今日伝えたいこと Lambda SnapStartって何ができるのか
Slide 4
Slide 4 text
アジェンダ • Lambda SnapStartって何? • 何ができるの? • 検証してみた • 結果 • できないこと、できない環境/サービス • 注意点 • まとめ
Slide 5
Slide 5 text
Lambda SnapStartって何? • re:Invent2022で発表された新機能 私が撮ったのはブレブレ…
Slide 6
Slide 6 text
Lambda SnapStartって何? ライフサイクルの初期化部分を省略できる! 起動パフォーマンスを最大 10 倍向上! しかも追加課金なし!
Slide 7
Slide 7 text
何ができるの? ~Lambdaのライフサイクル~ init Invoke shutdown ・実行環境の作成 →コールドスタート ・フリーズ解除 →ウォームスタート ・拡張機能とランタイムを初期化 ・関数の初期化コード を実行 ・関数の実行 ・呼び出しを想定した 実行環境のフリーズ ・実行環境の削除
Slide 8
Slide 8 text
何ができるの? ~Lambda SnapStartのライフサイクル~ 事前にinitし、 SnapShot作成 Invoke Shutdown Restore 初回のみ ・SnapShotから環境の復元 ・関数の実行 ・呼び出しを想定した 実行環境のフリーズ ・実行環境の削除
Slide 9
Slide 9 text
検証してみた 関数:AWS Labsリポジトリ Spring Boot 2のサンプル 内容:SnapStartの設定有無でinitの時間が変化するか 方法:Lambdaへ100並列、100回のリクエストを送る
Slide 10
Slide 10 text
検証してみた ~結果~ SnapStart未適用 SnapStart適用 約100msの短縮!
Slide 11
Slide 11 text
できないこと、できない環境/サービス • プロビジョニングされた同時実行 • arm64 アーキテクチャ • Lambda 拡張機能 API • Amazon Elastic File System (Amazon EFS) • 512MBを超えるエフェメラル(一時)ストレージ • Java 11以外のランタイム
Slide 12
Slide 12 text
注意点 • スナップショットは以下の場合削除される。 • 関数または関数バージョンを削除したとき。 • 14日間の関数バージョンの呼び出しがないとき。 (14日後に呼び出された場合その時点で再作成される。)
Slide 13
Slide 13 text
まとめ initフェーズが短縮できることで Lambda関数が早く実行できる!