N1 Service Provisioning System ソフトウェア は、アプリケーションの配備と設定を管理するための、オブジェクト指向の手法を提供し、 サーバー、インストールされたアプリケーション、およびファイル構造の可視性と制御が改善されています。
オブジェクトは大まかに、インフラストラクチャ、メイン、サポートのグループに分けられています。 インフラストラクチャオブジェクトには、ユーザー、ユーザーグループ、ホストおよびホストセットがあります。 メインオブジェクトには、リソース、コンポーネント、およびプランが該当します。 サポートオブジェクトには、比較および通知が該当します。
コンポーネントとは、アプリケーションを定義するソース情報 (ソフトウェア/ファイル構造などのコンポーネント) の論理グループです。
N1 Service Provisioning System ソフトウェア は、単純コンポーネントと複合コンポーネントの 2 種類をサポートしています。 単純コンポーネントは、1 つのソース項目を参照するコンポーネントです。 単純コンポーネントにより参照されるソース項目の型は、そのコンポーネントのコンポーネント型に対応します。 ファイル、ファイルのディレクトリ、レジストリキー、COM オブジェクト、JavaTM Archive (JAR)、EAR、IIS Web サイトなどがその例です。複合コンポーネントは、その他のコンポーネントを参照するコンポーネントです。 複合コンポーネントが含むことができる単純コンポーネントまたは複合コンポーネント、あるいはその両方の数は、制限されていません。
単純、複合に関係なく、すべてのコンポーネントには次の特性が共通しています。
コンポーネントを識別するテキストフィールドです。 これには、コンポーネントが保存されているパスが含まれます。
ソース情報の処理方法の制御に使用される、ユーザー定義可能なオブジェクト (コンポーネント型) です。 コンポーネント型オブジェクトは、実際には別のコンポーネントで、ファイル、ディレクトリ、設定などのソースオブジェクトの取得と配備を管理します。 プロビジョニングソフトウェア には、WebLogic、Windows、UNIX® およびいくつかの汎用モデルをサポートする多数のコンポーネント型が装備されています。
コンポーネントのバージョン番号です。 コンポーネントを変更するたびに、リポジトリによってバージョン番号が増分されます。
コンポーネントの配備に有効なターゲットである、プラットフォームまたはオペレーティングシステムを識別します。
コンポーネントのソース情報の発生源を識別します。 これにはパスが含まれています。
コンポーネントがチェックインされた日付と時刻です。 つまり、作成または変更された日付と時刻です。
コンポーネントをチェックインしたユーザーのユーザー ID です。 これにより、問題や矛盾の障害追跡を行う際の監査トレールが提供されます。
「components」ページでの並べ替えの制御に使用できる、ユーザー定義可能なテキスト文字列です。
コンポーネントオブジェクトを説明するテキスト文字列です。 この属性は プロビジョニングソフトウェア によっては使用されませんが、ユーザーに有意義な情報を提供できます。
コンポーネントの属性の詳細な説明については、「コンポーネントの構築」を参照してください。
N1 Service Provisioning System ソフトウェア は、次の操作の実行方法を含む、コンポーネントに関する重要な情報が含まれるメタデータとともに、各コンポーネントを保存します。
コンポーネントのインストールおよびアンインストール
コンポーネントの構成
管理コンソールなどのインタフェースを介した、コンポーネントの制御
ほかのアプリケーションコンポーネントと比較したコンポーネントの分析。たとえば、比較においてログファイルと/tmp ディレクトリを考慮する必要があるかどうかの指定
コンポーネントの起動とシャットダウン
このメタデータを読み込み、コンポーネントを比較することで、プロビジョニングソフトウェア はコンポーネントを識別し、コンポーネント間の依存性を追跡することができます。
図 1–2 に、コンポーネントの内容を示します。
このメタデータ以外に、コンポーネントには設定テンプレートが含まれます。IT オペレーターは設定テンプレートを使用すると、サーバーごとに、または実行プランで定義されている規則に従って、ポート番号などの特定の設定パラメータを調整することができます。 これらの変数は、従来のデータセンタースクリプトにハードコードされているのではなく、操作の実行時に設定可能です。
コンポーネントモデルは XML で記述します。 オブジェクトモデルには、Common Information Model (CIM) と、J2EE コンポーネントの標準管理モデルの提案である Java Specification Request (JSR-77) の機能が組み込まれています。 N1 Service Provisioning System ソフトウェア のコンソールを介して、コンポーネントテンプレートを使用して、依存のコンポーネントを素早くカスタマイズすることができます。 また、社内で開発されるアプリケーション用の新しいテンプレートを作成することもできます。 複雑な J2EE コンポーネントに対して高度なカスタマイズを行うために、コンソールの HTML インタフェースや、XML Spy などの XML 編集ツールを用いてコンポーネントを編集することができます。
プロビジョニングソフトウェア では、コンポーネントとプランはセキュリティー保護されたリポジトリに保存されます。 コンソールを使用すると、コンポーネントおよびプランをリポジトリとの間でチェックインまたチェックアウトし、比較を実行して、変更を行うことができます。
配備などのデータセンター操作を実行するには、コンポーネントにプランを適用します。 N1 Service Provisioning System ソフトウェアを介して、データセンターのあらゆる操作には、各コンポーネントに関して入手可能なすべての情報が組み込まれます。 またエラーは自動的に検出され、 失われた情報にはフラグが付けられます。 自動化によって、配備と設定変更はより迅速かつ正確に行われるようになります。
N1 Service Provisioning System ソフトウェア では、IT オペレーターがコンポーネントモデルをすぐ簡単に使用できるようになっています。 Master Server には、インターネットデータセンターで最も使用頻度が高いコンポーネント用のテンプレートが付属する、コンポーネントライブラリが含まれています。 表 1–2 に、ライブラリに含まれるテンプレートの一覧を示します。
表 1–2 コンポーネントライブラリのテンプレート
アプリケーションコンポーネントテンプレート |
シンプルなファイルおよびディレクトリ J2EE Enterprise Archive (EAR) J2EE Web Archive (WAR) J2EE Java Archive (JAR) Solaris パッケージ Solaris OS パッチ IIS Web サイトまたは仮想ディレクトリ COM+ アプリケーション COM コンポーネント MSI アプリケーション Windows レジストリキー Windows データソース .Net アプリケーション ASP .Net アプリケーション |
Web サーバーテンプレート |
SunTMONE /iPlanetTM (管理対象インスタンスが付属する admin) Apache Web サーバー Microsoft IIS (Metabase 設定が付属) |
アプリケーションサーバーテンプレート |
(単純、管理対象、およびクラスタ化インスタンスが付属する admin) IBM WebSphere (単純および複製されたインスタンスが付属する admin) Microsoft コンポーネントサービス/COM+ Microsoft Transaction Server (MTS) |
これらのコンポーネントとの連携に加えて、プロビジョニングソフトウェア は、アプリケーションの配備、設定、および分析の一部として、標準的なデータベース、ロードバランサーおよびオペレーティングシステムと協調して処理を行うことができます。 表 1–3 に、アクションの対象にすることができる、データベース、ロードバランサー、およびオペレーティングシステムの一覧を示します。
表 1–3 アクションの対象にすることができる、データベース、オペレーティングシステム、およびロードバランサー
データベース |
Oracle Enterprise Microsoft SQL Server |
サポートされるオペレーティングシステム |
SolarisTM 6、Solaris 7、または Solaris 8 の各リリース IBM AIX 4.3.x、5.1、5.2 Red Hat Linux 7.2、7.3、8.0 Red Hat Advanced Server 2.1 Microsoft Windows Server 2000 |
ロードバランサー |
Nortel/Alteo WebSystems ACEdirector Foundry ServerIron |
N1 Service Provisioning System ソフトウェア は、アプリケーションに関する情報をコンポーネントモデルに取得するのと全く同じように、データセンターの手続きに関する情報をプランに保存します。 プランは XML 文書で、1 つ以上のコンポーネント、またはほかのプランの呼び出しを操作するために使用される一連の命令が含まれます。 プランでは、この情報を明示的にコード化したり、特定のサーバー名やポート番号などの詳細情報の一部を、IT オペレーターが実行時に指定できるようにすることが可能です。 プロビジョニングソフトウェアは、プランを実行する際にコンポーネントモデルを読み込み、特定のファイルセットのインストールやディレクトリへのアクセス権の設定など、特定の操作を実行するための設定要件、依存性、および命令に関する詳細情報を得ます。
N1 Service Provisioning System ソフトウェア は、プランを次の目的に使用します。
配備などの操作の実行
操作時のコンポーネント間の動作の同期
操作時のサーバー間の動作の同期
プランには、単純と複合の 2 種類があります。 単純プランには、1 つまたは複数の対象ホストに対して一方的に実行され、ほかのプランを呼び出すことはできない一連の命令が含まれます。 アプリケーションのシャットダウン、ロードバランサーからのサーバーの除外などの、複数の手順から成る配備における各手順が、注意深く記述された独自のプランにより管理できるように、複合プランはほかのプランのみを呼び出すことができます。
たとえば、多階層のアプリケーションをロールアウトするプランは、次の 4 つのサブプランから構成されます。
ロードバランサーからサーバーを除外するサブプラン
Web サーバーを更新するサブプラン
アプリケーションサーバーを更新するサブプラン
サーバーをロードバランサーに再び組み込むサブプラン
またロールアウトプラン自体も、サブプランとサーバーとの間の動作を同期化します。 たとえば、10 台のサーバーから成るクラスタでこのプランを実行すると、N1 Service Provisioning System ソフトウェア により、各サブプランが正しく完了し、次のサブプランを継続する前に 10 台のサーバーすべてが同期していることが保証されます。
コンポーネント、プラン、およびサブプランに変数を挿入すると、オペレーターはデータセンターの操作をきめ細かく制御できます。 たとえば、コンポーネントを設定して、ポート番号に関する変数を追加することができます。 プランでは、この変数に値を割り当てることができます。 またIT オペレーターは、CLI またはHTML インタフェースを介して、プランで指定されている値に優先した 値を変数に割り当てることができます。 変数の設定は、ホストのセットや個別のホストに適用できます。
実行プランのための共通形式を提供することで、プロビジョニングソフトウェア は、多くのデータセンターに見られる、さまざまなスクリプト形式や言語の混沌状態を置き換えることができます。 オペレーターは、急いで書かれたスクリプトの内容を理解しようとするのではなく、集中的にバージョン管理が実施されるリポジトリから、必要なプランを選択することができます。
N1 Service Provisioning System ソフトウェア は、最も一般的な型のコンポーネントに対して、インストールやアンインストールなど数多くの操作に関する手続きを自動的に生成します。 配備で、1 セットのホストに対して一度に 1 つのコンポーネントをインストールする場合は、組み込み手続きを使用できるため、プランを作成する必要がありません。
次のような目的には、組み込み手続きではなくプランを使用します。
1 つの手続きで、複数のコンポーネントのインストールを自動化する
対象ホストのさまざまなセットへのコンポーネントのインストールを自動化する
インストール手続きに依存性チェックを追加する。たとえば、インストールにおいて、次のコンポーネントをインストールする前に、特定のコンポーネントのインストールと実行を確認する場合など
前の手順が正しく完了するまで特定の手順が始まらないように、インストールで手順を同期化する
N1 Service Provisioning System ソフトウェア では、サーバーやホストをオブジェクトとしてモデル化し、そのモデルをホストデータベースに保存することにより、サーバーやホストの管理が簡単に行えます。 プロビジョニングソフトウェア ではホスト型を定義できるため、ホストを設定や機能によって分類できます。 また、ホストセット、つまり 1 つの単位として管理できるホストのグループも作成できます。 ホスト検索を使用すると、現在の属性に基づいて、ホストを動的にグループ化することができます。 このようなホスト管理機能は、すでに説明したコンポーネントやプランなどのオブジェクトと連携して、データセンターにおけるアプリケーションの配備、設定、および分析を大幅に単純化します。 プロビジョニングソフトウェア でホストを操作するためには、Remote Agent をインストールし、データベースに登録し、プロビジョニングソフトウェア で使用する準備を行う必要があります。 これらの処理をすべて経たホストは、ノードとも呼ばれます。 ホストの詳細については、第 4 章「ホスト」 を参照してください。
N1 Service Provisioning System ソフトウェア の全オブジェクトには数多くの属性があり、属性には、名前などオブジェクトを識別するもの、オブジェクトを分類するもの、バージョンを追跡するもの、グループ化や表示/非表示を定義するものなどがあります。 属性は、特定のオブジェクトに固有のものもあれば、一部またはすべてのオブジェクトに使用できるものもあります。
N1 Service Provisioning System ソフトウェア には、内部リソースに自動的に適用される、system と呼ばれる組み込みカテゴリが含まれます その他すべてのカテゴリはユーザー定義可能です。 命名規則に関しては、カテゴリの定義には慎重な計画が必要です。 カテゴリの命名規則が十分適切に考慮されたものであれば、検索で使用すると強力なツールになり、またオブジェクトのグループを素早く識別または選択するための表示になります。 各オブジェクトのカテゴリは、特定の各オブジェクトに関連する節で詳細に説明されています。
カテゴリを使用すると、次の要素を分類できます。
プラン
コンポーネント
リソース
比較
時間が経過すると、オブジェクトは古くなる場合があります。 不要な表示を減らすため、Web ページのデフォルトや CLI コマンドで表示されないように、不要なオブジェクトを非表示にすることができます。 また、多くのオブジェクトを削除することも可能です。