本日 Microsoft は、Azure Load Testing のプレビューを発表します。Azure Load Testing はフル マネージドの Azure サービスで、開発者やテスト実施者はカスタムの Apache JMeter スクリプトを使用して大規模な負荷を生成して実用的な分析情報を得ることができ、パフォーマンスのボトルネックを大規模に捕捉して修正することができます。
アプリケーションのパフォーマンスと回復性は、かつてないほど重要になっています。さらに多くのビジネスやサービスがデジタル化に向かうにつれ、停止やダウンタイムによる収益の損失や顧客の不満の影響は大きくなっています。Azure Load Testing は、アプリの品質、パフォーマンス、スケーラビリティを検証する上でより大きな役割を担うテスト担当者や開発者を支援するサービスです。
大規模なロード テストに必要なインフラストラクチャの作成と管理は時間がかかり、複雑なものになります。Azure Load Testing を使用すると、お客様は複雑なインフラストラクチャを管理することなく、大規模な負荷を生成することができます。また、Azure 特有の統合機能や分析情報が含まれているため、お客様の Azure アプリケーションを大規模に最適化することができます。
この Azure Load Testing クイック スタートでは最初のロード テストを作成して実行する方法が説明されています。
図 1:Azure Load Testing のアーキテクチャ概要。
ストレス下でのアプリケーションの動作を把握する
パフォーマンスの問題は、アプリケーションに負荷がかかるまで発見されないことがよくあります。Microsoft は、開発チームがストレス下でアプリケーションがどのように動作するかについての分析情報を把握できるようにしたいと考えています。お客様は Azure portal で大規模なロード テストを開始し、テストの実行中にクライアント側とサーバー側のメトリクスのライブ更新情報を見ることができます。
Azure 固有の分析情報は、さまざまな負荷のシナリオがお客様のアプリケーションのすべての部分にどのような影響を与えるかを理解するのに役立ちます。また、異なるロード テスト間でテスト結果を比較して、時間経過による動作の変化を理解することができます。
Azure Load Testing は Application 分析情報や Container 分析情報などを含む Azure Monitor と統合されており、Azure サービスからの詳細情報を取得します。サービスの種類に応じて、異なるメトリクスが利用できます。たとえば、データベースの読み込み回数、HTTP レスポンスの種類、コンテナーのリソース消費量などです。クライアント側とサーバー側の両方のメトリクスを、Azure Load Testing ダッシュボードで利用できます。
図 2:Load Testing ダッシュボードで、クライアントとサーバーのパフォーマンスを把握することができます。
ロード テストを CI/CD パイプラインに組み込む
Azure Load Testing は、お客様の継続的インテグレーションと継続的デリバリー (CI/CD) のワークフローにロード テストを統合できるように設計されており、運用で問題が発生する前にパフォーマンスの問題を見つけることができます。GitHub Actions および Azure Pipelines との統合を使用することで、お客様はパフォーマンスのベースラインを確立し、明確な合格または不合格の基準を設定して、すべてのビルドでパフォーマンスの低減を捕捉することができます。
Azure Load Testing は、特定のエラー条件に対応して自動ロード テストを自動的に中止します。この動作は、たとえばエンドポイントの URL が正しく設定されていないためにテストが失敗してコストが発生することを防ぐのに役立ちます。これは、自動テストを有効にするためには特に重要です。
Azure Load Testing を開始する
Azure portal で Azure Load Testing リソースを作成することで、Azure Load Testing の使用を開始することができます。プレビュー ドキュメントを確認して、最初のロード テストを作成してみましょう。
価格の詳細については、Azure Load Testing の価格ページをご覧ください。
フィードバック フォーラムでお客様のご意見をお待ちしています。