AWSがLambdaサーバーレスプラットフォーム向け拡張APIを開発:監視やアラートに便利

Table of Contents

AWSがLambdaサーバーレスプラットフォーム向け拡張APIを開発:監視やアラートに便利

クラウド コンピューティングの巨人である Amazon Web Services は、Lambda サーバーレス プラットフォーム用の Extensions API をリリースしました。これにより開発者は、環境の起動時、関数の呼び出し時、シャットダウン時などのライフサイクル イベントを処理するカスタム コードを記述できるようになります。

AWS Lambdaは関数をオンデマンドで実行します。関数が呼び出されると実行環境が起動し、Java、Node.js、Python、.NET、Rubyの各種バージョン、またはカスタムランタイムなど、様々なランタイムを選択できます。関数が頻繁に呼び出されている間は実行環境は稼働し続け、一定期間使用されない場合は自動的にシャットダウンします。

Extensions API を使用すると、開発者は Lambda ライフサイクルの 3 つのフェーズ (環境が起動するときの init フェーズ、関数が実行されるときの invoke フェーズ、環境が閉じられるときの shutdown フェーズ) のコードを記述できます。

拡張機能は、コードのインストルメントなどの目的で実行ランタイム上で内部的に実行することも、シークレットを取得して実行環境にキャッシュするなどの目的でコンパニオン プロセスとして外部的に実行することもできます。

Lambda の顧客であり、eコマース ツールのプロバイダーである Square は、ランタイムが開始する前にシークレットを取得することで関数の起動時間を改善する Go の拡張機能を作成するために新しい API をどのように使用したかを説明し、コールド スタート時間が約 30 ~ 40 パーセント短縮されたと報告しました。

Lambda拡張機能は、ランタイム自体のコードと並列プロセスとして実行できます。

Lambda拡張機能は、ランタイム自体のコードと並列プロセスとして実行できます。

拡張機能はLambda関数の実行を監視するのに最適で、監視およびアラートサービスを提供するAppDynamics、DataDog、New Relic、Splunkといったお馴染みの企業が、自社ツールとの統合に拡張機能を迅速に活用しています。新たに公開されたAPIにより、開発者はカスタムコードを使用してLambdaのデプロイメントを最適化および監視できるようになります。拡張機能は、関数の依存関係をパッケージ化するLambdaレイヤーを使用してデプロイされます。料金モデルはLambda自体と同じで、処理されるリクエスト数と消費されたコンピューティング時間の組み合わせに基づいています。

また、AWSはCloudWatch独自のモニタリングサービスであるCloudWatch Lambda Insightsのプレビュー版も公開しました。この多機能ビューは、「メモリリークや新機能バージョンによるパフォーマンスの変化といった問題を可視化します」。CloudWatchユーザーは、AWSコンソールで「拡張モニタリング」と呼ばれるワンクリック操作、またはコマンドラインインターフェース(CLI)などのツールからLambda Insightsを有効化できます。

Extensions APIは、Lambdaをより管理しやすく、より包括的なものにするためのもう1つの要素です。この新機能を活用しているもう一つの企業である監視プロバイダーのThundraは、「Extensions APIは、サーバーレスの限界に不満を抱いている企業がそれらの課題を克服するのに役立つだろう」と述べています。

一部の専門家によると、サーバーレスは「ソフトウェアを展開するための最良の抽象化」であり、Lambda が最も人気のあるオプションですが、Microsoft には Azure Functions があり、Google には Cloud Functions があります。®

Discover More