[イベントレポート]
次世代クラウドは「プログラマブルIT」に─コンテナ戦略を掲げるレッドハット
2014年4月21日(月)田口 潤(IT Leaders編集部)
クラウドコンピューティングは今後、どんな方向に進化するのか?それを知る格好の場となったのが、米レッドハットが2014年14日~17日(現地時間)に開催した年次カンファレンス「Red Hat Summit2014」だ。得られた答はズバリ「プログラマブルIT」。ITインフラだけでなく、アプリケーションも仮想化によってポータビリティを高め、自在に組み合わせて利用できるようにするという。では一体、どうやって?──Red Hat Summit 2014から、前後編に分けて報告する。
今日、先端的なソフトウェアの大半がOSS(Open Source Software:オープンソース・ソフトウェア)として生まれていることは、周知の事実である。ベンダー自身が開発投資をする商用ソフトウェアの場合、開発を決定するには利益を得られる根拠が必要になる。誰に売れるのか、本当に売れるのかが必ずしも明確ではない、先端的でユニークなソフトウェアが生まれにくいゆえんだ。
OSSはそうではない。斬新なソフトウェアを作った開発者は名前を売れるし、それは自分の次の仕事に結びつく。機能に不足があっても、別の開発者が手を入れてくれる可能性もある。そのソフトウェアが注目を浴びれば、手伝った別の開発者も名を売れるからだ。いわゆる「貢献の競争」(LPI-Japanの成井弦 理事長)である。だからこそ先進的でユニークなソフトが生まれる――。
4月14日~17日に米国サンフランシスコで開催された「Red Hat Summit2014」は、そうした新しいものを生み出すOSSのパワーを如実に示した(写真1)。主催者である米レッドハットは自らを「カタリスト(触媒)」(Jim Whitehurst CEO)と呼び、開発者コミュニティ、ユーザー企業、コンピュータメーカーなどから構成されるエコシステム(生態系)を形成。次世代のソフトウェアを開発する方向へと成長しているのだ。
写真1:基調講演の会場。来場者は延べ5000人。全体に年齢層は高めだった
動きはとても速い。日頃の勉強不足を棚に上げて言えば、筆者自身、知らないこと、理解不足であることが少なくなかった。「プログラマブルIT」しかり、それを実現する技術としてフィーチャーされた「コンテナ」(後述)しかりである。
これらを「レッドハットというITベンダー1社が掲げた構想にすぎない」と片付けることはできない。クラウドコンピューティングを牽引するOSSコミュニティが存在し、米IBMや米シスコシステムズ、米インテルなどのIT大手がこぞって支持を打ち出した点で、「未来のITインフラ」の1つが、そこにあることは確かだ。
ではレッドハットはITの将来像をどう描いているのか、プログラマブルITやコンテナは何を具現化するのか。基調講演で語られたこと、そしてレッドハットが発表した製品/技術を中心に、Red Hat Summit2014(以下Summit)を報告する。
なお時に誤解があるが、Red Hat SummitはOSSの開発者向けイベントではない。企業ITの責任者(ITリーダー)や担当者、ITコンサルタントやシステムインテグレータの技術者を来場者に想定する。事実、5000人と発表された来場者の年齢層は高めで、一般企業からの参加者が多かった。この点でもIT Leadersの読者には、ぜひ知っておいて欲しい動きだ。まず「コンテナ技術」を見てみよう。
アプリケーションを仮想化する「コンテナ技術」が急浮上
「Docker(ドッカー)」――。日本ではまだ耳慣れないこの言葉が、Summitを貫くキーワードの1つだった(写真2)。Dockerとは、物理サーバーやクラウドなど様々なITインフラが混在する中で、アプリケーションプログラムを可搬にする技術の一つである。考え方としては、「サーバーを仮想化する代わりにアプリケーションを仮想化するもの」(レッドハットのCraig Muzilla上級副社長)という。
写真2:Jim Whitehurst氏は講演冒頭で「Docker」を説明
一体、どういうことか?アプリケーションは様々な他のアプリケーションやミドルウェア、OS、それにシステム資源(CPU、ストレージ、ネットワーク)を組み合わせ、設定・チューニングして初めて稼働する。適切な組み合わせを決め、実装するのはやっかいだし、そこまでしても例えばシステム資源の一部が変わると可搬性(ポータビリティ)は失われてしまう。保守・メンテナンスにコストや手間がかかる理由である。
この問題をDockerは、アプリケーションを「コンテナ」に入れることで解消する。詳細はこちら(https://www.docker.io/learn_more/)を見ていただきたいが、荷物をコンテナに入れれば形状を気にかけずに船にも列車にも積める。このアプローチをアプリケーションに適用し、プログラムの可搬性を実現するのが基本だ。
連携するアプリケーションがある場合でも、コンテナによってアイソレート(isolate:分離)し、疎結合にする。そうやって独立性の高いソフトウェア部品にしたアプリケーション入りのコンテナを、「GearD」と呼ばれるソフトウェア技術を介して組み合わせて利用できるようになるという。
ハイパーバイザによる仮想化技術に似ているが、仮想化で可能になるのはOSを含めたアプリケーション全体の可搬性。つまり可搬性の点では重く、多くのシステム資源を必要とする(写真3)。しかも何をどこまでできるのかは、どのハイパーバイザ(仮想化ソフト)を使うかに依存する。コンテナのアプローチではアプリケーションを対象にする。
写真3:DockerとVM(仮想マシン)の違い
IT基盤を超えて可搬になるのはアプリケーションのコードだけである。製品・技術担当のプレジデントであるPaul Cormier氏は「アプリケーションから見るとコンテナがOSだ。言い換えれば次世代のOSはコンテナである」と語る。
得られる利点は多い。特定のITインフラを想定する必要がないのでアプリケーションの展開(デプロイ)が容易になる、アプリケーション運用を効率化でき保守もシンプルにできる、他のコンテナのアプリケーションを利用できるので開発コスト低減できる、などだ。
サーバーの仮想化以上にシステム資源の利用効率を高められる。「仮想化ではCPUやメモリーなどの資源の割り当ては仮想マシン単位。コンテナでは遙かに小さなアプリケーション単位なので、より高密度に実装できる」(Cormier氏)という。
会員登録(無料)が必要です
- 1
- 2
- 次へ >