論理データセンター デザイナの概要、パート 1
Mickey Williams
Neudesic LLC
March 2005
日本語版最終更新日 2005 年 6 月 23 日
概要 : この Team Edition for Software Architects デザイナにより、いかにデータセンターの運用の側面をすべてモデル化し、構築および配置を容易にすることができるかについて説明します。
目次
はじめに
論理データセンター デザイナとは
データセンターとネットワークの課題
論理データセンター ダイアグラムの作成
まとめ
関連情報:
はじめに
論理データセンター デザイナは、サーバー、ファイアウォール、通信パス、セキュリティ制約、およびデータセンターへのアプリケーション システムの配置に影響を与えるその他の要件を含む、データセンターのポリシーおよび論理構造を記述するモデルを作成するのに使用します。論理データセンター デザイナは、Visual Studio Team System に含まれる 分散システム デザイナのその他のデザイナと統合されています。すべてのデザイナでは、System Definition Model (SDM) と呼ばれる共通の XML ベースのメタファイル形式を利用しています。論理データセンター デザイナは、IT の専門家とシステム アーキテクト間でコミュニケーションを行うための効果的なツールです。
論理データセンター デザイナとは
論理データセンター デザイナは、Visual Studio Team Edition for Software Architects に含まれる 分散システム デザイナの 4 つのデザイナのうちの 1 つで、データセンターの論理モデルを構築するのに使用します。分散システム デザイナにより作成されたモデルを使用することにより、データセンターに効果的かつ安全に配置できるよう、分散システムを設計することができます。これらのデザイナは、動的な分散アプリケーションの設計、開発および配置作業を簡素化する製品群である、マイクロソフトの Dynamic Systems Initiative (DSI) の一部としてリリースされた、最初の開発ツールです。
論理データセンター デザイナを使用すると、サーバー、通信パス、運用ポリシーなど、データセンターの運用の側面を記述するモデルを、システム アーキテクト、インフラストラクチャ アーキテクト、開発者、および IT 運用スタッフの間で容易に共有できるように、作成できます。作成されたモデルには、複数のサーバーに渡って接続されるシステムを設計および配置する際に重要な、データセンターの側面が記述されています。モデルでは、データセンター全体を記述する必要はなく、その一部をモデル化したほうが適切である場合が多くあります。たとえば、データセンターの e コマース、B2B、およびイントラネット ホスティング部分を、別々のモデルを使用して記述することができます。Visual Studio Team Edition for Software Architects に含まれるその他のデザイナは、論理データセンター ダイアグラム (LDD) の情報を利用し、分散システムが確実にデータセンターで定義されたポリシーおよび制約に準拠するようにします。このコンセプトは Design for Deployment と呼ばれています。
コミュニケーションと統合が、分散システム デザイナの主な機能です。すべてのデザイナでは、モデル情報を格納するのに使用する System Definition Model (SDM) と呼ばれる共通のドキュメント メタモデルを共有しています。共通のドキュメント形式を共有することにより、デザインを検証する際に、複数のデザイナからの情報を統合する作業を簡素化できます。LDD は Visual Studio ソリューションに含めることができるので、他のドキュメントと同様に、LDD の共有、バージョン付け、および追跡が可能です。
System Definition Model
既に説明したように、Visual Studio Team Edition for Software Architects 内のすべてのアーキテクチャ デザイナでは、System Definition Model (SDM) を利用しています。SDM ドキュメントでは、XML を使用してその情報を格納します。XML により、サードパーティのツールおよびプロセスとの統合が容易になります。モデル内では、ネットワーク要素および制約が XML ノードとしてモデル化されます。SDM は XML ドキュメントなので、既存のツールおよびクラス ライブラリにより、分散システム デザイナで作成されたモデルの情報を利用することができます。
XML エディタで SDM ドキュメントを開くと、SystemDefinitionModel というルート ノードの XML ドキュメントが表示され、ここには、次のような SystemDefinition ノードのツリーが含まれています。
<SystemDefinitionModel Name="MyDatacenter1"...>
<SystemDefinition Name="MyDatacenter1" ...>
<SystemDefinition Name="IISWebServer1" ...>
...
</SystemDefinition>
<SystemDefinition Name="Zone1" ...>
...
<Subsystem Name="DatabaseServer1" ...>
...
</Subsystem>
<Containment Name="..."ChildMember="DatabaseServer1" />
...
</SystemDefinition>
<SystemDefinition>
</SystemDefinitionModel>
実際の SDM ドキュメントには、バージョン付けおよび名前空間情報が含まれ、より冗長になりますが、概略をまとめると、SystemDefinition ノードを使用して、論理サーバーおよびその他のシェイプを論理モデルにモデル化するということです。各ノードには、制約、設定、および他のノードとの関係などの情報が含まれます。ゾーン ノードは入れ子にすることができ、このため、ゾーン シェイプはサブシステムとして論理サーバー (または入れ子になったゾーン) を含むことができます。
データセンターとネットワークの課題
データセンターでは、次のいくつかの目標を念頭に置いて、アプリケーション ホストおよびネットワーク トポロジが設計されます。
- アプリケーションが一貫して論理的に配置されるような組織。
- 用途に合わせて最適化されるアプリケーション ホストおよびネットワーク セグメントに、アプリケーションが配置されるようなパフォーマンス。
- 安全面を最大限に高め、脅威の面を最小限に抑えるように、アプリケーションが配置されるセキュリティ。
残念なことに、通常インフラストラクチャ アーキテクトがデータセンターの設計およびドキュメント化に使用するツールは、ほとんどのシステム アーキテクトおよび開発者が使用するツールと統合されていません。多くの場合、通常のインフラストラクチャ ダイアグラムで伝達される情報には、開発者にとっては役に立たないものがあります (IP アドレス、VLAN サブネット マスクなど)。その結果、コミュニケーションを妨げるインピーダンスの不整合が生じます。データセンターで実施されているポリシーの各側面を、インフラストラクチャ アーキテクトがドキュメント化することは困難です。データセンターにサーバー、ファイアウォール、および長い期間をかけて取得したその他のネットワーク要素が存在するような組織では、なおさらです。長い期間をかけて作成された多くの別々のアプリケーションからなる分散システムの、考えられるすべての運用上の要件を、システム アーキテクトがドキュメント化することも困難です。
論理データセンター デザイナを使用することにより、エンタープライズの運用上の目標を、データセンターの論理構造に焦点を当てたモデルにすることができます。システム アーキテクトや開発者が使用したものと同じドキュメント メタモデルおよびツールを使用することにより、コミュニケーションの障害を削減し、データセンターの要件および機能についての情報をより効果的に伝達できます。
データセンターの論理記述は、複数の開発プロジェクト間で作成し、共有することができるため、データセンターのネットワーク トポロジ、または、開発の対象となるネットワークの一部を担当するインフラストラクチャ アーキテクトが管理する記述を、複数のチームが活用できます。
システムの設計および構築における異なるフェーズで、論理システムを使用し、論理データセンターに対する現在のシステム設計を検証することができます。
論理データセンター ダイアグラムの作成
論理データセンター デザイナは、メニューの[プロジェクト]から [新しい分散システム ダイアグラムの追加] を選択して起動します。利用可能なダイアグラムのリストから [論理データセンター ダイアグラム] を選択すると、Visual Studio では新しいダイアグラムを [ソリューション項目] フォルダに追加します。
通常、論理データセンター ダイアグラムは、ソース プロジェクト外で作成および管理され、データセンター アーキテクチャを担当するグループまたは個人により所有されます。モデルは開発チームが管理できますが、実際にメリットが生じるのは、モデルがインフラストラクチャ アーキテクトまたはその他の IT 専門家により作成される場合です。
デザイナ キャンバスは、デザイン画面として機能し、ここで、論理データセンター要素がドロップおよび構成されて、モデルを記述します。1 つのソリューション内に複数のキャンバスを配置できます。デザイン キャンバスおよび、すべての Visual Studio デザイナにより共有される [プロパティ] ウィンドウに加え、論理データセンター モデルを構築する際に使用する、次の 2 つのデザイナ コンポーネントがあります。
- ツールボックス: ツールボックスには、ゾーン、論理サーバー(アプリケーション ホスト)、接続エンドポイントなど、デザイン キャンバス上にドロップされる、定義済みのいくつかの要素が含まれます。
- 設定および制約エディタ : 設定および制約エディタでは、論理データセンターの要素に対する要件と責任を定義し、これらの要素の構成設定の値を指定します。
ツールボックス
分散システム デザイナのすべてには、ダイアグラムの作成に使用できる、定義済みのツールボックス項目が含まれています。現在のバージョンの論理データセンター デザイナでは、ツールボックスに 5 つの組み込みのデータセンター要素を用意しています。
- DatabaseServer: データセンターのデータベースをホストするサーバー。
- GenericServer: データセンターでは指定されない型のサーバー。通常、拡張されて、カスタム サーバー型を表します。
- IISWebServer:ASP.NET Web アプリケーションをホストする Web サーバー。
- WindowsClient: エンド ユーザーのコンピュータ上で制約をモデル化するのに使用する、エンタープライズのデスクトップ マシン。
- Zone: データセンターの他の部分から分離される、ファイアウォールなどの論理的境界。ゾーンは他のゾーンに入れ子にできます。
ツールボックスには、他のデータセンター要素の端の通信ポイントをモデル化する、エンドポイント要素も含まれています。各エンドポイントの型には、一意のシェイプがあり、サーバー側の要素はソリッド、クライアント側の要素は中空となっています。6 つのエンドポイント要素を次に示します。
- DatabaseClientEndpoint: データベース接続のコンシューマ。
- GenericClientEndpoint: 不特定の接続のクライアント側。
- GenericServerEndpoint: 不特定の接続のサーバー側。
- HTTPClientEndpoint: HTTP 接続のコンシューマ側。
- WebSiteEndpoint: HTTP 接続のサーバー側。
- ZoneEndpoint: ゾーンの端の通信エンドポイント。
このリストは、アプリケーションのホストやプロトコルなど、共通的に使用される一連のデフォルトのネットワーク要素を表していますが、それぞれ孤立した型がもっと多くあります。論理データセンター デザイナおよび SDM により高い柔軟性が備わり、拡張 SDK を使用して、追加プロトコル、論理サーバー、その他の要素を定義できます。
Settings and Constraints Editor
Settings and Constraints Editor を使用して、論理データセンター ダイアグラム、アプリケーション ダイアグラム、およびシステム ダイアグラムに含まれる要素の、さまざまな側面を定義できます。これは、Visual Studio Team Edition for Software Architects ですべての分散システム デザイナが使用しているものと同じエディタです。設定には、論理サーバーにインストールされているオペレーティング システムや .NET ランタイムのバージョンなどの構成情報を含めることができます。さらに、ASP.NET Web アプリケーションが論理サーバーのグループで実行されないようにするなどのポリシー制約を含めることもできます。
制約は、特定の論理サーバーに配置されるすべてのアプリケーションが守らなければならない要件として考えることもできます。論理データセンター ダイアグラムの個々の要素をさまざまな方法で制限することにより、データセンターに存在するポリシーを適切にモデル化できます。制約としては、特定の種類の通信を要求または制限する、特定のセキュリティの側面を要求する、特定のアプリケーション タイプを使用禁止にするなどの場合があります。
制約には 3 種類あります。
- 暗黙的な制約には、デザイン画面にドロップされる要素のシェイプが含まれ、論理データセンター デザイナで編集する必要はありません。暗黙的な制約の例は、デザイン画面で IIS Server のシェイプをドロップすると表示されます。論理サーバーで使用できるファイル拡張子のマッピングにより、ボックスに配置されるアプリケーションの暗黙的な制約が作成されます。暗黙的な制約は、拡張 SDK で作成できます。
- 定義済みの制約は、デザイナを通してまとめて制御される制約のグループです。たとえば、定義済みの制約により、論理サーバーで ASP.NET アプリケーションをホストできるかどうかを制御できます。
- ユーザー定義の制約は、直接 1 つ以上の設定を制約の形式に記述することにより、作成します。ユーザー定義の制約では、最大限の柔軟性を提供でき、これを使用して定義済みの制約と同じ要件を記述することができますが、定義済みの制約と競合するユーザー定義の制約が作成される可能性もあります。
Settings and Constraints Editor は、通常、論理データセンター ダイアグラムの下端の下にドッキングされています。これが表示されていない場合は、任意のダイアグラム要素の [コンテキスト] メニューから表示できます。
まとめ
Visual Studio Team Edition for Software Architects の主要なコンポーネント、論理データセンター デザイナを使用することにより、データセンターの論理モデルを作成します。これらのモデルを、システム アーキテクトおよびインフラストラクチャ アーキテクトが共有できるので、要件や期待のやりとりに、共通のツール セットを使用することができます。
Mickey Williams 氏は、南カリフォルニアにおけるマイクロソフトの代表的な .NET プロフェッショナル サービス パートナーの 1 つである Neudesic の、プリンシパル コンサルタントです。彼は、さまざまなプラットフォームでのミッションクリティカルなアプリケーションの構築を経験しており、Windows プログラミングに関する 9 冊の本を執筆または共同執筆しています。彼の .NET に関わる業績は、最初のパブリック リリースにまでさかのぼり、今日では、.NET Framwork を活用したミッションクリティカルなアプリケーション (特に、ASP.NET、XML Web サービス、およびスマート クライアントの分野) の設計および開発を専門としています。
|