継続的な検証パイプラインを作成する
ロード テストとカオス実験は手動で実行できますが、自動化されたプロセスを使用することをお勧めします。 これを行うには、両方の検証テストを継続的インテグレーションと継続的デリバリー (CI/CD) パイプラインに統合し、結果を事前定義されたベースラインと自動的に比較します。
このユニットでは、CI/CD パイプラインを使用して継続的な検証プロセスを自動化する方法について学習します。
検証テストを自動化することの利点
この手法を採用することで、このアクティビティに関連する参入障壁と労力が軽減されます。 開発者と運用担当者は、この手法を各リリースまたはメジャー変更の一環として使用できます。それにより、テスト実行の品質と一貫性が向上します。
ロード テストとカオス実験を同時に実行すると、実際のトラフィックをシミュレートする環境でシステムの動作を観察するのに役立ちます。 この目的は、障害を予測し、システムの中断が発生しないようにすることです。
ロード テストを実行する際は、特定の状況に合わせてベースラインを調整することを検討してください。 たとえば、特定のコンポーネントが失敗しても、テストに合格することを期待している場合は、応答時間が長くなるのを受け入れます。
自動化されたパイプラインを設定する
CI/CD パイプラインを作成するには、Azure Pipelines、GitHub Actions、または任意の CI/CD ツールを使用できます。 この画像は、Azure DevOps のパイプラインのエンド ツー エンドのステージを示しています。
パイプラインで、Azure Resource Manager テンプレート、Bicep、Terraform などのツールを使用して、Azure Load Testing サービスと Azure Chaos Studio サービスをコードとしてのインフラストラクチャ (IaC) として定義します。 Azure Load Testing には、Azure Pipelines と GitHub Actions でロード テスト サービスと対話し、テストを作成および調整するためのファースト パーティのタスクが用意されています。
挿入された障害の影響を適切に表示するには、障害を挿入する前にロード テストを確実に開始しておきます。 カオス実験が完了した後も、しばらくの間、テストを実行し続けます。
失敗したロード テストを分析して、失敗してもベースラインは正確であるかどうか、または調整する必要があるかどうかを確認します。
デモ: 自動継続検証
このビデオでは、Azure LOAD Testing と Azure Chaos Studio を Azure CI/CD パイプラインに統合する方法について説明します。