IBM®
本文へジャンプ
    Japan [変更]    ご利用条件
 
 
検索範囲検索:    
    ホーム    製品    サービス & ソリューション    サポート & ダウンロード    マイアカウント    
skip to main content

developerWorks Japan  >  Autonomic computing  >

オートノミック・コンピューティングの発展レベルを理解する

developerWorks
ページオプション

JavaScript を要するドキュメントオプションは表示されません

原文はこちら

原文はこちら


レベル: 初級

Daniel Worden (dworden@worden.net), 著者/アプリケーション開発者

2004年 2月 18日

IBMのオートノミック・コンピューティングには5つの異なる発展レベルがあります。この記事では各レベルの詳細と、この発展プロセスがインフォメーション・テクノロジー(IT)のキーとなるエリアに与える潜在的な効果についてご紹介いたします。

はじめに

オートノミック・コンピューティング・アーキテクチャーは、システム・プロフェッショナルにとって、にわかに注目されるエリアとなりつつあります。多くの人が、システムの自己構成(self-configuring)、自己修復(self-healing)、自己最適化(self-optimizing)、および自己防御(self-protecting)を実現するための標準化技術を確立することが、オートノミック・コンピューティングの成功のための重要な要因であると考えています。

オートノミック・コンピューティング・アーキテクチャーが人の介在を全く必要としないシステムという考え方を促進するものではないということは特記すべきことです。このモデルは、非常にスキルの高い専門家の分析や才能を必要とする局面を含むものです。

オートノミック・コンピューティング・アーキテクチャーの目標は、予期せぬ状況での人の介在を最小化することです。管理機能のほとんどは、あらかじめ定義されたポリシーにしたがって実行されるべきです。オートノミック・コンピューティング・アーキテクチャーは、技術的進歩によるおとぎの国を指しているのではなく、異なる技術、組織、実践者が、様々な局面で、継続的に自身を発見していくことをさしています。

オートノミック・コンピューティング・アーキテクチャーのロードマップは、ビジネスがIT環境をいかにして継続的に発展させるかを交えつつ、以下の5つの発展レベルを説明しています。

基礎(Basic) --> 管理(Managed) --> 予測(Predictive) --> 適応(Adaptive) --> 自律(Autonomic)

これらの言葉は次のように定義できます。

  • 基礎(Basic): 製品と環境に関する専門知識は人に依存しており、単純な手順さえもITスタッフの介在が必要となるレベル。
  • 管理(Managed): スクリプト、およびロギング・ツールが、自動化された手順の実行とレポーティングを行うレベル。各ITスタッフが計画(Plan)、および決定(Decision)のために、ツールによって収集された情報を吟味、分析する。
  • 予測(Predictive): 事前に設定された閾値により検知された初期的な注意フラグが通知される。蓄積された知識(Knowledge)により適切なアクションがシステムにより推奨される。ITスタッフは集中的に蓄積された発生イベントの情報と、これまでの経験によりイベントに対する解決策を遂行する。
  • 適応(Adaptive): 予測能力を備えたシステムが、状況に応じて適切なアクションを実行。
  • 自律(Autonomic): 優先順位をベースにしたフレームワークの中で、資源の配置などのシステムのアクティビティをポリシーが管理する。

"予測"、あるいは"適応"レベルのシステムの例は今日でもあるものの、一般的なお客様の現在のIT環境のほとんどは"基礎"、あるいは"管理"レベルにあります。この状況は、ITの状況変化に対する適応を遅延させ、多大なオーバーヘッドとワークロードの重複、およびビジネス・チャンスの損失を引き起こしています。一方で、組織は、生産性と(ビジネスへの)貢献の大きく増大させることをITに期待しています。オートノミック・コンピューティング・アーキテクチャーは、今日、および将来においてこれらの課題を解決するものとして位置づけられます。




上に戻る


発展的プロセスへの適用

オートノミックの発展レベルを理解するための鍵は、このモデルが進化的(段階的)なプロセスであることを認識することです。システムの自己最適化、自己修復、自己構成、自己回復能力の実装を一朝一夕で実現するアプローチはありません。"基礎"、および"管理"レベルにおいては、アプリケーションが稼動環境の状況を知るすべはありません。問題を回避できるケースは非常に稀です。

システム基盤であろうとアプリケーション・ソフトウェアであろうと、システム・コンポーネントが、閾値を超える危険性があることを予測するようにするためには、センサーが構成され、かつ起動されている必要があります。IBMは、これまでの数年間にわたって、このセンサーの機能を多くの製品のオファリングの中に組み込んで来ました。センサーがデータを収集し計測するようになれば、次の発展レベルは、取得した情報を組み立てることになります。オートノミック・コンピューティング・システムが形作られるにしたがって、システムと各装置が監視されるだけでなく、定義済みの閾値に近づいていること、達したこと、超えたことを自動的に検知し、レポートすることができるようになります。

例えば、今日、ほとんどの記憶装置(ハードディスク、磁気ディスク、光ディスク)に組み込まれている障害事前検知機能(Self-Monitoring Analyzing Reporting Tools : SMART)では、特定のディスクの障害発生の予測を行うことができます。また、障害予測の通知により人の介在による対応を行うことができます。問題に関して事後の対応と修復を行うのではなく、問題の発生を予測し、これを未然に防止することが可能となるのです。

オートノミック・コンピューティングの"適応"レベルにおいては、システム資源を監視するプロセスの起動要求や、一連の障害予測情報に対する機械的な対応、内在する問題を軽減するための自動化された手順の決定をシステムが実施します。障害ドライブから予備ドライブへのミラーリングを自動的に行うよう構成可能であるRAID Arrayを一例として挙げることができます。

あるシステムが予測レベルであるか、更に進化した適応レベルになっているかの1つの判断基準は、状況変化への対応に関して自動化されているかどうかと言えます。

予測的なシステム管理の一要素としての閾値レベルによる管理は、システム環境の進化にともなって無くなっていくものではありません。これらの性能基準の値は引き続き取得、分析され、その結果、次に取るべきアクションの推奨例やオプションが提示されます。システムのイベント監視や通知の能力が、より信頼できるものになっていくにつれ、応答レベルが定義され、防御ラインの最初の一連のアクションがシステムにより自動決定されていくようになります。このような流れで、ITサービスがオートノミック・コンピューティング・システムにおける"適応"レベルまで発展していくと考えることが可能です。




上に戻る


ビジネス要件に応じた自律的なシステムの調整

"適応"レベル、および"自律"レベルまでシステムを発展させるためには、IT基盤が広範囲に渡って使用可能で、かつ統合されている必要があります。そこでは、発生しそうな問題がいつコンポーネントに影響を与えそうか、あるいはユーザーの要求の増加がどこでSLA(Service Level Agreement)を低下させる可能性があるかを、各コンポーネントが機敏に認識するようにしておく必要があります。"適応"レベルの各コンポーネントは、サービスの継続やパフォーマンスの維持を確保するために、代替のシステム基盤を利用することができます。

"適応"レベルのツールは、まさに定義されつつあるのが現状です。1つの例がAdaptive Replacement Cache(ARC)です。この組み込みの適応機能により、システムは、パフォーマンスに応じて、自律チューニングを行うことができます。ストレージ・システムやデータベース、プロセッサー、ファイル・システム、ミドルウェアやWebサーバーはすべて、キャッシュを使用しています。IBMアルマデン研究所の研究者は、ある特定の負荷のためのキャッシュ・チューニングを事前に行っておくのではなく、キャッシュを動的に最適化し、それによりサーバー・パフォーマンスを最適化する手法を開発しました。

これらの手法には、キャッシュのLRU(Least Resently Used : 最近もっとも使われていない)ページとLFU(Least Frequently Used : 最も使用頻度の低い)ページの均衡を保つことも含まれています。どちらか一方の手法を単独で利用するより、両手法をバランスよく取り入れたほうが、劇的にパフォーマンスが最適化されることは実証されています。これは、その他のオートノミック・コンピューティングの概念と同様、いかにして"適応"レベルのコンピューティングが進化を遂げていくかの一例に過ぎません。

予測レベル、あるいは適応レベルのツールが活用されている場合、システムの状況の変化に動的に対応するためのポリシーを指定することができるようになります。一例を挙げると、ビジネスにおける主要なサーバーに追加のシステム資源が必要になった状況では、そのサーバーのサービスレベルに影響を与える前に、あるタスクのために確保されているシステム資源を、一時的にでも、より優先順位の高いタスクに移動させるほうが良いというケースも有り得ます

ポリシーを定義することで、関連するタスクの優先度に応じたシステム資源の動的な再配置の実行をシステムに行わせることが可能となります。社員用のイントラネット・システムは、例えば企業の最大手の顧客のためのオンライン受注システムに比べれば、優先度は低いと考えられます。システムの使用状況が急激に増加した場合には、ユーザーの要求量が落ち着くまではイントラネット・システムからオンライン・トランザクション・システムへとシステム資源(プロセッサー、メモリーやネットワーク帯域)を振り向けることもできます。

このような性能監視と事前設定されたポリシーによる変更のループにより、システムは自身で学習する段階になります。システム基盤が、予測し状況に適応するだけでなく、学習するというこのオートノミックの進化レベルは、将来のものと思えるかもしれません。しかし、人の介在しないシステム運用のための基盤は、オートノミック・コンピューティング・システムの実現に向けて構築されつつあります。




上に戻る


オートノミックの効果

オートノミック・コンピューティング・アーキテクチャーは、明らかに多大な潜在需要をもたらします。ビジョン先行の技術的なアプローチの場合に常にそうであるように、実際の製品が取るであろう具体的な形を描くことは難しいかもしれません。ただ、ソフトウェアの観点からは、オートノミック・コンピューティング・モデルにより築かれる潜在的な解決策と、現在直面している課題を比較することが最も有効です。システム資源が、このモデルのどのレベルに位置づけられるかについての理解を容易にする意味で、次のようないくつかの現実的な例を挙げ、その中での発展レベルの定義の有り方を見ていくことにしましょう。

  • 問題管理
  • システムの可用性
  • セキュリティー
  • ユーザー管理
  • ソリューション導入
  • パフォーマンス・キャパシティー管理

現在では、これらのエリアにおいて、既存の運用管理やコーディングの規約に影響を与えるであろうオートノミック・ツールや技術が開発されつつあります。次章より、個々のオートノミックの発展レベルが既存の運用管理やコーディングの規約にどのような影響を与えるかを段階的に見てみることにします。




上に戻る


問題管理

問題管理は、オートノミック・コンピューティング・ツールが、今すぐにでも適用できる有望なエリアの1つです。これは誰しもが経験することだと思いますが、コンピューティングのいくつかの局面における技術サポートは基本的に難しいものであり、それがシステム・エラーをもたらし、結果的に生産性を低下させています。こうしたプロセスの管理には、これまで、堅固な技術知識の蓄積と、適切な専門知識をもつ技術支援チームを組織する必要がありました。

計測ツールがより多くのシステムに組み込まれていくにつれて、実装されている各技術がいつ障害の危機にさらされているかを特定するための予測アルゴリズムが使用可能になります。これらのセンサーにより、ソフトウェアが、問題を引き起こす可能性がある慢性的な症状を特定できるようになる基礎が形成されます。例えば、事前障害予知機能(Problem Failure Analysis:PFA)は、DB2®やTotalStorage®ソリューションといったIBM製品に組み込まれています。

"適応"レベル、および"自律"レベルのコンピューティング・システムは、問題の発生を事前に検知し、また、コンポーネント間で事前定義されたSLA(Service Level Agreement)の範囲内で調整を行いながら、必要に応じたシステム資源の再配置やシステム資源要求に対するバランスをとっていくのです。




上に戻る


システムの可用性

ビジネスにおいて、24時間365日の稼動への要件は、かつてないほど現実のものとなってきています。”無停止"(NonStop)はもはや特定メーカーのブランド名ではなく、ビジネスにおける情報伝達の中枢としてのITシステムへの期待そのものです。ミッション・クリティカル・システムにおいて影響度の大きい問題の発生は、失業などといった壊滅的な結果を導きかねません。

先に指摘したとおり、システム基盤がオートノミック・コンピューティングの発展レベルに従って進化するにしたがって、予測、および適応能力が向上し、それらによって最も重要なシステムが正常稼動することを保証できるようになります。ポリシーにより、システムの各要素は互いに調整し、お互いの優先順位を認識し、使用可能なシステム資源の再分配を自動的に管理することが可能となります。




上に戻る


セキュリティとユーザー管理

オートノミック・コンピューティングの発展レベルの話の中では、ユーザー管理とアプリケーション・セキュリティは関連の深いテーマと位置づけられます。パスワードの変更と個々人の許可プロファイルの管理は、コンピューター・サービスを共有する社内(組織など)や個人ユーザーにとっては時間の浪費であり、かつしばしば嫌気を感じる作業と言えるでしょう。

シングル・サインオン(Single Sign-on:SSO)は、多数のユーザーIDとパスワードといったユーザー情報を管理するためのアプローチの1つです。LDAPやAcrive Directory、およびNIS+は、特定の管理目標に対しては有用なツールといえます。しかしながら、これらがアプリケーション、およびシステム・セキュリティにおいては十分なレベルの機能を提供するものではないこと明白です。

IBMは、統合ソリューション・コンソール(Integrated Solution Console:ISC)といった新しいツールを開発してきており、これらの新しいツールはオートノミック・コンピューティング・アーキテクチャーをサポートするものとして公開されます。統合ソリューション・コンソールは、組織内の異なるアプリケーション、サーバー、システム機器に対しての共通の管理ツール上でのより細やかなアクセス制御を可能にします。これはオートノミック・コンピューティングの発展レベルを推し進めた時に、ユーザー管理において享受できる恩恵のほんの一例です。

使用していないポートのクローズや、デフォルト・パスワードの変更といった基本的なシステム・セキュリティ管理は、アクセス・パターンを分析/評価してシステム的な対応を実行するツールにより、最初に自動化できる部分です。1つの例がTivoli Risk Manager®で、この製品により、事前定義されたポリシーを使用して権限のないアクセス要求や、サービスの停止を検知することができます。

情報とその情報を管理する技術の重要度が上がるにつれて、セキュアなシステムを維持する方法も足並みをそろえて重要となってきます。システムにおける、セキュリティの脅威に対する動的管理、予知、および適応能力の1つの判断指標として、オートノミック・コンピューティングの発展レベルを適用することができるのです。




上に戻る


ソリューション導入

今日、ソフトウェアを導入する場合には、システム環境の矛盾を避けるために、アプリケーションを実行するためのシステム基盤だけでなく、導入済みの他のパッケージについても構成情報を洗い出したり、確認したりすることを強いられます。事前にこれらの要因を確認しないで導入を行うと、退屈な試行錯誤による再導入の繰り返しが必要となってしまいます。導入における一連のスクリプトや前提条件、説明資料やメディアはアプリケーションごとにまちまちであるため、ソフトウェア導入の基本的な方法は様々です。

オートノミック・コンピューティングの発展レベルの観点では、より管理された導入手法とは、導入に失敗する前に、そのソリューションの前提条件が存在するかを調査し、前提条件が満たされていない場合のロギングの仕組みを導入実行パッケージに組み込むことです。前提条件の不備でインストールに失敗したという通知は、しばしばインストール・プロセスの終盤近くに上がってきます。ほとんどの場合、その時には既に他のアプリケーションを停止させており、またシステムの再起動のため、ユーザーのアクセスも制限されています。予測能力を備えたソフトウェア導入プロセスは、稼動前に環境を検査し、更には他のアプリケーションとの潜在的な矛盾がないかの確認までチェック範囲を広げたものとなります。

より適応能力の高いソフトウェア導入の方法は、これら全てのことが考慮し、なおかつ許可された場合のみ、導入を実行するものです。"適応"レベルのソフトウェア導入においては、ソフトウェア導入の実行時に前提条件が満たされていることを期待する代わりに、必要となる要件を認識し、それらを充足します。この発展レベルにおいては、必要となるライセンスを取得し、自動的にソフトウェアを購入するという機能も方向性の1要素として含まれます。このようなものが、本当の意味での自律的なソフトウェア導入の定義につながります。




上に戻る


パフォーマンス・キャパシティ管理

パフォーマンス、およびキャパシティ管理は、問題管理や大規模なデータセンターの管理手順に良く似た特性を持っています。パフォーマンス・キャパシティ管理のほとんどは、その場の状況に応じて、または必要に応じて実施されており、また、一部の組織では、他と比較してより構造化された手順を持って取り組まれております。しかしながら、このエリアがまさに、IBMのon demandモデル(そして、特にグリッド・コンピューティング)がオートノミック・コンピューティングと緊密に関連する部分であることがおわかりになるでしょう。

自己構成、あるいは自己最適化されたシステムの実現のためには、システムが、自身の要件や自身で使用可能なシステム基盤について自己学習し、そのシステムがもつ資源に関し、他の使用者との優先度との関連を認識している必要があります。システム使用状況を監視し、閾値を超えそうであることを予測するというパフォーマンス・キャパシティ管理は、今日、IT基盤を持つどのお客様に関しても有益な管理レベルです。

しかしながら、このレベルの上位には、オートノミック・コンピューティング・システムにおける適用レベルのパフォーマンス・キャパシティ管理があります。プロセッサーを例にとると、プロセッサーがサーバーに導入されていれば、on demandビジネス・モデルにおいては、お客様は必要なときにこれらのプロセッサーを活動化させることができます。あるいは、グリッド・コンピューティングを例にとると、1つの組織の(あるいは複数の組織を跨った)分散コンピューター/システムの資源を、あたかも1つの巨大で仮想的なコンピューティング・システムのように使用することが可能となります。このモデルにおける挑戦は、要件を予測し、特定の業務に対して事前定義されたサービス・レベルを維持するために、状況の変化に迅速に適応していくことです。

オートノミック・コンピューティングの技術が進化するにつれ、パフォーマンス・キャパシティ管理が、プログラマーとシステム管理者が協業できる重要なエリアとなってきます。コンポーネントは、ある特定の性能条件の上で実行するように記述することが可能となります。システムの状況が変化した場合には、さらに多くのシステム資源を要求したり、確保していたシステム資源を他のコンポーネントに開放したりすることがアプリケーションの一部となります。このようなメカニズムを経て、オートノミック・コンピューティング・システムが実装されていくのです。




上に戻る


まとめ

他のテクノロジーの進化と同様、オートノミック・コンピューティング技術もいくつかの発展のレベルがあり、そのレベルを上げていくためには時間が必要です。オートノミック・コンピューティングのモデルについての理解が深まるにつれ、システムは、発展の各レベルの特徴にしたがって、"基礎"レベルから本当の"自律"レベルまで進化させていくことができるのです

オートノミック・コンピューティング技術全体に関わるテーマは、ITシステムへの投資に関して、お客様への価値をより高めることにあります。このことは、システム管理に関する日常的な作業をより自動化することを意味し、また、それを達成するためには、人間のためにより多くの作業をシステムにさせるようにする必要があることは、明白です。オートノミック・コンピューティングの進化は、現在の発展レベルから始めて、統合ツールを使用して次のレベルにステップアップすることです。

"考えるマシン"の出現に関する懸念は、これまで長い間、サイエンス・フィクションの中でも指摘されてきました。ソフトウェア・エージェントが独立して学習し、状況の変化に適用するといったような、オートノミック・コンピューティングに対するより大胆なビジョンにおいては、サイエンス・フィクションの中の話が想起されるかもしれません。しかしながら、今日のビジネスにおいては、システム資源の有効活用、システム間の調和、およびコンピューティングに対する投資対効果が十分とはいえないのが現実です。

システム基盤の様々なレベルにおいてオートノミック・コンピューティング・ツールとテクニックを適用することで、システム基盤についてより高い価値をもたらすことができるでしょう。リスクが高いのは、システムが全く別々で統合されておらず、メンテナンスに多大なコストがかかり、また変更が困難なことです。オートノミック・コンピューティングの技術は今日の現実的な問題を軽減する一方で、将来の統合システム・アーキテクチャーの基礎を構築するものなのです。



参考文献

  • オートノミック・コンピューティング・ツールキットをダウンロードしてください。このツールキットにはSolution Installation and Deployment Technologies(ソリューション・インストールと展開技術)やIntegrated Solutions Console、Log/Trace Analyzer、Adapter Rule Builder、Autonomic Management EngineそれにResource Model Builder tools等が含まれています。

  • Business Workload Manager Prototypeをダウンロードしてください。これにはApplication Response Measurement APIが含まれています。

  • インテリジェント・エージェントを構築するにはAgent Building and Learning Environment 2.0をダウンロードしてください。

  • 今後出てくるツールや技術に関しては、Emerging Technologies Toolkitをダウンロードしてみてください。

  • alphaWorksにあるさらに新しいツールを調べてみてください。

  • developerWorksのAutonomic Comoputing Zoneには、他にもオートノミック・コンピューティングに関する資料が用意されています。


著者について

Photo of author

Daniel WordenはStudio B の執筆者であり、システム管理、データベース管理、および運用管理において20年の経験を持ちます。彼は5つの技術書の執筆者であり、執筆書は翻訳され、いくつかの国で出版されています。彼の会社は、IBMのサンフランシスコ(プロジェクト)の46番目のパートナーとして、サンフランシスコ・フレームワーク上のJavaアプリケーションの構築した実績があり、その貢献により1998年にはFastStart Awardを受賞しています。最近2年以上は、WebSphere, DB2, Dominoを使った食料の売買とトラッキングのシステムのデザインと開発をリードしています。また、彼は"Storage Networks - From the Gound UP"(Apress)の執筆者です。彼のメール・アドレスは:dworden@worden.netです。




記事の評価


サイト改善のため、ご意見をお寄せください。こちらのフォームからお願いいたします。



はいいいえわからない
 


 


12345
不充分・不完全である大変素晴らしい
 


この記事を共有する

はてなブックマーク はてなブックマーク livedoorクリップ livedoorクリップ del.icio.us del.icio.us Buzzurl(バザール) Buzzurl(バザール) Choix! Choix!
Saafブックマーク Saafブックマーク FC2ブックマーク FC2ブックマーク MM/memo MM/memo ニフティクリップ ニフティクリップ Yahoo!ブックマーク Yahoo!ブックマーク
CZブックマーク CZブックマーク newsing newsing




上に戻る


    日本IBMについて プライバシー お問い合わせ