Amazon Web Services(AWS)が、AWS Lambda関数の立ち上げを、スナップショットによって高速化する「Lambda SnapStart」を発表した。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Amazon Web Services(AWS)は2022年10月28日、年次イベント「AWS re:Invent 2022」で、AWS Lambda関数の立ち上げを高速化する「Lambda SnapStart」を発表した。 まず、一部のJavaランタイムのサポートを開始した。
Lambdaでは、ランタイムをブートストラップして関数の静的なコードを実行(「initフェーズ」)した上で、関数を呼び出す。SnapStartはこのinitフェーズに時間がかかるケースに対応する機能だという。
initフェーズは多くの場合、ミリ秒以内に完了するが、発表ブログは例外を2つ挙げる。
まず、一部のJavaランタイムをSpring Boot、Quarkus、Micronaut などのフレームワークと組み合わせて使用する場合、依存性の注入やコートのコンパイルのため、ランタイムの初期化に10秒程度かかることがあるという。
また、静的コードによる機械学習モデルのダウンロード、参照データの事前演算、他のAWSサービスへのネットワーク接続確立などに時間を要することがあるとする。
特定のLambda関数に対してLambda SnapStartを有効化すると、その関数の新バージョンをパブリッシュした時点でinitフェーズを実行する。そしてメモリとディスクのスナップショットを取得し、キャッシングする。これによって関数の呼び出しと実行に要する時間が短縮し、安定化する。
Lambda SnapStartはまず、Amazon Corretto(Java 11)のランタイムをサポートする。
Copyright © ITmedia, Inc. All Rights Reserved.