SplunkはAWSとパートナーを組み、新しいAWS Service Readyプログラム「Lambda Ready」に参加します。AWS Lambda Readyの指定を受けることで、Splunkは、サーバーレスアプリケーションを開発、管理、実行するための検証済みのソリューションをお客様に提供できます。Splunkは今後、AWSパートナーネットワーク(APN)の一員として、Lambda関数のオブザーバビリティ(可観測性)と監視に重点を置いた検証済みの統合と実績あるカスタマーサクセスを提供していきます。
企業はLambda関数を導入することで、新しい機能を迅速に提供し、顧客を重視しながらイノベーションを加速できます。サーバーレスアーキテクチャは以下のメリットをもたらします。
これらのメリットが、あらゆる業界でサーバーレステクノロジーの普及を後押ししています。ガートナー社の予測では、IaaSを導入している企業の90%が2021年までに本番環境でサーバーレスアプリケーションを利用すると見込まれています。また、CNCFの最新調査では、少なくとも41%の企業が現在サーバーレスアプリケーションを利用しています。
Lambdaは企業のソフトウェアイノベーションを加速させ、コストを抑制する一方、監視とオブザーバビリティに関する独自の課題をもたらします。
Lambda関数を呼び出すと、リクエストが新しいコンテナ環境で処理されます。関数が実行されない状態が一定時間続くか、同時リクエストの処理数が増えると、関数を実行するための新しい環境が自動的に起動されます。このとき、ランタイムとコードの初期化によって、一般的にコールドスタートと呼ばれる遅延が生じます。複数のLambda関数を1つのチェーンとして呼び出すとさらに遅延が生じ、結果としてユーザーエクスペリエンスが低下します。実際、Akamai社の調査では、Webサイトの読み込み時間が100ミリ秒遅くなるごとにコンバージョン率が7%下がる傾向があることが明らかになっています。Lambda関数の実行はミリ秒単位で課金されるため、これらの遅延に対処しないとAWSのコストは簡単に膨れ上がります。コストを抑制して円滑なユーザーエクスペリエンスを提供するには、遅延をリアルタイムで可視化することが欠かせません。
Splunkソリューションを導入すれば、DevOpsチームは、アプリケーション環境全体のパフォーマンス、利用状況、ボトルネックを簡単に把握できます。アプリケーションが100%サーバーレスであっても、サーバーレスと従来形式が混在していても、クラウドスタック全体をリアルタイムで監視できます。
すべてのサーバーレス関数の主要メトリクスを表示するにようにあらかじめ設定されたダッシュボードで、サーバーレスアーキテクチャのパフォーマンスを包括的に把握できます。検索、フィルタリング、並べ替え機能を使って、エラー、重大な遅延、コールドスタートが発生している関数の詳細をすばやく確認することもできます。使用率、場所、アカウント、ランタイム、リソース、その他のディメンションに基づいて、関数にタグを設定したり関数をグループ分けしたりすることもできます。
開発チームは、コールドスタートを避けるために、プロビジョニングされた同時実行機能を使用できます。関数の同時実行では、起動の遅延が一定である場合にトラフィックが瞬時に急増することがあります。同時実行の量と時間をプロビジョニングして設定すれば、この問題を回避できます。ただし、プロビジョニング分の料金が増すことになるため、プロビジョニングする同時実行数とスピルオーバーの割合を把握することが重要です。Splunkのダッシュボードでは、コールドスタート、同時実行、スロットル、スピルオーバーの状況を細かく確認して、プロビジョニングされていない関数を管理し、遅延を最適化してコストを削減できます。
上の図では、プロビジョニングされた同時実行で、スピルオーバーが高く、使用率が100%に達し、時間のかかるコールドスタートが発生しているため、数を増やして改善する余地があることがわかります。
SignalFx Microservices APMでは、サービス(サーバーレス関数、従来のアプリケーション、サードパーティのAPI、データベースの呼び出しなど)間のリアルタイムのデータ交換状況に基づいて自動的に作成されるサービスマップで、サービスとその依存関係を可視化できます。
トランザクションごとにトレースビューで詳細を確認することもできます。SignalFx Microservices APMでは、すべてのサービス間の各トランザクションがNoSampleによる完全忠実なトレーシングによって捕捉されるため、すべてのトレースを詳細に分析できます。
一般的な言語でコードを計測できるオープンソースのトレーシングライブラリや、一般的なフレームワークに対応した自動インストルメンテーションを利用することもできます。
CloudWatchでは調査できない詳細レベルで関数の呼び出しやエラーを追跡したい場合もあるでしょう。Splunkなら、SignalFxの呼び出しを追加する関数ラッパーを使用して、呼び出し回数、エラー件数、実行時間、コールドスタート回数を取得できます。CloudWatchでのLambdaメトリクスの取得間隔は標準で5分、最短でも1分ですが、このラッパーを使用すれば数秒間隔でリアルタイムのインサイトを取得できます。
現時点で、Node.js、Java、Python、Ruby、Golang、C#のLambdaラッパーが提供されています。SignalFxのリクエストハンドラーには、ラッパーをそのまま使用するものと、コードを手動で計測するものの2種類が用意されています。
ご利用のAWSリージョンでSignalFxがホストする言語固有のLambda Layersを使用すれば、関数のサイズを縮小し、依存関係の管理を効率化して、関数のアップグレードを簡素化することもできます。
さらにラッパーには、コードを計測して重要なカスタムメトリクス(ビジネスKPIなど)を取得するための簡単な仕組みも用意されています。これらのメトリクスを捕捉してSignalFxに送信するための数行のコードを関数に追加するだけで済み、パフォーマンスが低下する心配もありません。
AWSとパートナーを組むことは大変有益であり、このパートナーシップが両社のお客様のサーバーレス導入を加速させるものと期待しています。大規模かつ高度なユースケースで実績をあげ、多くの企業に信頼されているエンタープライズレベルのソリューションを導入すれば、オブザーバビリティに対する投資を将来の成功につなげることができます。サーバーレス監視機能は、SignalFx Infrastructure Monitoringで利用できます。無料トライアル版をご用意しておりますので、ぜひご利用ください。
このブログはこちらの英語ブログの翻訳です。
毎月1回、Splunkブログの更新情報をメールでお届けします。ぜひマンスリー ダイジェスト をこちらからご登録ください!
Splunkプラットフォームは、データを行動へとつなげる際に立ちはだかる障壁を取り除いて、オブザーバビリティチーム、IT運用チーム、セキュリティチームの能力を引き出し、組織のセキュリティ、レジリエンス(回復力)、イノベーションを強化します。
Splunkは、2003年に設立され、世界の21の地域で事業を展開し、7,500人以上の従業員が働くグローバル企業です。取得した特許数は1,020を超え、あらゆる環境間でデータを共有できるオープンで拡張性の高いプラットフォームを提供しています。Splunkプラットフォームを使用すれば、組織内のすべてのサービス間通信やビジネスプロセスをエンドツーエンドで可視化し、コンテキストに基づいて状況を把握できます。Splunkなら、強力なデータ基盤の構築が可能です。