VMworld 2015 において、企業のコンテナ利用を加速する 2 つの新しいテクノロジープレビュー「VMware vSphere Integrated Containers」と「VMware Photon Platform」が発表されました。
本エントリでは、vSphere 顧客にとってより関連性の高い、VMware vSphere Integrated Containers の内容を紹介します。
コンテナに関する「開発者」と「IT 部門」の異なるニーズ
VMware Integrated Containers が想定するユースケースは、コンテナ化された新しいタイプのワークロードと、仮想マシンに基づく既存のワークロードが共存する環境です。企業が既存のアプリケーションをクラウド ネイティブなアプローチに変えていく際に、このような共存環境が出てくると VMware は考えています。
このケースにおいて私たちが想定する課題は、コンテナを使いたい「開発者」と、既存システムに則った運用を行いたい「IT 部門」が、全く異なるニーズを持っているということです。
開発者がコンテナ ベースの環境に「ポータビリティ、スピード、軽さ」を求めるのに対し、IT 部門は「セキュリティ、信頼性、一貫性のある管理」を求めます。この一見相反する要求をどのように同時に満たすかが、これからのコンテナ導入における 1 つの課題となっていくでしょう。
「仮想マシンごとに 1 つのコンテナ」というアプローチ
上記の課題を解決するために、VMware Integrated Containers では、「仮想マシン(VM)ごとに 1 つのコンテナ」というアプローチを取っています。この狙いは、コンテナを利用する際にも、VM ベースでの「セキュリティ、信頼性、管理」を適用可能にすることにあります。
VM ベースの利点を具体的に挙げていくと、まず、隔離レベル(OS)が低いというコンテナのセキュリティの課題を、VM によるハードウェアレベルの隔離で改善することができます。
vSphere DRS のような機能を利用して、信頼性を高めることもできます。ストレージやネットワークについては、vSphere プラットフォームの同等の要素にマップすることができます(VSAN や NSX など)。vSphere Web Client などの既存の管理インタフェースから、VM に加えてコンテナの状態も確認できます。
このようにして、IT 部門が求める「セキュリティ、信頼性、一貫性のある管理」を満たそうというわけです。
Photon OS と Instant Clone で「仮想マシンごとに 1 つのコンテナ」のための軽さを実現
ただ、単純に「VM ごとに 1 つのコンテナ」というやり方を取ると、コンテナの長所である「スピード、軽さ」が失われてしまいます。
この問題を解決するために、VMware Integrated Containers では、コンテナの OS に VMware が開発した、コンテナに最適化された軽量 Linux OS である「Photon OS」(旧称 Project Photon)を利用しています。
そしてより大事なポイントとして、vSphere 6.0 の新機能である Instant Clone を活用します。Instant Clone によって作られた VM は、親 VM のイメージとの差分のメモリだけを消費します。そのため、OS が共通であるコンテナ環境の場合、VM 作成の時点では物理的なメモリをほとんど消費せず、瞬時に起動することができます。
Photon OS と Instant Clone を使えば、「仮想マシンごとに 1 つのコンテナ」においてもコンテナのスピードと軽さを実現でき、それでいてセキュリティや管理性といった VM の特性は保てるというわけです。
利用者からは「仮想コンテナホスト」として見える
VMware Integrated Containers では、vSphere は、Docker API などのコンテナの API を受け付ける「仮想コンテナホスト」として利用者に見えます。
VMware Integrated Containers では、Open Container Initiative によって定められた基本的な構成要素を使っており、それらを vSphere 環境にマップすることで、標準的な Docker クライアントツールと互換性がある仮想コンテナホストを作り出しています。
このようにして、VMware Integrated Containers は、コンテナを使いたい「開発者」と、既存システムに則った運用を行いたい「IT 部門」の異なるニーズを同時に満たすことで、企業におけるコンテナの利用を加速しようとしています。
関連エントリ: VMware のクラウド ネイティブ アプリ関連の 4 つのテクノロジー