クラウドネイティブ、マルチクラウド。この2つのキーワードは、ITインフラを考えたとき、耳にする機会が増えたはずだ。企業IT基盤として実績の多いVMwareもクラウドネイティブとマルチクラウドを意識したコンセプトを打ち出している。まずは基本と最新事情を押さえておこう。
VMwareは毎年年次イベント「VMworld」で製品のアップデート情報を開示する。2019年は「マルチクラウド戦略」を打ち出し「Any Cloud(どんなクラウド)」でも、「Build」(開発)、「Run」(実行)、「Manage」(管理)、「Connect」(接続)、「Protect」(保護)を実現するプラットフォームを目指すことが明らかにされた。
中でも「クラウドネイティブ」なモダンアプリケーションに求められる「Build」(開発)、「Run」(実行)、「Manage」(管理)の要件を満たすアプリケーション実行基盤として提示されたのが「VMware Tanzu」だ。読み方は「タンズ」のようだが、日本語の「箪笥」(たんす)が語源だという。
最近よく聞く「クラウドネイティブ」という言葉はどういった意味を持つのだろうか。クラウドの成り立ちやアプリケーションコンテナが注目される背景から順を追って整理してみたい。
そもそも、現在の「クラウド」は、ネットワーク、サーバ、ストレージ、アプリケーション、サービスなどの構成可能なコンピューティングリソースの共用プールに対して、便利かつオンデマンドにアクセスでき、最小の管理労力またはサービスプロバイダー間の相互動作によって迅速に提供され利用できるモデルとされていて、「オンデマンド・セルフサービス」「幅広いネットワークアクセス」「リソースの共用」「スピーディーな拡張性」「サービスが計測可能であること」という5つの特徴を持つものを指すことが一般的だ(米国立標準技術研究所(NIST)の定義による)。
過去、クラウドサービスはサーバ仮想化技術を基にリソースを提供してきた。物理サーバのリソースを仮想的に配布する仕組みだ。ソフトウェアエミュレートを行ったことで、リソースのソフトウェアによるコントロールが可能になったこと、そのソフトウェアをRESTを使ってシンプルに操作する手法が登場したことから、リソースの制御や運用をプログラムで自動化する手法も数多く提案されるようになった。
こうした技術動向を受け、必要な機能だけを必要なタイミングで自動伸縮させたり、運用しながら動的にアップデートしたりといった、新しいアプリケーションの開発手法も編み出された。リソース払い出しの自動化やソフトウェアテスト自動化、運用の自動化を推し進め、開発者と運用者が互いの業務に影響を与えずに効率よくアプリケーション開発や運用を進められる環境が整っていったわけだ。
だが当初のクラウドインフラを支えたのはCPUのエミュレートから始まったサーバ仮想化技術だ。物理サーバよりは効率は良いものの、アプリケーション実行側から見ると、BIOSやOSといった、アプリケーション実行に直接関係がない「余計なもの」が多く搭載されている。大規模かつ自動的な運用を考えたとき、システムの構成管理は非常に厄介だ。OSやアプリケーション実行環境のバージョン、セットアップファイルの記述内容などもそろえておく必要があり、それらのデータを置くためのリソースも確保しなければならない。これもアプリケーションの実行からすると、できれば考慮したくないポイントだ。
そこでアプリケーションコンテナという概念が注目されるようになった。アプリケーションコンテナそのものの技術は古くから存在したが、クラウドの文脈でアプリケーションコンテナが注目されたのはIaaSを効率化する目的による。注目された当初はさまざまな実装が提案されたが、現在はDockerがその主流だ。また、Dockerのようなアプリケーションコンテナを動作させる、軽量で必要最小限の実装しか持たない(その分セキュリティリスクも少ない)OSも開発されている。こうすることでクラウドネイティブなアプリケーションは、仮想化を遙かにしのぐ密度でアプリケーション集約させ、スケーラブルな運用が可能になった。
コンテナはサービスと呼ばれる小さなプログラムの実行基盤として動作する。サービス間は疎結合でAPIを介したメッセージのやりとりを行い、個々の機能を柔軟に管理できる仕組みを持つ。コンテナ間の状態管理や最適化はサービスメッシュなどでコントロールし、基盤全体はKubernetesのようなコンテナアプリケーション運用基盤を使って管理する。
アプリケーションを機能ごとに分離して運用できることから、無停止の継続的な機能改善を実施しやすくなり、またインフラ部分の差分はコンテナが吸収するため、複数のクラウドを横断するポータビリティを備えたアプリケーション運営も、理論的には可能になる。こうした、ダイナミックかつスケーラブルなアプリケーション構築、運用のための環境を「クラウドネイティブ」と呼ぶ。
2016年1月に発足した「Cloud Native Computing Foundation」(CNCF)は、クラウドネイティブを「パブリッククラウド、プライベートクラウド、ハイブリッドクラウドなどの近代的でダイナミックな環境において、スケーラブルなアプリケーションを構築および実行するための能力を組織にもたらすもの」と定義する。そして、このアプローチの代表例が、ここまでで説明してきた「コンテナ」「サービスメッシュ」「マイクロサービス」やイミューダブルインフラストラクチャおよび宣言型APIなどの技術要素だ。サーバ仮想化とは異質の技術であることは分かっていただけたと思う。
クラウドネイティブなアプリケーションは機動力が高く、利用者に影響を与えずに改善し続けられる特性を持つことから、AWSやMicrosoft、Kubernetesのコード資産提供元でもあるGoogleやRed Hatなどがいち早く対応を表明。CNCFのメンバーは現在も増え続けており、事実上の業界標準になりつつある。
なお、CNCFに期待するのはクラウドサービスプロバイダーだけではない。交換機のソフトウェア的な運用を目指すキャリアやIoTインフラの運用を担う企業にとって、遠隔から操作でき、かつ自動運用が可能で軽量、配布が容易なコンテナアプリケーションは、エッジコンピューティングサービス運営の効率化に有効な技術と目されている。
翻ってVMwareはサーバ仮想化技術を軸にプライベートクラウドやネットワーク仮想化、それらの統合運用管理基盤を提供してきた企業だ。さらにいえば、クラウド間のポータビリティに関してはKubernetesを持ち出すまでもなくVMware vSphereを軸にVMware vSAN、VMware NSXなどから成るVMware Cloud Foundationを複数のパブリッククラウドで利用できる状況が整いつつある。サービス提供元に若干の違いはあるが「VMware Cloud on AWS」「Azure VMware Solutions」「Google Cloud VMware Solution by CloudSimple」がそれだ。
Kubernetesをマルチクラウドで運用する記述としては「Anthos」などが挙げられるが、これらはあくまでも複数のKubernetesを横断的に利用する場合であり、そのIaaS基盤をマルチクラウドで運用できるかどうかは別の問題だった。
TanzuはKubernetesからvSphereやESXiに触れ、vSphereからKubernetesの管理を行うための環境を提供する。その際の核となるのが既存vSphereを再構築するとされる「Project Pacific」だ。プロジェクトの主目的はvSphereへのKubernetesおよびそのエコシステムの取り込みにある。vSphereは今後、KubernetesのAPIで操作できるようになるという。
こうした基盤の改革に加え、コンンテナアプリケーションの開発環境を提供する「Pivotal」やアプリケーションのパッケージングとデプロイを担う「Bitnami」という買収した2つのプロダクトを組み込み、これらの運用を「VMware Tanzu Mission Control」が担う、というのがTanzuの構想だ。
現在はvSphere上でKubernetesを扱うことを主眼に置いて開発を進める状況だが、今後は他のKubernetesプラットフォームも統合管理できるようにする計画がある。昨今のクラウドネイティブコンピューティングの技術的成熟度合や主要クラウドプロバイダーの対応状況を考えると、vSphereとしてもこうした技術トレンドをフォローし、既存ユーザーの利益に寄与することを強調した形だろう。
VMware Cloud on AWSの提供リージョンも順調に拡大しており、GPUインスタンスも利用できるようになっている。さらには「2019年内にローカルクラウドサービスとの連携ソリューションについて近々アナウンスする計画がある」としており「VMware Cloud on AWS Outposts」リリースの可能性を示唆した。
「AWS Outposts」はAWSのサービスをオンプレミスで実現するサービス。オンプレミスで運用するのではなく「AWS自身が運用するリージョンがオンプレミスにやってくる」といった方がイメージが近いだろう。VMware Cloud on AWS Outpostsがリリースされれば、オンプレミスのマネージドリソースをAWSと同様の手法でVMware Coud Foundation経由で運用できるようになる。なお、VMware Cloud Foundationを使った「VMware Cloud on Dell EMC」は既に発表されている。現在、北米地域でテストが始まったところで、今後サービス提供地域を拡大する計画だ。
この他、VMwareはGPUやFPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)といったハードウェアリソースを活用するための「ハードウェアアクセラレータ」を標ぼうする「BitFusion」も買収したところだ。BitFusionの技術は機械学習のような繰り返し処理などの一定の処理をハードウェアで高速に実行する際に役立つ。BitFusionの機能も今後はVMware vSphereの一機能として提供する計画があり、vSphere経由でハードウェアリソースを共有できるようになる見通しだという。
Copyright © ITmedia, Inc. All Rights Reserved.
製品カタログや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます。