WebSphere CloudBurst を使ってカスタマイズする: 第1回 高度にカスタマイズされたプライベート・クラウドを作成する

この記事は、IBM® WebSphere CloudBurst のカスタマイズ機能とその使い方を数回にわたって解説する記事の第 1 回です。第 1 回は、プライベートな WebSphere クラウドを作成する方法、WebSphere CloudBurst のカスタマイズ機能をいつ、どのように使用するか、そしてこれらの機能がどのように組織上の役割と合致するかについて説明します。

Dustin Amrhein, Staff Software Engineer, IBM

Dustin Amrhein は、WebSphere Application Server 開発チームのメンバーとして IBM に入社しました。この開発チームに在籍している間、主にWeb サービス・インフラストラクチャーと Web サービス・プログラミング・モデルに取り組んでいました。さらにJava ランタイムを対象とした RESTful なサービス・フレームワークの開発にも携わっていました。現在の任務は、技術エバンジェリストとしてIBM WebSphere ポートフォリオの新しい技術を広めることです。


developerWorks
        プロフェッショナル著者レベル

Ruth Willenborg, Senior Technical Staff Member, IBM

Ruth Willenborg は IBM の WebSphere Technology Institute のシニア・テクニカル・スタッフ・メンバーです。現在 WebSphere によるクラウド・コンピューティングと仮想アプライアンス・イニシアティブに従事しており、また新しい IBM WebSphere CloudBurst アプライアンス の技術エバンジェリストでもあります。仮想化とアプライアンス・イニシアティブに従事する前には、WebSphere パフォーマンス・チームのマネージャーとして、WebSphere Application Server のパフォーマンス分析、パフォーマンス・ベンチマークおよびパフォーマンス・ツール開発を担当していました。彼女は IBM で 20 年を超えるソフトウェア開発の経験があります。「Performance Analysis for Java Web Sites」 (2002 年 Addison-Wesley 刊) の共著者でもあります。


developerWorks 貢献著者レベル

2009年 7月 22日

はじめに

一度インストールして構成したイメージをコピーして繰り返し再利用しようと考えると、そこで稼働するすべてのサーバーがそれぞれに固有であるという現実に、すぐに直面することとなります。その固有性は、パスワードや IP アドレスの違いといった些細な事柄の場合もあれば、ソフトウェアやアプリケーションの要件が異なるといった重大な事柄の場合もあります。イメージの再利用によって期待される効率化を達成するためには、そのイメージの中に何を入れるのか、そしてイメージをいくつ作成するのかを十分に考慮する必要があります。

この記事では、IBM WebSphere CloudBurst アプライアンス における、イメージのカスタマイズ機能の概要について、イメージの作成、イメージの拡張、スクリプト・パッケージ、パターン定義、イメージの保守などを含めて説明します。このシリーズの今後の記事では、そうした各手法を詳細に説明する例を紹介していきます。


カスタマイズされたプライベート・クラウドを作成する

IBM の新しい WebSphere CloudBurst アプライアンス を利用すると、プライベート・クラウドの中で WebSphere 仮想システムを作成、デプロイ、管理することができます。このアプライアンスには、OVF (Open Virtualization Format) 標準に従って WebSphere Application Server の仮想イメージをパッケージ化した IBM WebSphere Application Server Hypervisor Edition が同梱されています。このパッケージには、オペレーティング・システム、WebSphere Application Server のプロファイルとバイナリー、そして IBM HTTP Server が含まれており、それらのすべてがプリインストールされ、すぐにハイパーバイザーにデプロイできるようになっています。

図 1. WebSphere Application Server Hypervisor Edition
図 1. WebSphere Application Server Hypervisor Edition

WebSphere Application Server Hypervisor Edition をうまく使って環境を構築することで、WebSphere CloudBurst はより高いレベルの価値をパターンとして実現します。これらのパターンは WebSphere の構成を表す重要なものであり、また WebSphere CloudBurst を介して、プライベート・クラウド内のハイパーバイザーのセットにデプロイすることもできます。図 2 は WebSphere CloudBurst に同梱されている WebSphere クラスター・パターンを表しています。

図 2. WebSphere CloudBurst クラスター・パターン
図 2. WebSphere CloudBurst クラスター・パターン

WebSphere CloudBurst アプライアンス に同梱されている構成済みの仮想イメージとパターンを利用することで、企業は即座に WebSphere CloudBurst の価値を享受することができます。しかし、一般的に多くのユーザーは、使用しているプライベート・クラウドにおいて、環境のカスタマイズを必要とします。WebSphere CloudBurst を使用すると、オペレーティング・システム、ミドルウェア、アプリケーションのレイヤーを含む、プライベートな WebSphere クラウドをあらゆるレベルでカスタマイズできます。こうしたカスタマイズ対象となるレイヤーは、オペレーティング・システム環境やミドルウェア環境、アプリケーションをそれぞれ別々のチームが担当するといった、企業で多く見られる役割分担に対応しています。WebSphere CloudBurst は、こうしたカスタマイズ機能と共に、さまざまなカスタマイズ方針、つまり組織上の役割に合わせたユーザー・アクセス・モデルも提供します。

WebSphere CloudBurst は、ユーザーが仮想イメージとパターンの両方をカスタマイズできるようにすることで、こうしたカスタマイズ機能を提供しています。どこでカスタマイズを行うかは、カスタマイズのタイプと頻度によって異なります。

図 3 は、さまざまなカスタマイズのニーズと、これらのカスタマイズを 組織上の従来の役割を維持した上で、 WebSphere CloudBurst で実現する方法を説明しています。WebSphere CloudBurst は、カスタマイズを保存し再利用するためのメカニズムを提供し、それと同時に、一部のカスタマイズ (例えば仮想マシンのパスワードなど) がデプロイメントごとに異なり、従ってその都度カスタマイズを行う必要があることも認識しています。

図 3. カスタマイズの概要
図 3. カスタマイズの概要

カスタム・イメージ

先ほど触れたように、WebSphere Application Server Hypervisor Edition は仮想イメージであり、オペレーティング・システムと共に WebSphere Application Server のバイナリーとプロファイル、そして IBM HTTP Server がプリインストールされています。WebSphere のパターンが WebSphere CloudBurst を介してプライベート・クラウドにデプロイされると、仮想イメージの中のオペレーティング・システムと選択されたコンポーネントがアクティブになり、仮想マシンのインスタンスが作成されます。しかし、仮想イメージのパッケージを使うと非常に迅速にミドルウェア環境を作成できますが、それによって必ずしも必要なオペレーティング・システム機能が提供されるとは限りません。

カスタム・ソフトウェアをインストールすることでオペレーティング・システム環境をカスタマイズできるように、WebSphere CloudBurst は仮想イメージの拡張という概念を導入しています。つまり WebSphere Application Server Hypervisor Edition の仮想イメージの 1 つを拡張してそのイメージを変更し、そして変更されたイメージを再度キャプチャーすることができます。

図 4. 仮想イメージを拡張する
図 4. 仮想イメージを拡張する

再度キャプチャーされたイメージは加えた変更が反映されており、WebSphere CloudBurst のカタログの中に保存されます。イメージは、いったんカタログに格納されると、WebSphere CloudBurst アプライアンス を使用して作成されるすべてのパターンのベースとして使うことができます。この同じ仮想イメージをベースとして、多様な WebSphere の構成を作ることができます。これはつまり、ミドルウェアのトポロジーやアプリケーションにかかわらず、プライベート・クラウドで実行されるすべての WebSphere Application Server 仮想システムで、基礎となるオペレーティング・システムやそこにインストールされたソフトウェアは完全に同じになるということです。しかも、カスタマイズは 1 度だけ実行すればよく、そうすれば必要なパターンの数だけ繰り返し仮想イメージを再利用することができます。

カスタム環境のパターン

もちろん、WebSphere Application Server のミドルウェア環境に適したカスタマイズもあります。前述のとおり、WebSphere CloudBurst は WebSphere のミドルウェア環境をパターンで表現します。これらのパターンは要するに、必要なカスタマイズを行った WebSphere Application Server のトポロジーを表しています。WebSphere CloudBurst のパターン・エディター を使うと、グラフィカル・インターフェースを使って、トポロジー定義、カスタム設定、ユーザー・アプリケーションを含む WebSphere Application Server のミドルウェア環境を作成することができます。

例えば、WebSphere Application Server 環境の保守を担当するチームのメンバーが、デプロイメント・マネージャー、4 つのカスタム・ノード、2 つの IBM HTTP Server を含む WebSphere クラスター・パターンを作成したいとします。そのためには、この記事の前の方で触れたクラスター・パターンを複製し、そして上記のニーズに合うようにトポロジーを変更すればよく、それらがすべて パターン・エディター を使って行えるのです。

図 5. WebSphere のトポロジーをカスタマイズする
図 5. WebSphere のトポロジーをカスタマイズする

パターンの一部としてトポロジー設定を保存できる他に、WebSphere Application Server 環境の追加プロパティー (メッセージング、パーシスタンス、セキュリティーの各種設定など) も、すべてパターンの一部として構成し、保存することができます。例えば、標準的な WebSphere Application Server 環境のパターンを作成する際に、メモリー内セッション・パーシスタンスやグローバル・セキュリティーを有効にしておくことができます。WebSphere の各コンポーネントのプロパティー (仮想マシンのサイズや仮想 CPU の数など) も、パターンの一部として標準化して保存することができます。これらのカスタマイズをすべてパターンとしてキャプチャーすることで、一貫性のある、繰り返し利用可能なミドルウェア環境を作成することができます。

カスタム・アプリケーションのパターン

パターン・エディターによってトポロジーの変更や設定を構成できる他、WebSphere CloudBurst には、WebSphere Application Server の構成に関して任意の変更を加えられる機能も用意されています。例えば、企業のアプリケーションを担当するチームのメンバーが、上記のカスタマイズされたクラスター・パターンを利用して、その構成にアプリケーションを追加することができます。

図 6. スクリプト・パッケージによるカスタマイズ
図 6. スクリプト・パッケージによるカスタマイズ

カスタマイズの一環で、アプリケーションのインストールやサーバーに対するトレース設定の構成を行う場合、またはそれ以外にも WebSphere Application Server 環境を パターン・エディター の機能の範囲外でチューニングする場合には、スクリプト・パッケージを使うことができます。これらのコンポーネントには、実行可能ファイル (およびこれらの実行可能ファイルに必要な成果物) が含まれ、そしてパターンがデプロイされた後に WebSphere CloudBurst によって呼び出されます。スクリプト・パッケージを使うことで、実質的にあらゆる種類のカスタマイズを実現することができます。

カスタム・デプロイメント

一部のカスタマイズは、WebSphere Application Server のデプロイメントごとに異なります。通常は、こうした特定の値をパターンの中にキャプチャーすることは適切ではありません。文字どおりすべてのデプロイメントに対してパターンを作成して保存する羽目になるからです。WebSphere CloudBurst を使用すると、パターンの一部として固定されていないプロパティーを変更することができます。これらには、仮想マシンのサイズ、WebSphere Application Server のセル名やノード名、仮想システムのパスワード、スクリプト・パッケージのカスタム・プロパティーなどが含まれます。

些細なことかもしれませんが、パターンの一部として固定されていないプロパティーのみを変更できることは大きな意味を持ちます。この制約によって、ミドルウェア環境の構築や組織のリソースの可用性に精通しているスペシャリストが、そうした知識を構成の中に“封じ込め”、パターンを堅牢にすることができます。後でユーザーがそうした環境を必要とする場合は、WebSphere CloudBurst のセルフサービス機能を使用してこれらのパターンをデプロイすることができ、そのWebSphere の仮想システムがプライベート・クラウドの中で最適な動作をすることが保証されます。


いつ、何をカスタマイズするか

仮想イメージと WebSphere CloudBurst パターンの両方のカスタマイズ・オプションを効果的に活用するためには、これらのカスタマイズをいつ使用するのかを理解することが重要です。仮想イメージを拡張するのが適切なシナリオもあれば、パターンをカスタマイズした方がよいシナリオもあるからです。

仮想イメージを拡張する方法は、さまざまなシナリオに使用することができます。例えば、企業内のオペレーティング・システムのすべてのインスタンスに特別なウィルス対策ソフトウェアをインストールしておく必要があるとします。このシナリオは、イメージ拡張の対象として最適です。イメージ・レベルでカスタマイズを行うことにより、カスタマイズは 1 度だけで済み、その後はプライベート・クラウドのすべての WebSphere 仮想システムで、そのカスタマイズ済みイメージを利用すればよいからです。

ミドルウェア環境によくある依存関係も、イメージの拡張によるカスタマイズの対象として適切です。例えば、デプロイするミドルウェアの大部分において共通の JDBC ドライバーを利用しているとします。この場合、そのドライバーを拡張イメージの中にインストールし、そしてそのカスタマイズされたイメージを使って WebSphere Application Server のパターンを作成した後、そのパターンをプライベート・クラウドにデプロイすることができます。イメージをカスタマイズすることによって、その JDBC ドライバーが各環境で必ず使用されることとなり、デプロイ後に追加のインストール・ステップを実行する必要がなくなります。

パターンをカスタマイズする方法は、パターン・エディター とスクリプト・パッケージのどちらを使う場合であれ、ミドルウェア・インスタンスによって変更内容が異なる場合に最適です。例えば、実稼働環境用の WebSphere Application Server クラスター・パターンには、テストに使用した類似の環境よりも多くのカスタム・ノードが含まれるかもしれません。こういった異なるトポロジーは、使用する際に 1 度作成し、それをパターンとして保存しておくことができます。これにより、さまざまなチームが必要に応じてそれらのパターンを再利用することができるのです。テスト部門にとっては、WebSphere Application Server 仮想システムの作成後、すべてのアプリケーションが自動的にインストールされるというメリットがあり、これも WebSphere CloudBurst のカスタマイズ機能によって実現できます。環境の中で変更を行う場合も、さらに簡単です。例えば、トポロジーが同じである 2 つのパターンのうち、テスト・グループが使用するパターンはデプロイ後にトレースを有効にするようカスタマイズされている、という点だけが異なるようにすることも可能です。

表 1. WebSphere CloudBurst のカスタマイズのマトリックス
手法説明利点WebSphere CloudBurst が使用する対象カスタマイズの例
イメージ変更はイメージ・バイナリーに対して直接、1 度だけ行われます。スピード、コード開発とテストの削減オペレーティング・システムと WebSphere Application Serverモニタリング・エージェント、JDBC ドライバー
パターンとスクリプト変更は 1 度自動化され、各デプロイメントに対して実行されます。異なるアプリケーションやパラメーターが使えるイメージの再利用パターンの拡張オプション (メッセージング、HTTP セッション、セキュリティー)アプリケーションのデプロイ、WebSphere の構成の実行
デプロイ時のパラメーター変更は各環境に対して一意に適用されます。各仮想マシンに対する一意の値の使用パスワード、WebSphere のセル名やノード名アプリケーション・データベースの名前

上記の表 1 は、WebSphere CloudBurst アプライアンス に現在含まれている、さまざまなカスタマイズ手法の要約と例を示しています。一般的に、プライベート WebSphere クラウドのすべての環境で必要なカスタマイズの場合には、仮想イメージの拡張が最適です。なぜならカスタマイズは 1 回で完了し、その後、作成されるすべての WebSphere パターンでそのカスタマイズを使用することができ、各仮想システムにはそのカスタマイズが必ず含まれることになるからです。もしカスタマイズが、デプロイされる環境のコンテキストに特有である場合には (例えば、特定のアプリケーションをインストールするなど)、パターンとして編集することが最適となります。


役割ごとの権限

WebSphere CloudBurstのカスタマイズ機能は、組織上の役割に応じたカスタマイズ機能を提供するだけでなく、ユーザーを定義し、システムに対するユーザーの権限を組織上の役割と合致させるメカニズムも提供しています。WebSphere CloudBurst の管理機能を使うと、ユーザーやユーザー・グループを定義して、一連の権限と関連付けることができます。WebSphere CloudBurst のコンソールには、以下に対する権限が含まれています。

  • パターンのデプロイ
  • パターンの作成
  • カタログの管理
  • クラウドの管理
  • アプライアンスの管理

これらのさまざまな権限は、WebSphere CloudBurst の各種カスタマイズ・シナリオや、各 IT チームのさまざまな役割と、うまく合致します。例えば、オペレーティング・システムのインフラストラクチャーを担当するチームは、カスタマイズされた仮想イメージの作成や保存を行えるように、WebSphere CloudBurst のカタログを管理するための権限を必要とします。一方、アプリケーションやミドルウェアを担当するチームは、パターンの作成やデプロイのための権限を必要とします。このように権限を分けることによって、これらのチームはプライベート・クラウド用に調整された WebSphere Application Server ミドルウェア環境を作成することができます。

ユーザーやユーザー・グループに対しては、WebSphere CloudBurst で定義される権限を、1 つ (定義されているすべてのユーザーはパターンをデプロイすることができます) でもすべてでも、任意の数だけ付与することができます。IT 部門のメンバーのタスク・セットが1つしかないのは稀という現実を踏まえて、ユーザーを複数の権限と関連付けられるようになっています。

役割ごとの権限は、各イメージ、パターン、仮想システムその他に対するきめ細かなアクセス制御と組み合わせることができます。このレベルのアクセス制御によって、より詳細な管理制御を行うことができるため、こうしたアクセス制御は複数の組織をサポートする場合に特に有効です。例えば、一般的な WebSphere Application Server 環境のパターンを複数の部門で共有する場合があります。しかし、特定のアプリケーションが追加されると、それらのパターンはアクセス制御され、適切な部門以外はそれらのパターンを表示、デプロイできなくなります。図 7 は、これが WebSphere CloudBurst でどのように機能するかを示しています。

図 7. パターンのアクセス制御
図 7. パターンのアクセス制御

左側では、WebSphere クラスター (開発) パターンへのアクセス許可が Developer ユーザーに与えられています。右側には、Developer ユーザーのパターン・ビューが表示されています。Developer ユーザーには WebSphere クラスター (開発) パターンしか表示されていないことに注目してください。これは、このユーザーがアクセスできるのは、このパターンのみだからです。

WebSphere CloudBurst は、役割ごとの権限と、きめ細やかなアクセス制御の両方を提供することにより、WebSphere によるプライベート・クラウドの構成コンポーネントを制御する堅牢なシステムを実現することができます。


まとめ

WebSphere CloudBurst アプライアンス はプライベートな WebSphere クラウド環境の作成に関して、双方の良い点を取り入れています。つまり、WebSphere Application Server Hypervisor Edition と、この仮想イメージから作成された構成済みの WebSphere パターンが含まれているため、関連する WebSphere ミドルウェア環境をプライベート・クラウドに即座にデプロイすることができます。さらに、カスタマイズ機能によって、ほぼあらゆる種類のWebSphere Application Server 環境を実現することができます。カスタマイズの内容が、カスタム・ソフトウェアのインストールであれ、WebSphere のトポロジーの変更であれ、あるいはカスタム・アプリケーションのインストールであれ、WebSphere CloudBurst を利用することで、高度にカスタマイズされた WebSphere 環境を作成することができます。そしてその環境を、カスタム仮想イメージとして、あるいはカスタム WebSphere パターンとして、アプライアンスに保存して最大限に再利用することができます。

このシリーズの今後の記事では、WebSphere CloudBurst アプライアンス でこれらの多様なカスタマイズを行う方法の詳細について説明します。

参考文献

学ぶために

議論するために

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=WebSphere, Web development, Cloud computing
ArticleID=474446
ArticleTitle=WebSphere CloudBurst を使ってカスタマイズする: 第1回 高度にカスタマイズされたプライベート・クラウドを作成する
publish-date=07222009