クラウドネイティブアーキテクチャにおけるコンテナ技術

クラウドネイティブアーキテクチャにおけるコンテナ技術

デジタルトランスフォーメーション(DX)を前提とし、アプリケーションの素早い開発と公開が求められるいま、それを実現するための基盤としてクラウドネイティブなアーキテクチャーへの移行が大きな流れになっています。今回はクラウドネイティブアーキテクチャーのなかで、コンテナ技術に焦点を当て、技術的な特徴と将来的な可能性を解説します。

目次

コンテナを中心とするクラウドネイティブ技術と課題

まず、コンテナについて改めて大まかなアーテクチャーを紹介しておきましょう。コンテナは仮想化技術の1つですが、実際には一般的な仮想化技術とは違っています。下図左のコンテナ型仮想化におけるハードウェア、OS、Dockerの関係について確認してみてください。さらに、複数のコンテナエンジンを管理する技術として、Kubernetesがあります。

仮想化とコンテナの違い

クラウドネイティブ技術とは、パブリッククラウド、プライベートクラウド、ハイブリッドクラウドなど近代的でダイナミックな環境において、スケーラブルなアプリケーションを構築し、実行するための機能を組織にもたらすものを指します。

クラウドネイティブ環境で実施する手法の代表例には、コンテナエンジンであるDockerや、複数のコンテナエンジンを管理するKubernetesをベースにしたコンテナアーキテクチャーをはじめ、サービスメッシュ、マイクロサービス、イミュータブルインフラストラクチャー、宣言型 API などがあります。これらの手法により回復性、管理力、可観測性のある疎結合システムが実現します。こうした手法をさらに、堅牢な自動化機能と組み合わせることで、効果的なアプリケーション設定などの変更を最小限の労力で、かつ頻繁かつ正確に実施することができます。

ただし、実際のところクラウドネイティブ技術を取り入れることによって、アプリケーション開発に高速性と柔軟性を得るためには、コンテナを前提にした「開発」、複雑なコンテナをいかに管理するかの「運用」、KubernetesなどOSS製品などの「サポート」、さらに前提となる技術面からマルチクラウドへの対応という課題が存在します。そのなかで特に、コンテナの活用を前提にしたマルチクラウド環境における課題に着目してみましょう。

今後のスタンダードになると考えられるマルチクラウド環境では、構築したさまざまなコンテナを複数のクラウドやオンプレミスシステムにまたがって運用管理する必要が出てきます。

ある1つのサービスの実装だけを考えても、1つのKubernetes上のクラスターだけで完了することはあまりなく、開発、テスト、本番で1つずつ使えば、3つのKubernetesクラスターが必要になります。つまり、複数のKubernetesクラスターの管理が必須になりますが、それぞれアクセス制御のルールなどが異なるクラウドやオンプレミス上にまたがっているわけです。こうした複雑なKubernetes環境を管理するのは簡単ではありません。

VMwareが開発した「Tanzu」はKubernetesレイヤーでマルチクラウドを実現

解決できるソフトウェアの登場が待たれているところに2020年3月、VMwareがKubernetesの導入からマルチクラウドへの展開を実現する「VMware Tanzu」を開発したと発表しました。

VMware TanzuはTanzu Kubernetes Grid、Tanzu Mission Controlなどの機能で構成されています。Tanzu Kubernetes GridはVMwareによるKubernetesディストリビューションであり、オンプレミスやクラウド、そしてエッジを含むあらゆる環境で一貫したKubernetesの実行を可能とするものです。

Tanzu Mission ControlはKubernetes環境の運用管理を担う機能です。vSphere基盤上のKubernetes環境に加え、AWS、GCPなどのパブリッククラウド上のKubernetes Cluster も統合管理できます。

さらに、コンテナネットワークにも対応したマルチプラットフォームのネットワーク仮想化製品NSX Data Centerの最新バージョンVMware NSX-T Data Center 3.0を2020年に発表しました。この中で、NSX Global Managerを使用すれば、ネットワーク全体を1つのエンティティとして管理し、構成と運用の状態をすべてのロケーションで同期できます。また、セキュリティ面では、NSX Service-defined Firewall に新たに加わったコンテキストベースの分散型 IDS(侵入検知システム)により、データセンター内のトラフィックを分析し、侵入検知を行うことができます

TanzuやNSX-T 3.0などのソリューションにより、過去20余年、VMwareが仮想マシンにSDDCで培ってきた機能をコンテナに対してもエンタープライズのレベルで提供することができるようになります。既存の運用ナレッジをいかしつつKubernetesの動作環境を利用することで、クラウドネイティブによる新しいアプリケーション開発を実現し、ビジネスでの競争優位性を獲得するためのITインフラを提供する準備が整うと言えるでしょう。

VMware Tanzu のポートフォリオ

本番環境でコンテナを使用する企業が増加

ここまで、DX実現などで中核となるクラウドネイティブ技術のなかで、特に重要なものとしてコンテナを紹介しましたが、コンテナにも複雑な課題がいくつか存在しています。それにより、コンテナはエンタープライズ用途には不向きである、本番ではあまり使われていない、既存のアプリケーションには使われない、仮想マシンを置き換えるものである、セキュリティを担保できない、サーバレスアーキテクチャーとは併用できないなど、さまざまなイメージが一人歩きしている状況も見られます。

とはいえ、民間の調査では、本番環境でコンテナを使用している企業の割合が急速に高まっていることが見えてきています。

具体的な導入場面は、営業部門が使用するPOSデータの分析基盤などが挙がっており、売上高やコスト削減に直結していることが分かります。自社の顧客が住所変更などの手続きをするシステム、人事や業務関連の支援などのシステムを2017年以降は原則としてコンテナで構築するという企業もあります。

また、飲食店に関連する情報を提供したり、ファッション通販サイトが顧客による商品検索機能に利用したりするなど、事業としてのウェブサービスそのものをコンテナで構築するケースも多数出てきています。メガバンクでも、顧客向けに提供するスマホアプリサービスの基盤としてコンテナを本番利用するケースが報告されています。

最近になりコンテナが急速に普及してきた要因として、CaaS(Container as a Service)などのコンテナ向けクラウドサービスやベンダーとシステムインテグレーターのコンテナ導入支援の充実が指摘されています。さらに、まだ本番までこぎ着けていない企業も、既に導入構築、テスト、検証段階にある企業や、導入計画、検討にある企業も着実に増えており、今後も本番環境で使用する企業が増加することが見込まれています。

「コンテナ」という言葉自体の認知度も急速に上がってきており、DXへの要請を背景としてクラウドネイティブなアプリケーション開発と強い親和性を持つコンテナに、期待が高まっていると言えるでしょう。

目次