クラウド サービスの障害モデリング


本記事は、Cyber Trust ブログ “Fault Modeling for Cloud Services (2012 10 11 日公開) を翻訳した記事です。

過去数週間に渡り、サービス停止の原因と関連する緩和策の戦略 (英語) および、クラウド サービス障害に備える重要性について投稿しました。今回は、障害によどみなく確実に対応するクラウド サービスを設計および構築するためにマイクロソフトが採用している方法の 1 つをご紹介します。この概念は目新しいものではありませんが、プロバイダーにとっても、お客様にとっても、一考の余地があるのではないかと考えています。

セキュリティ関連の問題を評価する際は、脅威のモデリングが設計プロセスの重要な手順になります。同様に、信頼できるクラウド サービスの設計プロセスでは障害のモデリングが重要です。障害のモデリングとは、サービスの相互作用点や依存関係を特定し、サービスを効率的に監視して問題を速やかに検出するためにはどこに投資すべきかをエンジニアリング チームが見極められるようにすることです。さらに、こうしたモデリングは、エンジニアリング チームを、障害に耐えるまたは障害を軽減するサービスの能力を高める効率的な対処メカニズムに導きます。

障害モデルの構築の主要なステップは次のとおりです。

  1. コンポーネントのインベントリを作成する。インベントリには、Web サーバーでホストされるユーザー インターフェイス コンポーネント、リモート データ センターでホストされるデータベース、モデル化しているこのサービスが依存する外部サービスを含め、サービスが使用するすべてのコンポーネントが含まれます。

  2. ユーザーのシナリオを作成する。シナリオでは、ユーザーがサービスを操作する可能性のある方法をすべて説明します。たとえば、オンライン ビデオ サービスの場合は、ログイン、ビデオ ライブラリの閲覧、ビデオの選択および視聴、視聴後のビデオの評価などについて説明します。

  3. コンポーネントとシナリオを含むマトリックスを構築し、コンポーネントの利用を各シナリオにマッピングする。ユーザーのシナリオをコンポーネント インベントリにマッピングすると、各シナリオでどのコンポーネントにアクセスするかを特定し、依存関係や障害ポイントになりうる箇所を特定できます。

  4.  障害を処理するメカニズムを定義する。依存関係ごとに障害を処理するメカニズム (対処戦略) を定義しておけば、障害が起きたときにソフトウェアによって何らかの合理的な処置が確実に実行されます。「合理的」の意味は、サービスの機能や対処戦略で対応する障害の種類によって異なります。たとえば、自動車購入サービスのアーキテクトが、各車種の型式やモデル別の評価を示すアプリケーションを設計するとします。こうした購入サービスは、車種の比較評価を実施する別のサービスに依存することがあります。この場合、評価サービスが故障あるいは利用不能になったときの購入サービスの対処戦略は、車種のリストを一切表示しないのではなく、参考となる評価はなしに車種のリストを表示することであると思われます。つまり、特定の障害が起きても、サービスによって、顧客の立場から見た合理的な成果がもたらされるようにします。

 

サービスの信頼性に関する最近のホワイトペーパーをダウンロードして、これらの信頼性のトピックの詳細を確認することをお勧めします。

 

デビッド・ビルズ、信頼できるコンピューティング、信頼性主任ストラテジスト

 

Skip to main content