クラウド サービスの基礎 – フォールト トレラントなデータ アクセス層のご紹介

このポストは、7 月 25 日に投稿された Cloud Service Fundamentals – Introduction into Fault-Tolerant Data Access Layer の翻訳です。 編集メモ: 今回は AzureCAT チームの Valery Mizonov (英語) の投稿をご紹介します。 先日のブログ記事「テレメトリ – アプリケーションのインストルメント (英語)」では、Windows Azure SQL データベース サービスに一時的障害が発生しても運用を持続できるよう、「Windows Azure でのクラウド サービスの基礎」コード プロジェクトにおいてフォールト トレラントなデータ アクセス層の課題に取り組んだことをお伝えし、あわせて、アプリケーションのインストルメントに関するベスト プラクティスや、ソリューションの信頼性と回復性を高めるヒントをご紹介しました。 この記事では、回復性にすぐれたデータ アクセス層を構築するとは実際にどういうことか、またそのデータ アクセス層を構築するという重要な要件に対して、「クラウド サービスの基礎」プロジェクトでどのようにアプローチしたかについて、詳しく掘り下げていきます。 クラウドベースの分散アプリケーションや分散サービスの構築は、困難を極める作業です。最新のクラウド インフラストラクチャには、リソース調整、通信障害、プラットフォーム サービスの動作不安定など、設計上のものや異常に起因するものを含め、さまざまな落とし穴があるためです。このクラスの問題は通常、アプリケーション固有のサービス レベル契約 (SLA) について常に把握すると共に、潜在的な一時的障害を検出し、失敗した処理を再試行するという方法で解決されます。 処理を再試行するかどうか的確な判断を下すためには、既知の一時的障害およびその識別子 (エラー コードまたは例外のタイプ) のナレッジ ベースを構築する必要があります。これは、非常に煩雑で時間のかかる作業です。しかし、Windows Azure 開発者は、この作業を一切行わずに、より重要な作業に専念できます。一時的障害に対処するためのナレッジやインテリジェンスは、Enterprise…