コンテナ化とは、1 つのオペレーティングシステムを仮想環境として実行するのに必要な全ての要素を含むソフトウェアをパッケージ化する技術です。この技術によって、プライベートデータセンター、パブリッククラウド、または個人のノートパソコンなど、どこからでもオペレーティングシステムを実行できるようになります。
コンテナは、1 つのオペレーティングシステムの CPU、メモリ、ストレージ、ネットワークなどのリソースの共有を容易にして、アプリケーションの論理的なパッケージ化を可能にします。その結果、アプリケーションの実行環境の抽象化が容易になります。
コンテナ化のメリット
システムリソースの削減:コンテナは、従来のマシンや仮想環境と比較してオーバーヘッドが小さい。
必要な分だけ使用:必要なコンテナのみを使用し、ニーズに応じて追加できる。
スムーズな運用:デプロイメントのタイミングや場所にかかわらず、一貫性のある運用ができる。
効率性:コンテナのデプロイメント、パッチの適用、スケーリングを必要に応じて実施できる。
生産サイクルの効率化:テスト、生産サイクルの効率化と開発期間の短縮を可能にする。
クラウドネイティブなアプリケーションのメリット
- コスト効率:従量課金モデルとオープンソースシステムにより、DevOps チームは、バックアップ、メンテナンス、使用したリソースに対してのみ料金を支払う。
- セキュリティの強化:クラウドネイティブなアプリケーションでは、二要素認証および、権限のあるデータやフィールドのみをアクセス可能にするアクセス制御を実施する。
- 柔軟性とスケーラビリティ:クラウドネイティブなアプリケーションの特長である柔軟性とスケーラビリティにより、アップデートの頻度が抑制され、事業の成長にあわせて拡張できる。
- 柔軟な自動化:クラウドネイティブなアプリケーションでは、DevOps チームは、CI/CD(継続的な統合と提供)プロセスによるデプロイメントやテストの実行、フィードバックの収集ができる。また、パブリック、プライベート、ハイブリッドのいずれかを問わず、複数のクラウドプラットフォームで業務を遂行し、生産性と顧客満足度の向上が図れる。
- ベンダーロックインの解消:DevOps チームは、同一のクラウドネイティブプラットフォームで複数のクラウドプロバイダと連携できるため、ベンダーロックインが発生しない。
- コンテナ技術の発展:アプリケーションのコンテナ化は、ベアメタルシステム、クラウドインスタンス、仮想マシンを含む、Linux、一部の Windows や Mac OS でサポートされている。複数のコンテナアプリケーションが、単一のホスト上で、共通のオペレーティングシステムを利用して実行される(VM のようにアプリケーションごとに OS を持つのではなく)。
コンテナ技術 vs. 仮想化
コンテナの導入は、仮想マシン(VM)の成長を上回る勢いで加速しています。しかし、コンテナ技術が VM を完全に置き換えることはなさそうです。概して、コンテナ技術がアプリケーション開発のスピードと効率性を向上させるのに対し、仮想化はインフラ管理のスピードと効率性を向上させます。
以下の概略図は、一般的な条件のもとでのコンテナと VM の比較を示したものです。
コンテナオーケストレーションとは
コンテナオーケストレーションには、コンテナのデプロイメント、ネットワーキング、スケーリング、管理を自動化するためのプロセスが含まれます。現在利用されているコンテナオーケストレーションプラットフォームの代表格が Kubernetes です。オープンソースのプラットフォームである Kubernetes は、昨今の多くのエンタープライズ向けコンテナオーケストレーションプラットフォームの基礎になっています。
Kubernetes とは
Kubernetes は、コンテナ化されたワークロードやサービスを管理するための、移植性と拡張性に優れたオープンソースプラットフォームであり、宣言的設定と自動化を容易にします。Kubernetes を取り巻くエコシステムは膨大で、急速に成長しており、Kubernetes のサービス、サポート、ツールには幅広い選択肢があります。Kubernetes は、以下の機能を提供します。
サービスディスカバリ(サービス検出)とロードバランシング(負荷分散)
ストレージのオーケストレーション
ロールアウト、ロールバックの自動化
ビンパッキングの自動化
セルフヒーリング(自己修復)
シークレット、構成の管理
クラウドにおけるコンテナ化とは
Kubernetes のエコシステムは広範で複雑です。オンプレミスのモダンアプリケーションに必要な全コンポーネントを 1 社で提供できるテクノロジーベンダーは存在しません。Nutanix は、ハイパーコンバージドインフラ(HCI) や HCI 専用 OS である AOS を通じた革新的なインフラをはじめとする、他社とは一線を画すコアコンピタンスを、差別化価値として提供しています。
オンプレミスの Kubernetes 環境の構築に役立つ Nutanix の技術的な強みには、例えば次のものがあります。
分散システムの管理機能
統合ストレージソリューション: ファイル、ボリューム、オブジェクトストレージをサポート
Nutanix Kubernetes Engine:ネイティブな Kubernetes ユーザーエクスペリエンスをもたらす完全統合の Kubernetes 管理ソリューション
Nutanix ハイパーコンバージドインフラ(HCI)は、コンテナ化されたワークロードを Kubernetes 上で大規模に実行するための理想的なインフラ基盤です。Nutanix はプラットフォームのモビリティ機能を提供しており、Nutanix プライベートクラウドとパブリッククラウドのいずれの環境でもワークロードの実行が可能です。また、Nutanix のアーキテクチャは、ハードウェアの障害に備えた設計がなされており、Kubernetes プラットフォームのコンポーネントとアプリケーションデータの両方の耐障害性を強化しています。HCI ノードを追加するたびに、Kubernetes コンピューティングノードに拡張性と耐障害性が加わるメリットを享受できます。同様に重要なのは、各 HCI ノードとともにストレージコントローラも追加でデプロイされるという点です。これにより、コンテナ化されたステートフルなアプリケーションのストレージ性能が向上します。
Nutanix Cloud Platform には Nutanix Kubernetes Engine(NKE)が組み込まれており、Kubernetes エクスペリエンスを容易に実現できます。NKE は、複数のクラスタのプロビジョニングとライフサイクル管理を簡素化するエンタープライズグレードのソリューションです。Nutanix は、お客様に選択肢があることが重要だと考えており、フルスタックのリソース管理を通じて Red Hat OpenShift、Rancher、Google Cloud Anthos、Microsoft Azure その他のディストリビューションをサポートしています。お客様はその中から任意のものを実行できます。
Nutanix Unified Storageは、Kubernetes クラスタに、永続的で拡張可能なソフトウェア定義のストレージを提供します。これには、Nutanix CSI ドライバ-経由のブロック/ファイルストレージおよび、S3 互換のオブジェクトストレージが含まれます。さらに、Nutanix Database Service を使用することで、データベースの大規模なプロビジョニングと運用が可能になります。