VMwareが3月10日にvSphere 7のリリースを発表しました。VMware曰はく、「the biggest release in over a decade(ここ十数年で最大のリリース)」だそうです。この「最大」の意味するところは、下記の7分野における大幅な機能強化を示唆しますが、中でもKubernetes対応がここ数年の課題であり、それをついにクリアしたことがVMwareにとってのマイルストーンだという意味合いが多分に含まれていると推測します。要するに、vSphere 7は、コンテナの活用、クラウド ネイティブ環境のサポート、延いてはKubernetesのネイティブ サポートを目指したプロジェクト パシフィックの結実だと言えるのではないでしょうか。
とは言え、vSphere 7の新機能は下記の7分野に渡り、決してKubernetes対応のためだけのリリースではありません。Kubernetesを利用しないユーザーにとっても、十分に「最大のリリース」であることは間違いありません。vSphere 6時代が長かったから点からも、VMwareが積み上げて来たものが想像でき、それにたまたまKubernetesという大きな潮流が時代の流れとして一致したと言うべきでしょう。
とりあえず、本稿ではvSphere with Kubernetesに焦点を当て、見ていきたいと思います。
vSphere with Kubernetes
VMwareの発表する記事をいろいろ読むと、「ネイティブ」という言葉が再三目に留まります。Kubernetesを「ネイティブ」にサポートできるようになったという文脈です。この「ネイティブ」は「そのまんま」と解釈して良いと思います。かっこよく言えば、「ありのーままのー♪」です。節は付けなくてもいいですが。
Kubernetesをそのまま活用できることは非常に重要で、これによりVMwareは既存のKubernetesユーザーにも完全対応できるし、Kubernetesをこれから取り入れようとしているvSphereユーザーにも対応できます。もちろん、Kubernetesなんてどこ吹く風ユーザーもこれまでどおり対応できるし、Kubernetes的な取り組みを考えているユーザーにも対応します。
つまり、KubernetesによってDevOpsモデルを実現しているアプリケーション開発者が、vSphereで確立された仮想インフラを利用でき、また、仮想インフラの管理者もこれまで培った知識を応用してKubernetesインフラをサポートでき、長年分断されてきた2つの世界が、互いに特別なスキルアップをせずとも統合できるようになります。言うなれば、vSphere 7は東西ドイツを分断してきたベルリンの壁を崩壊させたハンマーようなものです!(話が古く大きく逸れましたm(_ _)m)
具体的には、Kubernetesネイティブ サポートの部分はTanzu Kubernetes Grid Serviceによって実現されます(下図のTKGクラスタ)。VMwareが提供するKubernetes完全準拠のサービスで、Kubernetesユーザーはコンテナ化されたアプリケーション開発をすべて「そのまんま」継続できます。
完全準拠ではなく、Kubernetes的なコンテナ管理をvSphere Pod Serviceで実現するオプションもあり、ハイパーバイザー上のVM的な孤立化でセキュリティとパフォーマンスを最適化できる利点があります。
このような、コンテナとVMの共存はNamespaceという新しいvSphereコンストラクトで実現され、このハイブリッド環境を包括的にサポートするのがVMware Cloud Foundation 4です。
このハイブリッド環境を管理する上で重要になるのが、vSphereの新しい「application-focused management(アプリケーション中心型管理)」です。VMwareの記事によれば、「vSphere管理者が、複数オブジェクトを論理的なグループにまとめ、そこにセキュリティ ポリシーやストレージ上限設定を適用できる」と書いてあります。つまり、マイクロサービスを実践する環境では、アプリケーションの構成要素がさまざまなコンテナに分散されるので、それに個々にポリシーを適用するのは不合理です。vSphere 7は、ハイブリッド環境内に散らばる各種リソースを、アプリケーションの視点から一まとまりのグループとして捉えることができ、一括管理できるようになった、と解釈できます。そのハイブリッド環境には、VMはもちろん、Kubernetesクラスタも含まれるのですから、vSphere のアーキテクチャはたしかに抜本的に見なおされ、その結果生まれたvSphere 7は紛れもなく「最大のリリース」であると言えそうです。