VMware Tanzuとは?~Kubernetesの新たな提供形態~

VMware Tanzuとは?~Kubernetesの新たな提供形態~

VMwareがサンフランシスコで開催したイベント「VMworld 2019 US」で、Kubernetesに対応したソフトウェアの開発を支援するための一連のソフトウェアやサービスなどを含む「VMware Tanzu」(以下、Tanzu)を発表しました。Tanzuの全体像や特徴を紹介します。

目次

アーキテクチャーから見るTanzuの全体像

Kubernetesの新たな提供形態として登場したTanzu。その最大の特徴は、従来多くの企業が基幹システムを含めて構築してきた仮想マシンとコンテナを一元管理できる点です。VMwareの仮想化ソフトであるvSphere上でKubernetesに相当するコンテナ管理を提供するもので、仮想マシンとコンテナのハイブリッド環境を共通した仕組みで管理できる点は画期的と言えるでしょう。

例えば、長年にわたって構築してきた既存資産を仮想マシンで動かし、そこから発生するデータや機能するアプリケーションをコンテナで開発することが可能になります。自社の強みを生かしてデジタルトランスフォーメーション(DX)を仕掛けたい多くの企業にとっては、競争力のあるアプリケーションを開発しやすくなります。

VMwareはTanzuを「開発者が求めるスピードとインフラストラクチャーの安定性を両立するもの」として位置づけています。vSphere、Amazon Web Services(AWS)、Microsoft Azure、IBM Cloud、Google Cloud、VMware Cloud on AWSなど、マルチクラウドによるインフラ面の強みをさらに伸ばした上で、スピーディにアプリケーションを開発できます。

ここで、Tanzuのポートフォリオを紹介しておきましょう。Tanzuの役割はBuild(構築)Run(実行)Manage(管理)という3つに分けられます。

Buildでは、高速デリバリを可能にするランタイムであるTanzu Application Servicesや、本稼働対応のオープンソースソフトウェア(OSS)のカタログをキュレートするTanzu Application Catalogなどによって、モダンアプリケーションの構築をサポートします。

Manageでは、マイクロサービスの安全な実行などを支援するTanzu Service Mesh、オペレーションを集中管理するVMware Tanzu Mission Controlによって、開発者とIT管理者のための包括的なKubernetes管理と保護を提供します。

RunではエンタープライズにおけるKubernetesの実行環境を提供します。VMware Cloud、Public Cloud、エッジなどのさまざまな環境上で、KubernetesのランタイムであるVMware Tanzu Kubernetes Grid(TKG)を用い、マルチクラウド環境をまたがる形でオペレーションを削減します。

Tanzuの全体像

アプリケーション開発サイクルを形成するTanzu

Tanzu のアーキテクチャーを押さえた上で、アプリケーションの開発とTanzuの関係について触れておきます。DXの成否を決定づけるのはアプリケーションの開発サイクルと言っても過言ではありません。UBERが斬新なアイデアを基に、地図、GPS、決済などのサービスを組み合わせていち早くサービスをデリバリしたことが1つのイメージとなるでしょう。いまDXのアプリケーション開発で強く意識している言葉が「CI/CD」です。

CIは「Continuous Integration(継続的インテグレーション)」を示し、アプリケーション開発におけるビルド、テストを自動化し、継続的に実施する方法です。一方のCDは「Continuous Delivery(継続的デリバリ)」を示し、CIでテストされたソースコードをマージしたり、本番環境向けのビルド作成を自動的に実施し、本番環境にデプロイできる状態へと整えたりする処理を意味します。

Tanzu と開発サイクルの関係性を以下の図に示します。

Tanzu と開発サイクルの関係

CIの実践において、複数の開発者がそれぞれ実施したコード変更をマージする頻度を高め、毎日でも実施できるようにします。開発者による変更がアプリケーションにマージされると、 アプリケーションを自動的にビルドし、さまざまなレベルのテストを実行して、変更を検証することになります。

通常の場合、単体テストと結合テストを実施し、変更によってアプリケーションが破壊されないことを確認します。そのために、クラスや関数から各種モジュールまで、アプリケーション全体を構成するすべてをテストすることになります。自動化されたテストで新規コードと既存コードに競合が見つかった場合、CIを利用するとバグを素早く容易に、高頻度で修復できるのが大きな強みになってきます。

一方のCDでは、検証されたコードのリポジトリへのリリースを自動化します。CDの目標は本番環境にデプロイできるコードベースを常に保持しておくことです。コード変更のマージから本番環境対応のビルドのデリバリまで、全てのステージでテストの自動化とコードリリースの自動化を実施します。このプロセスを終了させれば、運用チームはアプリケーションを本番環境に素早く簡単にデプロイできます。

Tanzu の2つのエディションとユースケース

Tanzuには、「Basic」「Standard」「Advanced」の3つのエディションが用意されています。BasicはvSphere上でKubernetesベースのコンテナランタイムと管理機能を提供します。vCenterから直接クラスタをプロビジョニングし、コンテナ化されたワークロードを簡単に実行できます。一方のStandardは、クラウド全体で仮想マシンやコンテナを管理するときに使用します。オンプレミス、パブリッククラウド、エッジの各クラウドで、同一で一貫性のあるKubernetesディストリビューションを簡単に導入でき、全てのKubernetesクラスタのポリシーとセキュリティを一元管理できます。Advancedでは「Basic」「Standard」の機能に加えて開発者向け機能が追加され、ライフサイクル管理や高度なロードバランサなどの機能が追加されています。

Tanzuの特徴は、技術やスキル、人材といったこれまでのVMwareへの投資を考慮しながら、ローリスクでコンテナ環境を構築できることです。管理者の立場からすると、仮想マシンの運用方法を踏襲した上で、開発者に新たなコンテナ環境を提供できるため、複雑化を回避できます。

Tanzuの主なユースケースとして、以下の3つが挙げられます。

1つはインフラのモダナイゼーションです。将来的にコンテナを駆使して積極的にアプリケーションのデリバリ体制をつくるため、Kubernetesに対応するシステム環境を構築するべく、アプリケーションをTanzuの管理上にリフトします。

2つめは新たなアプリケーション開発環境です。DXを推進するために新たにアプリケーションをスピーディに開発できるようになります。

3つめはDevOpsの推進です。DXはビジネスと直結するため、自社内に開発チームを持つ必要性が指摘されるようになってきました。そのためにDevOpsをベースにした開発チームを立ち上げるに取り組みが考えられます。

これからの時代は、優れたビジネスアイデアを、すぐにアプリケーションとして形にすることが求められます。Tanzuはまさに、IT面からそうした取り組みを支える環境をつくるためのツールと言えるでしょう。

目次