検索
ニュース

マイクロソフトのDSI戦略を考える(2/3 ページ)

マイクロソフトでは2003年から、「DSI」と呼ぶ構想を打ち出して、製品展開を行っている。年内に出荷が予定されているSQL Server 2005やVisual Studio 2005も、このDSI構想に沿った製品だ。これらの製品がどのようにDSI構想に関係しているのか、また、マイクロソフトの他の製品とどのように関連するのかをレポートする。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

DSIが目指すもの

 そもそも、システムの開発と運用は単なる1つの流れではない。初期の開発が終わり、運用にこぎつけたとしても、ビジネスの変化に伴って仕様変更は当たり前にあるわけで、運用側から開発者側にフィードバックが入り、修正したものをさらに運用するという、ある種のサイクルが定着するのが普通だ。

 こうした設計開発から維持管理までのシステム全体のライフサイクルをカバーする解決策として登場したのがDSIだ。つまり、運用側であるITプロフェッショナルと、設計開発側であるアーキテクトや開発者を共通の認識で一致させ、開発から運用まで、トータルに情報共有させたいという狙いがある。

 もちろん、自律した分散システムの構築を目指していることは間違いない。これは、自動化で運用のコストを削減し、冗長化でシステムの信頼性を向上させる効果があるからだ。しかし、DSI構想が一般の自律型分散システムとは違う部分がある。それは、技術的な面だけでなく、設計開発や運用という人間の行う仕事そのものを含んだ、システム全体のライフサイクルを統合した仕組みとなっているという点だ。

 DSIが実現されると、開発者にとっては次のようなメリットがある。例えば、ITプロの持つ運用時のノウハウを設計時に利用できる。標準化されたアーキテクチャを利用でき、信頼性の高いシステム構築ができる。省力化されたコーディングが可能となり、生産性が向上する。

 ITプロの立場では、次のようなメリットがあるだろう。設計段階で運用を考慮することが可能となる。開発者のノウハウを利用した運用が可能となる。自動化された運用によって省力化できる。システムのユーザーからのフィードバックを簡単に取り込め、システム改善に生かせる。ユーザーがより独立し、運用者に頼ることが減る。

 もちろん、経営者の立場からみれば、運用コストの削減が見込め、ビジネス環境の変化に柔軟に対応できるというメリットがある。

 このようにDSIでは、設計、開発、運用というサイクル全体としてシステムをカバーし、あらゆる場面で自動化を行って省力化し、信頼性を高めることを目指している。では、マイクロソフトはどのような方法でDSIを実現させようとしているのだろうか。

DSIを支える技術

 DSIの要となっている要素は、MDA(Model Driven Architecture:モデル駆動アーキテクチャ)と呼ばれるものだ。簡単に言うと、ビジネスにおけるニーズをモデル化し、システムに落とし込むというやり方だ。DSIでは、MDAによってモデル化された情報を、設計者や開発者、運用担当者で共有させ、開発者と運用管理者をつなぐパイプとしている。

 このMDAに欠かせないのがSDM(System Definition Model:システム定義モデル)と呼ばれる、共通の定義モデルの利用だ。SDMとは、DSL(Domain Specific Language:領域特殊言語)と呼ばれるある特定の領域に特化した記述言語を用いて記述された、システムに関するさまざまな情報だ。MDAでモデル化されたものは、SDMで記述され、共通の認識となってシステムに関わるすべての担当者が利用することになる。

 少し具体的に言うと、SDMは必要な情報を網羅した図となる。一般に、システム設計の段階では、四角い線で囲まれたコンポーネントを、線で結んで全体像を見せる図を描くことが多いが、いろいろな視点から作成するこうした図がSDMと言える。SDMはXMLの形で保存され、DSLはXMLを解釈するためのXMLスキーマと言った意味合いだ。

 いずれにしても、このSDMがシステムのライフサイクル全体で中心となるものであり、ベースとなる。SDMには、システム構成、サーバなどのリソースの配置やトポロジー、ポリシーなどが含まれる。

 そして、SDMに記述されたこれらの情報をもとに、動的なリソース管理や、分散システムの自動展開と構成を行い、システム監視と自動的な応答や、運用に必要な情報を自動的にレポーティングし、ユーザーからのフィードバックを効率よく収集するなど、DSIの目的を果たすための機能を実現することになる。

 もちろん、SDM以外にもさまざまな技術が必要となる。例えば、動的なリソース管理を行うためには、仮想化が鍵となる。CPUやメモリ、ストレージなどのリソースを仮想化できれば、動的に管理することが容易となるからだ。

 また、システムの自動展開と構成を行うための技術も必要だ。一部はすでに実現されていることだが、OSの自動展開や、アプリケーションの自動配布、OSやアプリケーションの自動的なアップデート/ロールバック、インベントリの自動収集といった機能が必要となる。

 さらに、システムの監視と自動応答のためには、単なるログやパフォーマンスデータの収集にとどまらず、独自の管理パターンに基づく監視の機能や、ヘルスモデルの導入によるより正確な判断などが必要となる。

 もちろん、これらの各技術はSDMを中心に相互に連携するようになっており、システムのライフサイクル全体をうまくカバーする。新たにシステムを構築する場合でも、既存のシステムの情報を収集しSDMの形にすることで、設計時に運用を考慮した設計が可能となるし、SDMに記述されている配置情報を元に、システムを自動展開することも可能となる。

 こうしたDSIを支える技術は、すでに実現しているものもあれば、これからのものもある。現時点ではどこまで実現化しているのだろうか。

DSIを支える製品

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る