イベント
Red Hatの仮想コンテナで実現するアプリケーションドリブンなクラウドとは
ジム・ホワイトハーストCEOが基調講演
(2014/4/17 13:27)
4月14日~17日(米国時間)の4日間に渡って米サンフランシスコで開催されているRed Hatの年次カンファレンス「Red Hat Summit 2014」。10回目のアニバーサリーイベントとなった今回だが、いつものボストンではなく、初めての西海岸、それもシリコンバレーに近いサンフランシスコでの開催となった背景には、開発者に対する強いアピールを図りたいとするRed Hatの意向が見えてくる。
初日の14日に行われた基調講演では、ミドルウェア担当バイスプレジデントのクレイグ・マジラ(Craig Muzilla)氏がオープニングキーノートを行い、つづいてCEOのジム・ホワイトハースト(Jim Whitehurst)氏が登壇、「テクノロジを選択するということはイノベーションを選択する、テクノロジはイノベーションを左右する存在であり、オープンソースはその筆頭」と強調、オープンソースポートフォリオを数多くそろえるRed Hatの優位性を5000名の参加者に対して訴える。
本稿では2日目に行われた基調講演と、そこで発表された新プロジェクトの内容を中心に、Red Hatが新たに提示したテクノロジ「仮想コンテナ」の可能性について探ってみたい。
「Docker」のフォーカスに見る仮想コンテナという選択
Red Hatは現在、同社のフラグシップ製品の新バージョン「Red Hat Enterprise Linux 7(RHEL7)」の開発を進めており、2014年内の正式リリースを予定している。昨年末にはベータ版が発表されており、一部のユーザー/パートナー企業を含めた検証が続いているが、イベント2日目となる4月15日、そのRHEL7のリリース候補版(RC)が発表された。いくつかの機能が強化されている中で、最も注目すべきはオープンソースの仮想コンテナツール「Docker」をサポートした点だ。
DockerはすでにFedora Linux(Red Hatがコミュニティベースで開発するオープンソースのLinuxディストリビューション)でサポート済みだが、オープンソース開発者の間でも非常に評価が高いソフトウェアである。
仮想コンテナのメリットは、物理環境に手を加えることなく簡単にソフトウェアの実行環境を作成できる点だ。ベースとなるOS上に、隔離されたコンテナを仮想的に作り、そこに設定済みのOSやアプリケーションの実行イメージを入れてやることで、煩雑な導入作業や環境設定などをすべて省略でき、ミドルウェアやアプリケーションの配布もコマンドひとつで容易に行える。文字通り、コンテナという容器にアプリケーションを動かすための必要なコンポーネントをすべて詰め込み、環境をまたいで手軽に持ち運びするイメージだ。最近耳にすることが増えた“Immutable Infrastructure(不変のインフラ)”やDevOpsの実現にも欠かせない存在である。
RHEL7がOSベースで仮想コンテナをサポートすることで、さまざまな環境――物理環境、仮想環境、プライベートクラウド、パブリッククラウドなどをまたいだアプリケーションのシームレスな移動や、実行環境の構築が容易になる。
2日目の基調講演を行った製品&戦略部門担当エグゼクティブバイスプレジデント ポール・コーミア(Paul Cormier)氏は「クラウド時代においては、アプリケーションこそがキング。そしてアプリケーションが求めているのはポータビリティとモダナイズされた環境。近いうちに、データセンターをまたいだアプリケーションの実行や移行は普通のこととなる。そうした時代において、OSはアプリケーションにとってのイネーブラとなり、アプリケーションを生かす心臓となって力強い鼓動を打つ必要がある。トラディショナルなOSではもはやその役目は果たせない」と語り、アプリケーションがハードウェアから解放されることの重要性を強調する。
どんな環境でも、余計な手間や時間をかける必要なくアプリケーションが動く時代――まさしくImmutable Infrastructureで掲げられる世界が、RHEL7のDockerサポートによりエンタープライズにも近づいてきたともいえる。
新プロジェクト「Atomic」とコンテナの可能性
コーミア氏の基調講演では、コンテナに関するもうひとつの新しい発表が行われている。それが「Project Atomic」であり、このプロジェクトの成果を反映したRHELファミリの新しいポートフォリオ「Red Hat Enterprise Linux Atomic Host」である。
同氏の説明によれば、Project Atomicは「Docker」「SELinux」「rpm」「SystemD」「GearD」といったオープンソースプロダクトをコンバインし、軽量でオーバーヘッドの少ない仮想コンテナ環境を構築するプロジェクトだ。Dockerがベースではあるが、アプリケーションの可搬性(ポータビリティ)、セキュリティの強化、フットプリントの最小化、メンテナンスの負荷軽減、開発コストの低減などにフォーカスした、よりエンタープライズに最適化させた仮想コンテナホストであり、ひたすらにアプリケーションの構築/デプロイ/実行に特化した“application ready”な環境といえる。
ここで、最後に上がっている「GearD」とは、「OpenShift Origin」の新プロジェクトである。OpenShift OriginはRed Hatが開発するオープンソースのPaaS環境だが、このOpenShift Origin上でさまざまなアプリケーションを迅速に開発/デプロイし、コンテナ上にすみやかに移行するためのプロダクトがGearDとなる。
GearDはコマンドラインベースのクライアントとエージェントで構成されており、Dockerに詰め込まれたアプリケーションの実行イメージをSystemDを通して複数のホストへ配布することを可能にする。ビルド可能な環境はJavaやPHP、Node.jsなどに加え、NoSQLやNginxなども含まれるという。
Atomicを実装したRHEL Atomic Hostは他のRHEL製品と同様にサブスクリプションモデルで提供されると見られる。Red Hatは3月、ISVに向けてRHEL上のコンテナサーティフィケーションプログラムを発表しているが、ISVやクラウド事業者などパートナー企業の積極的な参加が同社のコンテナ戦略の成功の鍵を握るといえるだろう。
***
「コンテナはクラウドにおけるゲームチェンジャーになる可能性を秘めている」基調講演終了後の報道陣向け説明会でコーミア氏はコンテナがヘテロジニアスな環境で果たす役割をあらためて強調する。そして現状における最も理想的なコンテナがDockerであるというのがRed Hatの見解だ。Red HatはDockerに注力する姿勢の一環として、Dockerの開発および商用サポートを行うDocker.ioとのパートナーシップ強化も同時に表明している。
ハードウェアに依存しないアプリケーションの重要性は常に語られてきたが、Dockerのようなコンテナが既存の“Write Once, Run Anywhere”な概念と異なるのは、アプリケーションがハードウェアだけではなく、クラウドを含むあらゆるインフラから“decouple”な状態でいられるという点だ。
デベロッパーはハードウェアはもちろんのこと、OSやミドルウェアについても気にすることなく、コーディングだけに集中することができる。テスト環境の構築などに悩むことも少なくなるだろう。ユーザーエクスペリエンスならぬ“デベロッパエクスペリエンス”を向上させるための仕組みともいえる。
Red Hatは現在、IBMやDell、HP、Intelといったハードウェアベンダと並んで、オープンソースのIaaSプラットフォームである「OpenStack」の普及を強く推進している。IaaSであるOpenStackと、PaaSであるOpenShiftをブリッジし、その上で自由に移行/実行するアプリケーションのための環境、それが仮想コンテナだ。言い換えれば、RHELをベースにしたクラウドコシステムを拡大するための新しいメカニズムがDockerであり、Atomicとなる。
サミット期間中、あるRed Hatエグゼクティブに「なぜAtomic(原子)という名前をつけたのか」と質問を投げかけると「原子はいろいろな力を受けてあちこちに移動する。どんな場所に送られても支障なく動くことをイメージした」という回答が返ってきた。原子は不規則な動き(ブラウン運動)を繰り返し、本体を拡大させていきながらも、本質の構造を変えることはない。それはクラウドの構造にもよく似ている。アプリケーションが、世界のどこにあってもそのパワーを損なわれることなく、真にアプリケーションドリブンな環境が実現するのなら、コンテナはクラウドの勢力図を大きく塗り替える存在となるだろう。