写真●日本マイクロソフト テクニカル エバンジェリストの萩原正義氏
写真●日本マイクロソフト テクニカル エバンジェリストの萩原正義氏
[画像のクリックで拡大表示]

 「クラウドネイティブのアプリケーションは、要素技術の選択肢が多く複雑だ。複雑な要素技術をとりまとめるために、開発初期段階にシステム全体を構想する“アーキテクチャ”が再び注目されている」---。日本マイクロソフトは2013年4月24日、ITアーキテクト向けイベント「アーキテクトフォーラム 2013」を開催。キーノートに登壇した同社 テクニカル エバンジェリストの萩原正義氏(写真)は、クラウドアプリケーション・アーキテクチャのトレンドについて解説した。

 萩原氏は、アーキテクチャをめぐるメガトレンドの1つとして、「クラウドの時代になり、アプリケーション開発における競争優位性の所在が、“プラクティス”から“サイエンス”へ移行している」ことを挙げた。

 階層モデルがアーキテクチャの主流だった時代には、Javaフレームワーク、.NET Frameworkなど、実績のあるフレームワーク(プラクティス)を適用すれば、アプリケーション開発がうまくいっていた。しかし、クラウドアプリケーションは、より複雑なシステムで稼働している。例えば、システムの遅延の要因でも、ネットワークの遅延、仮想マシンのローディングの問題、メモリー不足など、無数の障害の組み合わせがある。

 「これらの障害要因を一つずつつぶしていく、“工学的”アプローチは非常に効率が悪い。クラウドアプリケーションの開発においては、工学的要素をなるべく減らす。それにとって代わるのがコンピュータサイエンスだ」(萩原氏)。障害対応のアーキテクチャについては、コンピュータサイエンスの世界で基本的なアルゴリズムが証明されている。これらのアルゴリズムを実装すれば、開発工数を削減できるというのが萩原氏の考えだ。

 アプリケーションのアーキテクチャ設計における“サイエンス”と“工学”の勘所について、萩原氏は「Hbase」を例に説明した。Hbaseは、OSSの分散処理ソフト「Hadoop」上に構築したカラム型の分散データベースである。クライアントからデータベースに書き込みをした時に、元データを更新するより先にログに記録するのが特徴だ。「Hbaseは、サイエンスの世界で証明されているログ先行書き込み(WAL)を採用することで、ライトスループットを向上させ、他システムに対する競争で優位に立っている」(萩原氏)。

 同時に萩原氏は、注意すべき点として、サイエンスによってライトスループットについては予見できるが、リード側の処理については確実に予見できないことを挙げた。「こちらについては、従来の開発手法と同様に、工学的に解決していく必要がある」(萩原氏)。