最近開催されたIgniteで、MicrosoftはAzure Chaos Studioのパブリックプレビューを発表した。これは、フルマネージドの実験サービスだ。カオスエンジニアリングをコントロールして障害を追跡、測定、軽減されるように顧客をサポートし、クラウドアプリケーションの復元力を向上させることが目的である。
Azure Chaos Studioを使うと、ユーザはカオスエンジニアリングを導入できる。これは、アプリケーションに対してフォールトインジェクションをコントロールして実験を行う方法だ。アプリケーションの領域の停止やメモリリークなど実際のインシデントに対する復元力を測定、理解、改善する助けとなる。さらに、最近のInfoQ DevOpsとCloud Trendsレポートによると、カオスエンジニアリングの採用が増えている。カオスエンジニアリングは急速に、実運用時の停止によってテストされる前に複雑なシステムをテストするための標準的な方法になりつつある。
Azure Chaos Studioを使うと、顧客は、実際の停止をシミュレートする障害をモデル化して意図的に導入し、それらのシナリオでアプリケーションがどのように実行されるかを検証できる。社内では、同社は現在顧客に提供されているサービスと同じ機能を使用している。たとえば、Microsoft Tech Communityブログの投稿で、Microsoft Azure Chaos StudioのプログラムマネージャーであるJohn Engel-Kemnetz氏は、このサービスの必要性を指摘している。
カスタマーエクスペリエンスに悪影響を与え、あなたのビジネスやミッションに対する信頼を損なうような中断に対処し回復できるようなアプリケーション能力の向上が重要です。これは、Azureでホストされる新しいアプリケーションを開発する場合、既存のアプリケーションをAzureに移行する場合、既にAzureで実行されているアプリケーションを運用する場合のいずれの場合でもです。これらの悪影響を回避するには、依存するサービスによって引き起こされる可能性のある中断、サービス自体の障害によって引き起こされる中断、またはインシデント対応ツールとプロセスの中断にさえ、アプリケーションが効果的に応答するかを検証する必要があります。
出典: https://docs.microsoft.com/en-us/azure/chaos-studio/chaos-studio-tutorial-service-direct
MicrosoftのAzure Chaos Studioは、カオスエンジニアリングの原則をサポートする初のツールではない。2012年、NetflixのエンジニアリングチームはChaos Monkeyをリリースしている。これは、後に登場したGremlin、Chaos Mesh、Litmus、ChaosBladeなどの他のツールに次いで広く使用されているツールだ。また、AWSは、パブリッククラウドの領域でMicrosoftの競合企業だが、Azure Chaos Studioに似たAmazon Fault Injectorを備えたサービスを開始した。
Microsoft Teams Platformの開発者でMicrosoft MVPのTom Morgan氏は、彼のブログ投稿で、Azure上のサービスとしてカオスエンジニアリングを使うことの利点について次のように述べている。
これは、Teams Appsを含む、どのAzureベースのソリューションにとってもすばらしいことだと思っています。多くのTeams Devソリューションでは、連携する必要のあるWebアプリやテーブルストレージなどの複数のAzureテクノロジーが使われています。さらに、コンポーネントの中断は予期しない影響を引き起こすことが多いため、理想的とは言えない状況でソリューションがどのように機能するかをテストすることで、より回復力のあるソリューションとなり、実運用環境で発生する問題に対処できるようになります。
Azure Chaos Studioは一時的に無料で提供される。2022年4月4日から、価格の詳細ページに従って、実験の実行をベースとする従量課金制となる。サービスの詳細とガイダンスは、ドキュメントランディングページで確認できる。