プログラマブルなITプラットフォーム

2010年7月7日(水)
金野 諭

次世代ITプラットフォーム像=プログラマブルなITプラットフォーム

既存のITプラットフォームがサイロ化などの課題を抱える中、次世代ITプラットフォームに対する期待が高まりつつあります。既存の課題を解決しつつ、さらなる効率化を可能にするものが求められています。

次世代プラットフォームとは、具体的には、以下の3つを同時に達成するものといえます。

  1. 全体最適化を前提とした、テンプレート管理型の基盤
  2. ツールによってシステム運用指針を維持できる、運用管理が自動化された基盤
  3. 費用対効果が高い、オープンソース型の基盤

これまでやってきた部分最適化ではなく、全体最適化を意識した施策を進めるためには、インフラ技術者による指針の策定と徹底が重要です。もちろん、指針の策定と徹底を実現するためには、何かしらのツールが必要になります。

システム管理用のツールは数多くありますが、最近では、仮想化技術の浸透とともに、システムの設定情報をテンプレートとして管理する手法が注目されています(テンプレートは、スクリプトやイメージとして作成・維持する)。言うならば、あたかもアプリケーションをコーディング(プログラミング)するかのように、インフラ構築をコーディングするのです。

インフラ技術者は、各部門や各業務用途で必要になるシステム設定情報を調査し、事前に整理します。こうして、いくつかの典型的なシステム環境を、スクリプト・テンプレートとしてまとめておきます。これにより、システムの利用者は、テンプレートを選択するだけで、テンプレートとして定義された環境を即座に構築できるようになります。

もちろん、すべてがテンプレート化できるわけではありません。しかし、テンプレート化が進めば進むほど、システム運用の効率が高まります。可能な限りテンプレートの範囲内で解決できるようにシステムとユーザー・ニーズを管理することが求められます。

システムのテンプレート化を支援し、結果としてシステム管理業務の自動化を促進するのが、プロビジョニング(調達)・ツールです。プロビジョニング・ツールは、"プログラマブルなITプラットフォーム構築"を可能にします。商用の製品も存在しますが、オープンソースもあります。主なオープンソースのプロビジョニング・ツールは、以下の通りです。

オープンソースのプロビジョニング・ツール一覧

Puppet
http://www.puppetlabs.com/
Cfengine
http://www.cfengine.org/
Chef
http://www.opscode.com/chef/
BCFG2
http://trac.mcs.anl.gov/projects/bcfg2
LCFG
http://www.lcfg.org/
AutomateIt
http://automateit.org/
Smartfrog
http://wiki.smartfrog.org/
kokki
http://github.com/samuel/kokki
slack
http://code.google.com/p/slack/

図2: インフラの"コーディング"が可能に

アプリケーション最適化を実現するプラットフォーム

次世代のITプラットフォームの役割は、次世代のアプリケーションを支えることです。ITプラットフォームそのものには価値はなく、その上で稼働するアプリケーションにビジネス上の価値があるからです。

アプリケーションを最適化するためには、アプリケーション自体の最適化と同時に、アプリケーションの周辺に存在するシステム構成要素、つまり、ライブラリ、データベース、OS、ハードウエアなどの最適化も必要です。プロビジョニング・ツールを活用することで、こうした最適化が可能になります。

例えば、プロビジョニング・ツールでは、個々のシステム構成要素に対するバージョン管理やテストの実施が可能です。トライ&エラー方式でテストに取り組むためには、ロール・バック(直前の変更前の状態に戻してやり直す)やロール・フォワード(最初から処理をやり直す)といった機能を備えていることが重要になります。

もちろん、アプリケーション・システムの全体最適化を実現するためには、プロビジョニング・ツールだけでなく、ほかにも数多くのツールを利用しなければなりません。まずはサーバー仮想化ソフトが必要であり、この上で、各種の運用管理ソフトが必要になります。

以下は、オープンソースのツール群を用いて全体最適化を実現するための一例です。

  • VMware、Xen、KVMといった、ハイパーバイザ(サーバー仮想化)機能を提供する仮想化基盤
  • ハイパーバイザ上に構築される仮想サーバーを動的に管理・配備するクラウド基盤(Amazon EC2やGoGridのようなパブリック・クラウド基盤、もしくは、Eucalyptus、OpenNebula、Nimbus、CloudStackといったプライベート・クラウド基盤)
  • 仮想化/クラウド基盤を支える物理インフラ(物理サーバーやネットワークなど)のリソースを監視する、Nagios、Icinga、ZABBIXなどのモニタリング・ツール
  • 仮想サーバーを、実際にアプリケーションを動作させられる状態にまで設定する、PuppetやChefなどのプロビジョニング・ツール
  • 仮想サーバー環境の上に、実際にアプリケーションをデプロイ(配備)する、CapistranoやFuncなどのアプリケーション・デプロイメント・ツール

これらのツールが、明確な指針の下で、すべて相互的に連携しながら全自動化された時、その時こそ、前述した以下の3要素を実現できる、次世代ITプラットフォームが構築されたことになります。この結果として、管理コストとシステム・リスクが減り、管理時間が短縮されます。

  1. 全体最適化を前提とした、テンプレート管理型の基盤
  2. ツールによってシステム運用指針を維持できる、運用管理を自動化した基盤
  3. 費用対効果が高い、オープンソース型の基盤

図3: 全体最適化を志向した次世代ITプラットフォームの全体像(クリックで拡大)
株式会社モーフ・ラボ 代表取締役社長 米国Morphlabs, Inc. 副社長

大学卒業後、システムエンジニアとして、データベースやネットワークなどインフラ設計・構築に携わった後、2年間の米国留学を経て、ベンチャー・キャピタリストに。クラウド黎明期の2006年からクラウド関連の投資や事業支援を行う中、この分野の将来性に魅力を感じ、2010年に株式会社モーフ・ラボを立ち上げる。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています