Kubernetes上にPaaS/DBaaSを実現するNutanixの「Project Beacon」とは。AWSやオンプレミスなど特定のインフラに依存しないプラットフォームを実現[PR]
アプリケーションの開発や運用を行う際に、Dockerに代表されるコンテナ環境を用いることが一般的になってきました。
コンテナの利点は2つあります。1つはアプリケーションとライブラリやOSなどの実行環境をコンテナとしてパッケージングできることで安定した環境構築が容易なこと。
2つ目はパッケージングされたコンテナは基本的にどのインフラの上のコンテナ実行環境であっても同じように動作するため、アプリケーションのポータビリティが高まることです。
しかしこのポータビリティに欠けているものがあります。アプリケーションの実行に不可欠な、ストレージやデータベースなどのデータレイヤです。
クラウドネイティブに欠けているポータビリティ
例えばAWSの上で構築したアプリケーションがデータベースにAmazon RDSを、ファイルストレージにAmazon EFSを利用している場合、そのアプリケーションをMicrosoft Azureのような別のクラウドやオンプレミスなどに移行するには、コードの見直しと十分な検証が必要となるでしょう。
監視用メトリクスの取得やバックアップの手順など、運用の見直しも必要になるはずです。
これらが結果的にクラウドネイティブなアプリケーションのポータビリティを妨げ、特定のインフラへの依存につながっています。
こうした状況を変えようとしているのが、Nutanixの「Project Beacon」です。
Project Beaconはクラウドネイティブのビジョン
Project Beaconは特定のインフラに依存しないクラウドネイティブなアプリケーションプラットフォームの実現を目指すビジョンです。

クラウドネイティブな環境において、アプリケーションだけでなくデータレイヤ、例えばファイルシステムやオブジェクトストレージ、ブロックストレージ、リレーショナルデータベースやNoSQLデータベース、キャッシュ、サーチ、メッセージングなどを、特定のクラウドやインフラに依存しないポータブルなものにします。
これによりアプリケーションからデータレイヤまでを含めて、AWSやMicrosoft Azure、オンプレミスなどのさまざまなクラウドやインフラへ容易に展開できるハイブリッド・マルチクラウド環境を実現しようとしているのです。
K8s上で分散ストレージを実現するCloud Native AOS
Nutanixはすでに、同社のハイブリッド・マルチクラウド基盤である「Nutanix Cloud Infrastructure」で、特定のハイパーバイザやクラウドインフラに依存しない仮想化基盤のデータレイヤにおけるポータビリティを実現しています。
Project Beaconではこの技術をKubernetesのレイヤにも適用することで、クラウドネイティブにおいてもアプリケーションやデータレイヤのポータビリティを可能にしようとしています。
その重要な技術が、同社がこれまで仮想化基盤の分散ストレージを実現してきた「AOS Storage」(AOS)をクラウドネイティブに対応させた「Cloud Native AOS」と、データベースサービスを提供する「Nutanix Data Services for Kubernetes」(NDK)です。

この2つの技術は、Nutanixが提供するNutanix Kubernetes Platform(NKP)はもちろん、AWSのAmazon EKSやMicrosoft AzureのAKSなどに組み込むことも可能となっています。
まずは、Cloud Native AOSとはどんなものかを見ていきましょう。
Cloud Native AOSの起源はHCIの技術
Nutanixはハイパーコンバージドインフラストラクチャのパイオニア企業として登場しました。その中心を担うのが、AOSによる分散ストレージ機能です。
具体的には、仮想化ハイパーバイザの上にストレージコントローラを実装し、複数ノードのストレージコントローラを連携させることによる分散ストレージ機能でスケーラブルな統合仮想化基盤を実現させました。
下記は同社のAOSによる分散ストレージ機能の構成図です。
同社はこの分散ストレージ機能を、KVMをベースとした同社の仮想化ハイパーバイザであるAHVだけでなく、ESXi、Hyper-V、Xen Serverのいずれにも対応させ、その基盤上で仮想化ハイパーバイザに依存しないブロックストレージ、ファイルストレージ、オブジェクトストレージを始めとするサービスを実装し、提供してきました。
どんなKubernetesにも分散ストレージを組み込める
Cloud Native AOSは、まさにこの仮想化基盤における分散ストレージの技術をKubernetes環境に対応させたものと言えます。
Cloud Native AOSではKubernetesのコンテナ環境上にストレージコントローラを実装、それをクラスタとすることでKubernetes上でスケーラブルな分散ストレージを構築していまます。
AOSがさまざまな仮想化ハイパーバイザに対応していたのと同様に、このCloud Native AOSで実現される分散ストレージも、Nutanixが提供するKubernetesディストリューション「Nutanix Kubernetes Platform」(NKP、旧D2IQ)だけでなく、Amazon EKS、Azure AKS、RedHat OpenShiftなど、さまざまなCNCF準拠のKubernetesに対応しています。
この分散ストレージの上でも、従来のAOSと同様にファイルストレージやオブジェクトストレージを始めとするさまざまなデータサービスが提供可能になります。
アプリケーションからストレージへは、Kubernetesのストレージ用APIであるCSI/COSI(Container Storage Interface/Container Object Storage Interface)でアクセス可能。
しかもCloud Native AOSによる分散ストレージは単に複数のノードを活用したスケーラビリティを実現するだけではありません。
パブリッククラウドの複数のアベイラビリティゾーンやリージョンにまたがって仮想的なストレージを構築できます。
これにより万が一特定のアベイラビリティゾーンやリージョンに障害が発生したとしても、事実上その影響を受けずデータへのアクセスが維持できるクラウドネイティブなアプリケーションが実現できるのです。
DBaaSを提供するNutanix Database Service
このNutanix Cloud InfrastructureやCloud Native AOSの分散ストレージ機能を適切に利用しつつ、Oracle Database、SQL Server、PostgreSQL、MySQLおよびMongoDBなどさまざまなデータベースエンジンのプロビジョニング、クローニング、パッチ、バックアップとリカバリ、スナップショットなど、いわゆるDBaaS(Database-as-a-Service)を提供するのがNutanix Database Services for Kubernetes(NDK)です。
データベースの運用操作をコードとして扱うことができるため、プラットフォームチームと運用チームにとって効率的なデータベースの構築と運用が可能となります。
同時に、アプリケーション開発者もセルフサービスでデータベースのプロビジョニング、クローン作成、リストアなどを行えるため、開発環境やテスト環境を素早く再現できるようになります。
Nutanix Database Services for Kubernetesは将来的にはデータベースだけではなく、キャッシュ、メッセージング、サーチなど広範囲なデータサービスへも対応予定です。
Nutanixはクラウドネイティブ対応へ
Project Beaconは、このようにNutanixが持つマルチクラウド、ハイブリッド技術であるNutanix Cloud InfrastructureやCloud Native AOS、Nutanix Database Servicesなどの技術を適切に組み合わせることで、インフラに依存しないクラウドネイティブなアプリケーションプラットフォームを実現します。
それはAWSやMicrosoft Azureといったパブリッククラウドからオンプレミスまで、アプリケーションやユースケースに適したインフラを自由に選択し、スケーラブルで高可用なマルチクラウドやハイブリッドクラウドを実現するプラットフォームとなります。
企業のアプリケーションプラットフォームが仮想化統合基盤からコンテナをベースとしたクラウドネイティブへと移り変わろうとしている中で、Nutanix自身もクラウドネイティブに対応したアプリケーションプラットフォームを提供する企業へと変わろうとしているのです。
≫Nutanix、「Project Beacon」を拡張し、クラウドネイティブユーザーへの対応を拡大 | Nutanix
(本記事はNutanix Japan合同会社提供のタイアップ記事です)