最新動向/市場予測

Tech Trends 2016 - Autonomic platforms(自律型プラットフォーム)

新たな企業価値の創造に向けた取組み

システムを稼働させるためのITインフラストラクチャは、システムごとに定められた要件に応じてリソースの性能や容量を決めていたが、今日では、システムごとのリソースの制約を意識することなく利用することが可能になりつつある。仮想化されたハードウエア、コンテナ技術、先進的な運用管理ツールなどの新しい技術を使ったアーキテクチャによって作られたシステムは、“build once, deploy anywhere”の考え方に基づいて作られており、オンプレミスのシステムでのみ稼働するのではなく、パブリッククラウドやプライベートクラウド上でも、環境の違いを意識することなく稼働が可能となっている。

自律型アーキテクチャ

右から2番目の最大化アイコンをクリックすると全体が確認いただけます

日本のコンサルタントの見解

オートノミックコンピューティング俯瞰

ビジネスにおけるITシステムは、グローバル化や情報化というキーワードのもとにサイロ型システムの乱立の時代からクラウド活用の現在においても、複雑な構造変化を起こしながら拡がりを続けており、それに伴い運用管理の煩雑さを加重させ、運用コストの増加やサービス品質の低下を誘発している。

オートノミックコンピューティング技術は、ビジネスにおけるITシステムの複雑性に伴うシステムの煩雑さや品質の低下と言った問題を、システムコンポーネントレベルで、人の手を介さずにシステム全体のポリシーを基に判断を行い、自律的に解決する事を目指したコンピューティング技術である。オートノミックコンピューティングの実現により、運用コストの削減やシステムレベルでの自動化によるエラーの減少などサービス品質の向上に加え、システムの安定稼働に伴う顧客満足度向上などビジネスの視点においても、高い効果が期待できる。

日本国内におけるオートノミックコンピューティング技術については、2000年頃からユーティリティコンピューティングやグリッドコンピューティングといった分散コンピューティングシステム環境において必要不可欠な技術のひとつとして、主要なベンダからコンセプトが提唱された。

その際に提唱されたオートノミックコンピューティング技術は、広範囲に分散されたシステム環境を機能的な仮想化により、標準化・最適化して統合的な視点で監視を行う機能、システムおよびサービスのポリシーの制御機能、サービスのプロビジョニング機能、リソースプール機能などの標準化や統一化を図るものであった。このような標準化や統一化により、監視・分析・計画・実行の制御ループを実装するシステム運用の自動化を中心とする保守管理視点でのオートノミックコンピューティングの実現を目指していた。

現在、提供されている主な仮想化環境基盤ツールにおいても、複数の異機種の物理環境を仮想化技術により隠蔽し、ハイパーバイザ上に作られた複数のサーバインスタンスを統合的に監視する機能やポリシー制御機能により、システムの運用状況の判断を行い、リソースプールからリソース割当てを調整するなど、制御ループをコントロールする機能が実装されている。目的により適用範囲の違いはあるものの、エンタープライズシステムにおいて、オートノミックコンピューティングの一つの形が実現している。

近年では、これらシステム運用の自動化を中心とするオートノミックコンピューティングの考え方にビジネス戦略の視点を含め、設計・開発・テスト・運用のシステムライフサイクル全体を組入れる考えが提唱されている。この考えに基づき、急速に変動するビジネスの流れを遮らない一貫したシステム開発と運用の自動化を組込んだオートノミックコンピューティングへのコンセプト移行が始まっている。

新しい流れ

システムの現場においては、設計開発担当者は、従来の要件定義、概要設計、詳細設計、開発(コーディング)、テスト、運用といった流れで行うビッグバンリリース形態のウォーターフォール型の開発手法から、システム機能をサブコンポーネントに分割を行い計画、要求分析、設計、実装(コーディング)、テスト、文書化のプロセスを反復(イテレーション)するアジャイル型の開発手法に移行することで、急速に変化するビジネス戦略要求に適応した速度で、柔軟にシステム開発を行おうとしている。しかし一方で、運用担当者は、設計開発プロセスの終了後に構成の検討など後続の作業を担うこととなり、その要求を満たした安定稼動環境の構築を行いきれず、ビジネスの流れを遮る結果となった。

設計開発プロセスの改革のみをターゲットにしたアジャイル型開発への移行では、ビジネス戦略要求に応え切る事ができないことから、設計開発担当者と運用担当者が、より相互に連携を密にして、システム開発のライフサイクル全体にわたってカバーする新しい開発手法が必要とされたことにより、DevOpsのコンセプトが提唱された。そのコンセプトの中では、信頼性・安定性・セキュリティなどシステムに必要不可欠な要素を維持しながら要件定義段階から本番環境での運用に至るまでの一連のプロセスを実現するために設計開発側と運用側の深いコミュニケーションを必要とした。

しかし、それぞれの分野における立場で、積み上げられた知識や常識をもう一方の立場で、すべてにおいて理解を行うことは、基本的に不可能であり、そこにある溝を埋めるためのツールを使った共有化や自動化が必須となった。DevOpsの一連のプロセスの中では、コミュニケーション、プロセスの監視、構成の管理、テスト、リリースにおけるまでのすべての管理プロセスが自動化され状況の予測を可能にし、オンデマンドで共有されることが想定されており、ビジネスを中心とする組織のパフォーマンスの最適化が図られている。

それらを取込んだオートノミックコンピューティングにおいても、ハイパーバイザ型の仮想化基盤では、インスタンスの準備までは迅速に対応できるが、構成の構築には時間が掛かってしまい求められる速度で運用することができないなど、DevOpsのコンセプトに適応しないことから、コンテナ技術を使った仮想化への移行が行われ、DevOpsに対応したコンテナ技術を使った仮想化基盤では、システム運用基盤の設定自体をもコードで設定することができるなど、運用担当者の介入なしで、新しいサーバやストレージを準備し、OSやミドルウエアの設定を変更することも可能にした。また、コンテナ技術を採用する事で、コンテナ単位として、監視・分析・計画・実行の制御ループをコントロールでき、システム運用基盤の柔軟性をより高める結果となった。

国内でのシフト

アジャイル開発手法という言葉が使われ始めて、既に10年以上の時間が経過しているが、国内においては、まだ、一部の局所的な専門領域でのみ積極的に活用が進んでいる状況であり、一般企業におけるシステム開発プロジェクトにおいては、ウォーターフォール型での開発が依然として主流になっている。そこには、業務要件精度が低くシステム化設計に落とすことが出来ない、能力の高い技術者がいないなど、さまざまな理由が存在するところではあるが、アジャイル開発手法は、DevOpsのプロセスモデルに不可欠な要素である。

クラウドや仮想化の拡がりに合わせ目標として設定されたビジネスにおけるコストとスピードの最適化は、システムの全体最適化により、実現が可能となる。特にスピードの最適化への移行のためには、ビジネスプロセスを含めたシステムライフサイクルの管理が必要とされ、その実現のためのプロセスモデルであるDevOpsの導入が、急がれるところでもある。しかし、展開の基盤を兼ね備えた企業は、まだまだ、少ない状況にあると思われる。

お役に立ちましたか?