このコースは、AWS Technical Field Communities (TFC) のメンバーによって開発されました。TFC は、AWS の技術エキスパートからなるコミュニティです。コースのコンテンツは、AWS の標準トレーニングカリキュラムを補完し、AWS に関する学習体験をさらに充実させることを目的としています。
Lambda の起動パフォーマンスを向上させる仕組みとして、2022 年に Java 関数向け AWS Lambda SnapStart の発表がされました。また、2024 年には対応言語が追加され、Python 関数と .NET 関数用の SnapStart のサポートを開始しました。現在では SnapStartは、Java, Python, .NET に対応しています。SnapStart は通常、関数コードを変更することなく、わずか 1 秒未満の起動パフォーマンスを提供できます。SnapStart を使用すると、リソースをプロビジョニングしたり、複雑なパフォーマンス最適化を実装したりすることなく、応答性が高くスケーラブルなアプリケーションを簡単にビルドできます。
起動時のレイテンシーの最大の原因は、コールドスタートと呼ばれる Lambda が関数の初期化に費やす時間であり、SnapStart はこれを改善するための仕組みです。具体例としては、AWS re:Invent 2024 の SnapStart のセッションでは、LangChain を使用した LLM アプリケーションでは 3.5 秒のコールドスタートが 500 ミリ秒に、DuckDB を使用したデータ分析では 8 秒が 1 秒に改善される例が紹介されました。
このコースでは、Python を用いて実際に手を動かしつつ、SnapStart について学んでいきます。
* このトレーニングは、builders.flash 内の記事「動かして学ぶ AWS Lambda SnapStart の仕組み ~ コールドスタートの起動パフォーマンス向上のための技術解説 ~」を基に E ラーニング化したものです。
- コースレベル: 中級
- 所要時間: 90 分
コースの概要
- SnapStart の仕組み
- ユースケース
- Python で SnapStart を試してみる
- Infrastructure as Code (IaC) での記述方法
- スナップショット取得前後の処理
- 考慮点
- そのほか
- まとめ