Loading
|
@IT > モデル中心の開発手法が自律型システムの構築を可能にする |
|
> モデリング・プラクティス コーナー
マイクロソフトは、(システムの設計、開発から運用までを含む)ソフトウェア・ライフサイクル全般の簡素化、自動化、柔軟性向上を図ることを通じて、運用・管理の効率化を実現する取り組みをIT業界全体で推進していこうとしている。そのためのビジョンが「Dynamic Systems Initiative(DSI)」である。マイクロソフトのユニークな点は、開発から運用までのソフトウェア・ライフサイクルの効率化を開発者の側に立って推進して行こうと考えている点にある。DSI推進において、同社が最も重要だと考えるキーワードの1つが「モデリング」である。 ◆ DSIを構成する4つの要素 DSIとは何か? まずはDSI全体の構造を俯瞰(ふかん)し、少しずつ細かい部分を解説していこう。 DSIは図1のように、4つのレイヤーで分類できる。
まずはシステムを実行するハードウェア層。下段にあるダイナミックデータセンターとは、サーバ、ストレージ、ネットワークなどのセットで構成され、負荷状況に応じて動的に構成を変更できる要素である。 次に、物理的なハードウェアを抽象化して実際の開発プラットフォームとして利用される論理的なノード(クライアントに近似)構成(Logical Datacenter)がある。ここではトポロジーの構成、ノードにおける稼働状況の公開、実行すべきタスクなどを定義し、それをもとに物理的な展開を実現する。 さらにその上位層にサービス指向に基づく個々のシステムを動作させるための環境があり、そして最上位にこれらシステム全体を管理するためのツール層が存在する。マイクロソフトが2005年にリリースを予定している開発ツール「Visual Studio 2005 Team System」は、この図中で中段右に位置づけられ、主にシステムと論理ノードの構築および構成定義の役割を担うことになる。 DSIの目的は分散システムのすべての側面に対してできる限りの自動化・簡素化だが、これを達成するには、まずハードウェアリソースを仮想化して、ビジネス要件や負荷状況に応じてリソースの動的なアロケーションが可能とならなければいけない。そのうえで、セキュリティ、接続性、信頼性などの各項目に分類された運用管理ポリシーに基づいて構築されたシステムが配置される必要がある(多くの場合、このようなシステムはサービス指向アーキテクチャ=SOA対応のシステムとよばれる)。このような条件をクリアするにはシステム全体の可視化を行い、それを例えば、上記のDSIアーキテクチャで説明した4つのレイヤー構造で共有するのが望ましい。 そもそも、このようなシステムを実現するには開発当初からセキュリティ、接続性、信頼性などの運用管理ポリシーを同時にモデル化してシステムに織り込む必要がある。しかし、現在、システム開発のモデリング作業でよく利用されるUMLでは力不足だとマイクロソフトでは考えている。ドキュメント化やコミュニケーションのツールとしては有用だが、システムに取り込んで動的にリソースの割り当てを行うまでには至っていないためだと同社では説明している。このためマイクロソフトで独自のモデリング言語「System Definition Model(SDM)」を開発したというわけである。
◆ モデリング言語――System Definition Model (SDM) マイクロソフトでは特定のモデル記述言語にとらわれることなく、システム構築のフェイズごと(あるいはビジネスから実装にいたるまでの抽象度ごと)にそれぞれの局面に適した複数のモデルを構築することを提唱している。 それゆえに、マイクロソフトは、モデル対象それぞれに最適化した「Domain Specific Language(DSL)」という言語概念を提唱している。DSLで記述した各モデルは、パターンの適用によってほぼ自動的に次のモデルに変換され、最終的には物理的なインフラストラクチャと実行可能な実装コードが生成される。DSLとは、つまり、ある特定のドメインに最適化したモデリング言語であり、その包括的な概念を指すのである。この概念のもとにマイクロソフトが開発したモデリング言語が前述したSDMである。SDMとは、簡潔にいうと、分散システムを構築するためのモデリング言語である。SDMを用いることで分散システムの設計、配置、運用というライフサイクル全般に対するモデルの構築が可能となる。
図2では、SDMより、システム開発の初期段階からモデルが構築され、分散システムの物理構成から運用ポリシー、稼働状況の公開、管理にいたるまでシステム全般にわたり適用されるを示している。 通常“モデル”という単語からは、設計時のある局面において利用するドキュメントを連想する人が多いと思うが、SDMは一度構築したモデルが分散システムのライフサイクルと共に存在し続け、システムのバージョンアップ時にも重要な役割を果たすことになる。SDMによって規定されるメタモデルは、開発ツールから運用管理ツール、実行時インフラで共有されることになる。「Visual Studio 2005 Team System」ではこのSDMをベースとしてその上にさまざまな機能を構築する。 大規模分散システムの開発においては、UMLも含めそれぞれの開発局面において最適なモデリング言語を選択することが必要である。SDMはDSLに基づいて開発されている。SDMは分散システムを構築するためのモデリング技法に加え、開発初期に構築したモデルが、開発段階から運用管理段階に至るまで、実行可能なファイルとして稼動し続けるというユニークな特長を持っている。
◆ DSIに基づくマイクロソフトの製品ロードマップ DSIの提供に関するマイクロソフトの戦略は、ユーザーがITインフラストラクチャの複雑さを大幅に軽減することを目的とした長期的なビジョンと、ユーザーが今すぐに開始できる有効なソリューションを提供する、堅実な短期的製品ロードマップを結合することにある。
[Windows Serverとサーバ・アプリケーション] Microsoftサーバ・プラットフォームである「Microsoft Windows Server 2003」は、Windows Server Systemが統合されたサーバ・インフラストラクチャ・ソフトウェアの基盤である。「Windows Server 2003」では、リソース管理およびプロビジョニング、Webサービスおよびアプリケーション・サービス、コア・サーバ管理機能を強化している。さらに、「Microsoft Virtual Server 2005」では、サーバ・ハードウェアの利用率を改善し、データ・センター・リソースのより柔軟なプロビジョニングを可能にする。 [サーバ・アプリケーションと管理パック] 「Microsoft BizTalkR Server」「Microsoft SQL Server」「Microsoft Exchange Server」など、Windows Server Systemのサーバ・アプリケーションについて、「Microsoft Operations Manager」用管理パックを配布している。これらの管理パックにより、それぞれ特定のアプリケーションを監視および管理するための知識が即座に得ることが可能となる。 [Corporate Error Reporting] 運用環境からアプリケーション開発に戻る循環ループを作るために、マイクロソフト社内では、ビジネスに使用しているいくつかのコア技術を提供し、他の組織が自社環境の管理機能を改善できるように支援している。ユーザーはこの技術を活用して、さまざまなサードパーティ製アプリケーションやカスタム・アプリケーションの通知も収集できるようになる。 [管理製品] Windows Server Systemのロードマップの一環として、「Windows Server 2003」の機能を基にした一連の管理製品とソリューションを提供している。これらの製品とソリューションは、現在のエンタープライズ環境に対応すると同時に、将来のSDM対応環境への道筋となるように設計されており、DSIの初期の重要なステップとして位置づけられている。各製品には、Windows環境への適合性を高めると共に、複雑な環境に対応する幅広い異種ソリューションを提供するパートナー各社の豊富な拡張機能が含まれている。 [アプリケーション開発ツール] マイクロソフトの開発ツールにおける“運用を考慮した設計”機能は、DSI戦略の重要な要素である。「Microsoft Visual Studio .NET 2003」では、運用時に最適な管理性を達成するため設計時に簡単に実装する機能など、開発者向けの幅広い拡張機能を提供した。 「Visual Studio .NET 2005」では、「サービス指向アプリケーション・デザイナ・スイート」が含まれている。このスイートにより、ユーザーはWebサービスベースのサービス指向アプリケーションを容易に構築でき、データ・センターでの展開に効率的に備えることができる。 [ソリューションとベスト・プラクティス] マイクロソフトはDSIロードマップの手引きとなる指針とベスト・プラクティスを公開している。「Microsoft Solutions for Management」は、管理上のベスト・プラクティスと管理テクノロジを組み合わせて適用することで、Windows環境でのサービス品質、信頼性、可用性、セキュリティを向上し、TCO を削減して、企業が優れた運用成果を達成できるように支援する。「Microsoft Systems Architecture」は、インフラストラクチャの根本的な問題を解決するための企業向けのテクノロジ・アーキテクチャである。
提供:マイクロソフト株式会社 企画:アイティメディア 営業局 制作:@IT編集部 掲載内容有効期限:2005年4月30日 |
|