[速報]AWS Lambdaのコールドスタートを劇的に速くする「AWS Lambda SnapStart」発表。AWS re:Invent 2022

2022年11月29日

Amazon Web Services(AWS)の年次イベント「AWS re:Invent 2022」が米ラスベガスで開幕しました。

毎年恒例となった月曜日夜に行われるイベント最初の大型セッション「Monday Night Live」には、AWS Utility Computing担当SVP Peter DeSantis氏が登壇。

fig

AWSのインフラに関わる最新情報の1つとして、AWS Lambdaのコールドスタートを劇的に速くする「AWS Lambda SnapStart」を発表しました

fig

AWS Lambda SnapStartは今日から追加費用なしで利用可能。

コールドスタートを劇的に速くする

AWS Lambdaはいわゆるサーバレスコンピューティングの基盤を提供するサービスです。

あらかじめAWS Lambdaに登録した関数が何らかのイベントをトリガーとして起動され、関数の終了とともにそのインスタンスも終了する、という仕組みを備えています。

AWS Lambdaでは、起動した関数の内容がキャッシュされている状態で再度関数を起動する場合などウォームスタートでは迅速に関数が実行されますが、まっさらの状態で関数が起動されるコールドスタートの場合には関数の起動時間がかかってしまうという課題がありました。

DeSantis氏はコールドスタートのプロセスの中でもっとも時間がかかっているのが初期化だと説明します。

fig

「コールドスタートでは、マネージドランタイムとしてまず新しいMicroVMを起動する。すべての言語ランタイムがプリインストールされ初期化される。最適化されたFirecrackerではこれはすぐに終わる。

次に顧客の関数をランタイム環境で実行するための変換が行われる。これにかかる時間は言語や関数の大きさによるが、コールドスタート全体からすれば非常に小さな割合でしかない。

関数がロードされると初期化(Initialization)が行われる。これは実行する言語によって行われる非常に時間のかかる処理だ。Javaを例に挙げると3つの大きなパートに分かれる。JavaVMを起動し、クラスのコードをロードして圧縮を解き、初期化コードを実行する。これが時間のかかる処理の典型例だ」(DeSantis氏)

しかし興味深いことに、この初期化が終わると同じ状態に落ち着くとDeSantis氏は指摘。「この初期化が終わった状態のスナップショットをとるとどうなるか、考えてみよう」(DeSantis氏)

「初期化のプロセス全体を省略することができるようになるではないか」(DeSantis氏)

DeSantis氏はこれによってコールドスタートが劇的に速くなると説明。これを利用した「AWS Lambda SnapStart」を発表しました

AWS Lambda SnapStartは、コールドスタートにかかる時間を最大90%削減するとのことです。

fig

AWSはスナップショットをセーフにするために行ったランタイムやコモンライブラリなどへの変更を、各オープンソースコミュニティにコントリビュートしたことも合わせて発表しました。

fig

AWS Lambda SnapStartを紹介したAWSのブログ 「New – Accelerate Your Lambda Functions with Lambda SnapStart」によると、JavaVMはAWSによるCorrettoを利用しているとのことです。AWS自身がJavaディストリビューションを提供していることが、ここで生かされたようですね。

We are launching with support for Java functions that make use of the Corretto (java11) runtime, and expect to see Lambda SnapStart put to use right away for applications that make use of Spring Boot, Quarkus, Micronaut, and other Java frameworks.

今回、Corretto(java11)ランタイムを利用するJava関数のサポートを開始します。これでSpring Boot、Quarkus、MicronautなどのJavaフレームワークを利用したアプリケーションで、すぐにLambda SnapStartが活用されることが期待されます。

AWS re:Invent 2022

Day1:Monday Night Live

Day2:Keynote by Adam Selipsky

Day3:Keynote by Swami Sivasubramanian

Day4:Keynote by Dr. Werner Vogels

あわせて読みたい

AWS クラウド




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本