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

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

 手順としては、まず概念および論理レベルで機能およびデータの分割を行う。主となるのは機能分割で、これはSOAに基づくサービス単位で考えるとのこと。

図2 機能分割はSOAのサービス単位で行う(画像をクリックすると拡大します) 図2 機能分割はSOAのサービス単位で行う(画像をクリックすると拡大します)
図3 データ類型化の例(画像をクリックすると拡大します) 図3 データ類型化の例(画像をクリックすると拡大します)

 続いて、物理レベルでの複合化(非正規化)とデータ分割を行う。物理レベルのデータ分割ではEntityデータモデルを用い、Entity間でのトランザクションを禁止することで、パーティション単位でのデータ分割と分散トランザクションの回避を同時に実現できるという。

 なお、SDS(SQL Data Service)は、このような物理レベルのデータやトランザクション分割を抽象化し、RDBに近いプログラミングモデルを提供してくれる。SDSの場合には一貫性スコープをコンテナ単位で定義するという。

 そのほか、萩原氏はドメインドリブン設計のドメインモデルやREST Resourceを、クラウドのデータモデルと結びつける手法などについても解説した。そして非同期性やキャッシュへの対応、スキーマ変更の戦略などは、これらのレベルでの設計がきちんとできた段階で考えるものだとも語っている。

 最後に萩原氏は、「Azureのスケーラビリティや可用性は、今日説明した方法論を実現するための要素技術として備えています。この機能を正しい順番に使い込んでいけるようにすることが重要です」と語り、講演を締めくくった。

マイクロソフト デベロッパー&プラットフォーム統括本部 アーキテクト 萩原正義氏 マイクロソフト デベロッパー&プラットフォーム統括本部 アーキテクト 萩原正義氏
このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]