IBM PureApplication System に対する準備: 第 1 回 アプリケーションのオンボードに関する概要

この連載では、アプリケーション中心の視点から、IBM PureApplication System に対して準備する方法、そして組織の中でその価値を最大限に引き出す方法を理解できるようお手伝いします。第 1 回となるこの記事では、アプリケーションのライフサイクルに関して PureApplication System が提供する機能を明らかにします。この記事は、ワークロードとしての既存のアプリケーションを識別してオンボード (配置) する際の参考にもなります。今回の記事は、今後の連載の内容を紹介するロードマップとみなすことができます。

Steve Abrams, Distinguished Engineer, IBM

Photo of Steve AbramsDr.Steve Abrams は、IBM Rational Chief Technology Office で Rational のクラウド・コンピューティング主任アーキテクトとして働く、IBM Distinguished Engineer です。IBM Rational Chief Technology Office では、クラウド・コンピューティングおよび DevOps を中心とした Rational の技術戦略を定義し、その戦略を IBM のビジネス戦略に統合しています。CTO チームのメンバーとして Jazz Integration Architecture の作成に尽力した彼は、IBM 製品でのこのアー手キテクチャーの導入を促進しています。また、オープンかつコラボレーティブに RESTful な統合アーキテクチャーを定義することにより、ソフトウェア・デリバリーライフサイクル全体での統合を大幅に単純化するための業界規模のイニシアティブ、Open Services for Lifecycle Collaboration も立ち上げました。さらに、IBM の研究部門で Rational の共同プロジェクトを管理しています。彼が重ねてきたさまざまな経歴には、コンピューター音楽、ロボット工学、計算幾何学、そして CAD/CAM とラピッド・プロトタイピング・ツールも含まれます。コロンビア大学で学び、コンピューター・サイエンスの学士号、修士号、博士号を取得しました。



Robbie John Minshall (rjminsha@us.ibm.com), Software architect , IBM China

Photo of Robbie MinshallRobbie Minshall は、ミドルウェア技術と品質保証を重点に取り組んでいる Rational Cloud アーキテクトです。2000年から 2005年にかけて、WebSphere Performance Engineering チームでアプリケーション開発、エンタープライズ・スケーラビリティー、そして Performance Advisors およびリアルタイム・メモリー検出の開発に携わっていました。2005年から 2010年まで、テスト自動化とクラウド・コンピューティングを中心とした WebSphere 開発組織の再編成に従事しました。現在は、エキスパート・インテグレーテッド・システムおよび最適化クラウド・ワークロードへのアプリケーションのオンボーディング技術に取り組んでいます。彼の出身はニュージーランドです。ジョンズ・ホプキンス大学を卒業し、そこで数学とコンピューター・サイエンスの学位を取得しました。



2012年 5月 24日

はじめに

IBM PureApplication System は、プライベート・クラウド環境でのアプリケーションの開発、プロビジョニング、および管理を大幅に単純化することを目的に、ワークロードを最適化したハードウェアおよびソフトウェアの統合アプライアンスです。このシステムに備わった統合管理機能により、弾力性のあるアプリケーション、データベース、そしてその他のワークロードのセルフサービス・プロビジョニングが可能になります。

IBM では、PureApplication System を提供するに当たり、データ・センターの重要な概念を見直しました。PureApplication System では、ハードウェアとソフトウェアの密接な統合によって、かつて例を見ないほどの自動化、パフォーマンス、単純化を実現しています。この能力をビジネスで最大限に活用するためには、PureApplication System のこれらの特徴をどのように活かすかに着目して、アプリケーション・ポートフォリオを慎重に検討することが重要です。この連載の目的は、アプリケーション中心の視点から、IBM PureApplication System に対して準備する方法、そして組織の中でその価値を最大限に引き出す方法を理解できるようお手伝いすることです。

この連載は、以下の記事で構成されています。

今回の記事の目的は、アプリケーションのライフサイクルに関して PureApplication System が提供する機能を明らかにすることです。それによって、既存のアプリケーションをワークロードとして識別してオンボード (配置) する方法、そしてアプリケーションに最も適した機能を見極める方法を理解できるようにお手伝いします。この記事は、今後の連載を紹介するロードマップとして考えてください。


PureApplication System でのワークロード

PureApplication System には多数の事前定義されたワークロード・パターンが組み込まれています。それぞれのパターンが、基礎となるシステム・リソース、スクリプト、監視、および管理動作のセットを定義しています。これらのパターンのいずれかを使用してアプリケーションをデプロイすれば、PureApplication System が自動的にリソースをプロビジョニングして構成し、動作をセットアップしてくれるため、ユーザーはアプリケーションそのものに専念することができます。PureApplication System でサポートしているワークロードのタイプには、仮想アプリケーションと仮想システムの 2 つがあります。どちらもアプリケーションの起動、監視といった面倒なタスクのほとんどを自動化するモデルですが、この 2 つには、いくつかの重要な違いがあります。

仮想アプリケーションでは、PureApplication System がアプリケーションのプロビジョニングと管理の大部分を引き受けます。そのため、総所有コストは大幅に削減されますが、仮想アプリケーションを適用できるのは、その特定のパターンの制約内に収まるアプリケーションだけです。一方、仮想システムでは、ユーザーは以下に挙げる内容に関して仮想アプリケーションよりも遥かに広い範囲を制御することができます (その結果、責任を持つ範囲も広くなります)。

  • どの仮想マシンをプロビジョニングするか?
  • 仮想マシンにどのソフトウェア・コンポーネントをインストールするか?
  • どのスクリプトを実行するか?
  • どのような方法で仮想マシンを監視するか?

では、この 2 つのタイプのワークロードについて詳しく見ていきましょう。まずは仮想アプリケーションから見ていきます。


仮想アプリケーション・パターン

PureApplication System は、基本的な Java アプリケーションや Web アプリケーションをはじめ、多数の仮想アプリケーション・パターンを認識します。アプリケーションを仮想アプリケーション・パターンとしてデプロイするには、ユーザーがアプリケーション・モデルを作成します。このモデルが、PureApplication System に対し、アプリケーションのプロビジョニングおよび構成方法に関して把握しておかなければならないすべての情報を提供します。例えば、アプリケーションを構成する成果物、アプリケーションが接続する必要のあるシステム、アプリケーションに必要なリソース、アプリケーションを管理するために PureApplication System に使用させるポリシー (弾力性のためのスケーリング・ポリシーなど) などの情報です。

プロビジョニング時に、PureApplication System は必要なあらゆるシステム・コンポーネント (仮想マシンやアプリケーション・サーバーなど) を自動的にプロビジョニングし、これらのコンポーネントをアプリケーション・モデルに従って自動的に構成します (データ・ソースの設定や、弾力性を有効にする監視およびトリガーの提供など)。さらに、アプリケーションの負荷を監視し、アプリケーションの需要に応じてシステム・リソースを追加でプロビジョニング (または解放) することさえします。このように、PureApplication System がアプリケーションの管理を引き受け、管理コストを削減し、システム・リソースの使用を最適化するため、従来のデプロイメントに比べ、遥かに高いアプリケーション密度を実現することができます。

それぞれの仮想アプリケーション・パターンは、特定のワークロードをサポートするインフラストラクチャーおよびソフトウェア・プラットフォームのセットアップ、構成、監視、管理に関する一連のベスト・プラクティスを具現化するように設計されています。したがって、仮想アプリケーションは PureApplication System リソースの使用を高いレベルで最適化するようになっていますが、この最適化を実現するために、仮想アプリケーション・パターンは実行可能なアプリケーションについて一定の前提を設けています。

仮想アプリケーション・パターンごとに特定の互換性基準があります。この互換性基準に照らし合わせてアプリケーションを評価することで、そのパターンがアプリケーションをサポートするかどうかを判断することができます。例えば、アプリケーションが使用する仕様や、アプリケーションの状態を処理する方法などの基準によって、特定のアプリケーションを仮想アプリケーションとして実行可能であるかどうかが決まる場合もあります。このように、IBM では評価基準を提供することにより、ユーザーが所定のアプリケーションと仮想アプリケーション・パターンとの互換性を判断できるようにしています。特定のアプリケーションに最も適したデプロイメント・オプションを判断する具体的な方法については、第 2 回を参照してください。

独自の仮想アプリケーション・パターンを定義することも可能ですが、これは高度なトピックなので、この連載では取り上げません。


仮想システム・パターン

仮想アプリケーション・パターンとは対照的に、仮想システム・パターンではユーザーがより広範に制御することができます。仮想マシン・イメージとそこにインストールするソフトウェア・コンポーネント、これらのコンポーネントを構成するために実行するスクリプト・パッケージ、さらにコンポーネントに組み込むモニター・エージェントはすべて、ユーザーが定義します。このように、仮想システムは従来のミドルウェア環境で可能な制御および柔軟性を維持すると同時に、ミドルウェア構成が単純であるか複雑であるかに関わらず、その構成を再現可能にし、一貫性をもたらし、短時間でデプロイメントできるようにします。

仮想システム・パターンを定義するには、PureApplication System の Pattern Editor (パターン・エディター) を使用します。これは、モデル駆動型の手法で従来のトポロジーを設計する場合の方法と同様です。IBM Hypervisor Edition イメージを使えば、Pattern Editor (パターン・エディター) を使用した簡単なプロセスで仮想システム・パターンを作成することができます。さらに、仮想マシン・イメージを取り込むかインポートして、ソフトウェア・バンドルを追加することによって、独自の仮想マシン・イメージを一から作成することもできます。

PureApplication System には、一般的なアプリケーション・トポロジーを対象に事前に定義された多数の仮想システム・パターンが組み込まれています。これらのパターンは、IBM ミドルウェア上で実行されるアプリケーションのベスト・プラクティスと「ゴールデン・トポロジー」を表します。仮想システム・パターンは、それぞれの組織のアプリケーションに応じた標準トポロジーのセットを完成させるための出発点として考えてください。仮想システム・パターンは、ソフトウェア、スクリプト・パッケージ、構成オプションを追加してアプリケーションや環境に合わせて調整することで、カスタマイズするように意図されています。

仮想システム・パターンをカスタマイズできるということは、PureApplication System で実行可能なワークロードに関する柔軟性がもたらされますが、それにはある程度の代償を伴います。具体的には、仕様に準拠するようにカスタマイズを行った仮想マシン・イメージの独自のカタログを長期的に管理するプロセスは、厄介であり、コストもかかることです。このことから、仮想システム・パターンに定義するコンテンツのセットを進化させるときには、IBM Hypervisor Edition イメージとスクリプト・パッケージを利用して、イメージ・カタログを極力小さいサイズに抑えることを推奨します。

仮想システム・パターンを作成するときには、1 つのパターンで多数のアプリケーションをサポートできるようにする方法を考えることが有益です。そのような方法を考えるには、階層化アプローチが必要となります。仮想マシン・イメージに多くのコンテンツを取り込みすぎると、再利用しにくいパターンになってしまいます。一般に、イメージにはオペレーティング・システムとミドルウェアを組み込み、アプリケーションを設定してミドルウェアを構成するにはスクリプト・パッケージを使用してください。こうすることで、かなり再利用しやすいパターンになります。

WebSphere Application Server 上で実行されるアプリケーションの仮想システム・パターンの作成プロセスを単純化するために、PureApplication System には Advanced Middleware Configuration (AMC) ツールが組み込まれています。AMC により、再現可能かつデプロイ可能な仮想システム・パターンを容易に作成できるようになります。AMC はパターンにアプリケーションと構成を組み込むために、アプリケーションがデプロイされている既存の WebSphere Application Server セルのイントロスペクションを行い、構成のすべての詳細を抽出してスクリプト・パッケージにカプセル化します。パターンをデプロイするときに、このスクリプト・パッケージが構成を再作成するという仕組みです。デプロイされたアプリケーションは、アプリケーションのバイナリー・ファイル (WAR、EAR など)、サーバー・トポロジー、アプリケーションをサポートするためのサーバー・トポロジーの構成、そして外部リソースなどで構成されます。このアプリケーションを WebSphere Application Server パターンの観点からイントロスペクションするには、WebSphere Application Server セルに対する接続およびイントロスペクション、アプリケーションをサポートするために必要なトポロジーの特定、WebSphere Application Server セルの定義に含まれる構成設定、そしてアプリケーションのデプロイメント・オプションとデプロイメント成果物が必要になります。現在のところ、これにはアプリケーション・ソースの分析は含まれていません。この方法は、どの PureApplication System 仮想アプリケーション・パターンの制約にも収まらず、完全かつ再利用可能で信頼できるデプロイメント・スクリプトや構成スクリプトがない、WebSphere Application Server 上で実行されるアプリケーションに役立ちます。第 3 回で、AMC ツールと IBM Workload Deployer を使用してアプリケーションをマイグレーションし、そのアプリケーションの新規インスタンスをクラウドにデプロイする方法を詳しく説明します。


アプリケーション・データ

PureApplication System では、さまざまな方法でデータをホストすることができます。アプリケーション・デプロイメント・モデルと同じように、高度な最適化と大幅な単純化を優先するために、サービスとしてのデータベースを使用するか、広範な制御ができることを優先するために、仮想システム・パターンの DB2 コンポーネントを使用するかを選択することができます。もちろん、外部の既存のシステムにデータをホストするという方法を選択することも可能です。


PureApplication System へのアプリケーションのオンボード

多くの場合、PureApplication System の価値は、実行しているアプリケーションの数に依存します。PureApplication System に配置するアプリケーションの数が多いほど、アプリケーションの管理を単純化する価値が高くなり、アプリケーション密度が高くなる可能性が大きくなります。この効果は、クラウド用に最適化できるアプリケーションが選択されている場合には、なおのこと際立ってきます。IBM は、PureApplication System に対する投資収益率を継続的に最大にするために、アプリケーション・ポートフォリオ全体でクラウド用に最適化できるアプリケーションを選択するプロセスを分析し、管理することの重要性を認識しています。

したがって、アプリケーションをオンボードする前に、アプリケーション・ポートフォリオを評価して、PureApplication System を導入するビジネスの目的にかなうアプリケーションの最有力候補を特定する必要があります。候補となるアプリケーションを特定したら、今度は各アプリケーションについて、仮想アプリケーション・パターンとの適合性を評価するか、あるいは仮想システム・パターンとしてオンボードするのが最善であるかを判断します。このプロセスが完了した上で、ワークロードのタイプに固有のオンボード機能を実行して、アプリケーションを PureApplication System に配置してください。


アプリケーション・ポートフォリオの調査

Rational Focal Point は、Web ベースのアプリケーション・ポートフォリオ管理ツールです。IBM では、PureApplication System にアプリケーションをオンボードする際の適合性について、大規模なアプリケーション・ポートフォリオを広範に評価できるようにカスタマイズしたワークスペース・テンプレートを用意しています。このツールは、アプリケーション・ポートフォリオの一部に対して責任を持つ多数の潜在的利害関係者が連携して使用できるように設計されています。

利害関係者は、各アプリケーションについて、極めて概要的なレベルの限られた質問に答えます。そうした質問の例としては、アプリケーションがベースとしているのはどんな技術か、アプリケーションを管理する難易度はどの程度か、アプリケーションはビジネスにとってどの程度重要か、といったものが挙げられます。これは、アプリケーションについてある程度の知識を持っている誰もが、調査の質問に答えられるようにするためです。質問に対する答えは、PureApplication System との適合度をスコアとして計算するために使用されます。これらのスコアを使用して、初期オンボード対象として検討すべきアプリケーション候補の適切なセットが明らかにされるとともに、後からアプリケーションをオンボードするためのロードマップが確立されます。

アプリケーションの適合性

候補となるアプリケーションを特定したら、そのアプリケーションが PureApplication System に用意されているいずれかの仮想アプリケーション・パターンに適合するかどうかを判断する必要があります。私たちは、パターンごとに詳細なアプリケーション適合性テストを用意しています。これらのテストには、アプリケーションに関する、非常に深い内容の極めて技術的な質問が含まれています。例えば、アプリケーションでのセッション状態の管理方法、リモート EJB に対するアプリケーションの依存関係などに関する質問です。これらの質問には、アプリケーションのアーキテクチャーおよび実装について、深い技術知識を持っている関係者が答えなければなりません。その答えによって、アプリケーションが仮想アプリケーション・パターンのいずれかに適合するのか、それとも仮想システム・パターンとしてオンボードする必要があるのかが決まってきます。


仮想アプリケーションのオンボード

仮想アプリケーションとしてアプリケーションをオンボードするのは、単純なプロセスです。PureApplication System ユーザー・インターフェースを直接使用して、特定のパターン・タイプ (例えば、「WebApplication Pattern Type (WebApplication パターン・タイプ)」) を選択します。すると、直観的なモデルが作成されるので、後はこのモデルをアプリケーションに合わせてカスタマイズすることができます (図 1 を参照)。

図 1. 仮想アプリケーション・パターン
仮想アプリケーション・パターン

WebApplication パターン・タイプを選択した場合は、アプリケーションの WAR ファイルと、リソース参照またはデータ・ソースとして使用する JNDI 名を指定します。外部 Web サービス・プロバイダーとの接続や CICS トランザクション・ゲートウェイなどのコンポーネントは、必要に応じてキャンバスにドラッグ・アンド・ドロップすることができます。サービスとしてのデータベースを使用する場合には、仮想アプリケーション内に直接データベースのスキーマとワークロード標準を定義することができます。

アプリケーションの設計が完了した後は、ミドルウェア構成の属性を扱わずに、必要なサービス・レベルを実現するためのルーティング、ロギング、JVM 設定、およびスケーリングに関する一連のポリシーを有効にすることができます。例えば、スケーリング・ポリシーでは、アプリケーションの応答時間に応じて動的にデプロイされるインスタンスの範囲を構成することができます (図 2 を参照)

図 2. 仮想アプリケーションのスケーリング・ポリシー
仮想アプリケーションのスケーリング・ポリシー

PureApplication System ユーザー・インターフェースを使用すれば、簡単にアプリケーションをオンボードすることができることに加え、再現可能な直観的モデルを使用して本番環境にアプリケーションをデプロイして管理するための一連のポリシーを定義することができます。仮想アプリケーションの一部として構成するコンポーネントを、他のアプリケーションで使用するために、再利用可能なコンポーネントとしてパレットに保存することもできます。

さらに、アプリケーション・モデルをいったん定義すると、アプリケーションを Rational Application Development IDE から直接デプロイできるようになります。この場合、開発者はアプリケーションをテスト目的で PureApplication System に簡単にデプロイできるだけでなく、仮想アプリケーション・パターンの制約に応じたアプリケーションを構築していることも確実になります。


仮想システムのオンボード

仮想アプリケーションと同様に、仮想システムでもモデル駆動型ユーザー・インターフェースを提供しています。アプリケーションを仮想システムとしてオンボードする場合、最初のステップとなるのは、ベースとなる仮想システム・パターンを定義することです (あるいは、適切な既存のパターンを特定します)。次に、アプリケーションおよび関連する WebSphere Application Server の構成を、スクリプト・パッケージを使用してミドルウェア・トポロジーに適用する必要があります。これらのスクリプト・パッケージにより、モデルに直接公開されている WebSphere Application Server の構成オプションの枠を遥かに超えて、完全にカスタマイズした環境を構成することができます。そのためには、ミドルウェアを構成するスクリプト・パッケージを自らの手で作成するか、あるいは PureApplication System の一部として組み込まれている Advanced Middleware Configuration 機能を使用します。

図 3 の Pattern Editor (パターン・エディター) には、仮想システム・パターンを構成するすべての仮想マシン (IBM Hypervisor Edition イメージを含む) と、プロビジョニング時に実行されるスクリプト・パッケージが示されています。

図 3. 仮想システム・パターン
仮想システム・パターン

図 3 に示されているパターンの例を構成しているのは、データベース、Deployment Manager を含む WebSphere Application Server セル、そして 2 つのフェデレーテッド・ノードです。各ノードに、デプロイメント時に実行されるスクリプト・パッケージがあることがわかります。このモデル駆動型設計では、わかりやすい方法で、既存のプロセスおよび投資に関連付けて標準的なミドルウェア・トポロジーを定義することができます。

スクリプト・パッケージを使用することで、既存の wsadmin スクリプトを組み込むことも、既存の自動化システムを呼び出して、そのシステムに仮想システムのデプロイメントの一部としてミドルウェアを構成させることもできます。アプリケーションのためにすでに投資した自動化を再利用したいとしたら (自動化に信頼性があり、再現および再利用が可能な自動化である場合)、スクリプト・パッケージを使用するのは便利な手段となります。

その一方、このような高品質の自動化を全体にわたって行うのは簡単なことではありません。そこで、IBM ではアプリケーションがデプロイされている既存の WebSphere Application Server セルの構成を素早く取り込み、これらの自動化を仮想システム・パターンに組み込むことによって自動化を生成できるソリューションを提供しています。それが、AMC ツールです。この技術は、PureApplication System 内に仮想システム・パターンとして提供されています。アプリケーションのインストールおよび構成を簡単に自動化するには、このサービスをデプロイし、提供されている AMC スクリプト・パッケージを仮想システム・パターンに追加した上でパターンをデプロイします。その後、自動化をインストールし、必要に応じて構成して、取り込める状態にします。

アプリケーションが使用できる状態になったら、AMC サービスにログインし、ミドルウェア構成を自動化プロジェクトとして取り込みます。すると、この自動化プロジェクトが最適化されて、その後の仮想システムのデプロイメントの一部として呼び出されるようになります。したがって、wsadmin スクリプトを作成したり、自動化をインストールしたりすることなく、有意義なミドルウェア・トポロジーへのアプリケーション・デプロイメントを完全に自動化できるというわけです。


まとめ

今回の記事では、IBM PureApplication System がデータ・センターの効率を大幅に改善し、アプリケーションの開発、管理、および監視にかかるコストを削減する仕組みを説明しました。PureApplication System には、組織内のさまざまな要求を満たす多数のデプロイメント・モデルがあります。ただし、PureApplication System の価値を実現するためには、このプライベート・クラウドに特有の性質を活用するのに最適なアプリケーションを特定した上で、クラウドにアプリケーションをオンボードする必要があります。アプリケーションのライフサイクル管理、アプリケーション・ポートフォリオおよびオンボード・プロセスの管理、そしてこのマイグレーション・シナリオの実行には、IBM が提供するツールを使用することができます。

謝辞

この記事をレビューしてくださった Mary Yost 氏に感謝いたします。

参考文献

コメント

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, Cloud computing
ArticleID=816696
ArticleTitle=IBM PureApplication System に対する準備: 第 1 回 アプリケーションのオンボードに関する概要
publish-date=05242012