クラウドアプリケーション開発の方法論:マイクロソフトがエッセンスを披露

杉山貴章(オングス)
2009-01-30 19:00:01
  • このエントリーをはてなブックマークに追加

 マイクロソフトは1月27日、28日の両日、ITプロフェッショナル向けカンファレンス「Microsoft tech days Japan 2009」を開催した。

 このカンファレンスの主要なテーマのひとつであったのがクラウドコンピューティングだ。2日目のブレイクアウトセッション「クラウドコンピューティングのエッセンス」では、同社デベロッパー&プラットフォーム統括本部アーキテクトの萩原正義氏によって、クラウドコンピューティングに要求される要素技術や開発手法が解説された。

Azureによる可用性の実現

 萩原氏の講演は、「アプリケーション開発を通じてAzureを理解する」という趣旨に基づいて行われた。同氏はまずAzureではどのように可用性を実現しているかを説明し、その上で実際にクラウドに適したアプリケーション開発を行う際の方法論を紹介している。

 本稿ではその概略をレポートするが、マイクロソフトより実際に講演で使われたプレゼンテーション資料が公開されているので、より詳細な内容はそちらを参照していただきたい。

 Azureではインメモリデータだけで可用性を実現するために、複数のReplicaをノード間で持ち合い、ノードの障害に対しては別ノードを参加させて複製を行うことで対処しているという。また、ノード間の通信障害には、データ更新とReplicaの複製を非同期で行うことや、Replicaからの応答を多数決で判断することによって対応している。

 スケーラビリティに関しては大規模なレベルでスケールアウトすることによって実現できるが、データおよびインスタンスを膨大なノードで分担するため、ノードの追加や削除による再配置コストが高くなるという問題が生じる。そこでConsistant Hashingという手法を用いてこのコストを局所化する方法をとっているとのことだ。

図1 データオーバーレイによる可用性の実現(画像をクリックすると拡大します) 図1 データオーバーレイによる可用性の実現(画像をクリックすると拡大します)

クラウドにおけるアプリケーション開発の方法論

  • 新着記事
  • 特集
  • ブログ
このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]