Container as a service (CaaS)
CaaS (Container as a service) とは
CaaS (Container as a service) は、仮想化されたアプリケーション、クラスター、コンテナを管理する手段を提供して、より迅速かつ簡単に展開できるようにする、従量制課金のクラウドベースのサービスです。
CaaSの仕組み
基本的には、CaaSプロバイダーは、組織の複数のコンテナ間でインフラストラクチャを実行および維持する、コンテナオーケストレーションエンジンをホストします。ユーザーは、コンテナベースの仮想化、APIコール、またはWebポータルインターフェイスを使用してこのサービスにアクセスします。このサービスは、仮想マシン (VM) やベアメタルのホストシステムではなくコンテナで提供されるので、スケーリングが容易になり展開が迅速になります。
CaaSに適した用途
CaaS内で動作している各コンテナには固有のオペレーティングシステム、およびネットワークプロトコルの関係が定義済みのコードベースがあるので、CaaSは、特にマイクロアプリケーションの展開に適しています。CaaSを使用すれば、展開がほぼ瞬時に行われます。また、CaaSには自動スケーリングとオーケストレーション管理が組み込まれているので、コンテナのパフォーマンス追跡は根本的にアウトソーシングされていて、各展開に費やすITスタッフの時間が短縮されます。
CaaSが重要である理由
CaaSが重要なのは、それによって、ソフトウェア開発チームやIT部門ができるようになることがあるからです。もちろん、できないこともあります。CaaSを選択できるようになる前は、ソフトウェア開発には、市場投入プロセスの一環としてインフラストラクチャ管理が含まれていて、DevOpsチームは、コンテナが実行される基盤となるインフラストラクチャに注意を払う必要があり、専任のリソースがクラウドマシンとネットワークルーティングシステムの監督および管理を担当していました。
CaaSの登場により、それらのリソースからそのようなタスクが取り除かれ、コンテナを展開する前にコンテナインフラストラクチャの構築およびテストに費やすITチームとDevOpsチームの時間が短縮されました。また、CaaSでは、クラウドコンピューティングとその追加構成の複雑さが簡素化されて、DevOpsチームの負担も軽減されています。
CaaSを選択できるようになった現在では、DevOpsチームが行う必要がなくなったことに加えて、CaaSを使用してDevOpsチームができることに真価が現れています。基本的には、DevOpsチームは顧客ニーズに合ったソリューションを考案するために必要とされる創造的思考に重点を移すことができます。つまり、顧客の要求に応じて新機能をより迅速に提供できるようになります。
CaaSのメリット
CaaSは、次のようないくつかの点でDevOpsチームとITチームにメリットをもたらすソリューションを提供します。
- 企業の柔軟性 – すべてのコンテナ化アプリケーションの統合と展開に対応するCaaSベンダーを利用すれば、企業はコンテナを複数のクラウドにわたって分散させることができるので、1つのクラウドベンダーに縛られないようにすることに役立ちます。価格やベンダーの強みなど、さまざまな基準に基づいて、クラウドプロバイダーを選択できるようになります。
- ポータビリティ – CaaSはポータビリティをもたらします。つまり、複数のクラウド、プロバイダー、環境の間でワークロードを簡単に移すことができます。そうすることで、企業は制御と効率を向上させることができます。
- シンプルなメンテナンス – CaaSを使用すれば、コンテナのログ記録や監視の集約および一元化が容易になり、コンテナのパフォーマンスの可視化が向上します。そして、CaaSプロバイダーがアップデートやメンテナンスのタスクに対処するので、IT部門は企業に収益をもたらす、もっと重要なタスクに注力できるようになります。
- 一元管理 – コンテナ化アプリケーションをCaaSプラットフォームに移すことによって、DevOpsチームは単一のベンダーからパフォーマンスを監視し、オーケストレーションを管理できるようになります。
- スケーラビリティ – CaaSプラットフォームは、需要の急増や安定に応じて可用性を迅速に変化させることができる、自動スケーラビリティ機能を提供します。
- 展開時間の短縮 – CaaSは、開発チームがソフトウェア開発サイクルを効率化するのに役立ちます。基盤となるインフラストラクチャを抽象化することによって、DevOpsチームは、より軽量でより迅速な展開を実現できます。
- コストの削減 – CaaSを使用すれば、ロードバランシング、スケジューリング、コンピュートインスタンスなど、使用したサービスに対してのみ支払うことができるようになります。また、CaaSは、顧客がインフラストラクチャ、ソフトウェアライセンス、および運用のコストを削減することにも役立ちます。
CaaSと他のクラウドサービスとの違い
今では、クラウドで運用することがほぼすべての組織にとって標準的な手法となっていて、効率性、予算、その他の懸念事項への対処に役立つas a serviceソリューションが続々と登場しています。そうしたサービスでは、クラウドコンピューティングのソフトウェア階層が管理されているので、コンピューターやサーバーといったソフトウェアインフラストラクチャが提供されます。上位4つのas a serviceソリューションを以下に示します。
Infrastructure as a service
その名前が示すように、IaaSは、サーバー、ストレージ、仮想マシン、ネットワークから成るインフラストラクチャを企業に提供します。IaaSを使用すれば、企業はメンテナンスから解放されて、社内のハードウェアを独自コンピューティングやよりリソースを多用するコンピューティングに充てることができるようになります。
Platform as a service
PaaSは、個々のソフトウェアやハードウェアの管理など、開発のバックエンドを自動化します。したがって、DevOpsチームは、サーバー、ストレージ、バックアップをプロビジョニングすることなく、アプリケーションを開発および展開することができます。PaaSプラットフォームでは、アプリケーション開発のテスト、管理、展開、メンテナンスを行いながら、複数のユーザーがコピーを同時に実行することができます。
Software as a service
SaaSを使用すれば、企業は、ビジネスアプリケーションをサブスクリプションベースで提供するプロバイダーを通じて、ソフトウェアライセンスを取得できます。そのプロバイダーが、そのアプリケーションを実行するためのインフラストラクチャやプラットフォームを提供し、すべてのアップデートやメンテナンスに対処します。
コンテナが重要である理由
ハイブリッドクラウドやマルチクラウドの環境を実装する組織が増えるにつれて、企業は仮想マシンではなくコンテナを使用することにメリットを見いだしています。コンテナは組織の時間とコストを節約し、どのようなマシンを使用していても信頼性と整合性のある環境で開発、テスト、および生産する手段をDevOpsチームに提供します。
また、コンテナは新しいアプリケーションをより迅速に展開する能力をユーザーに提供するので、組織は、顧客が早急に必要としているアプリケーションを構築できるようになります。そのことが、顧客が複数の企業の中からその企業を選ぶ際のポイントとなることがあります。コンテナには次のような特長もあります。
- OS非依存 – アプリケーションとそれに必要なすべてのファイル (オペレーティングシステムを除く) が1つのユニットにバンドルされているので、コンテナはさまざまなオペレーティングシステム、ハードウェア、ネットワーク、ストレージシステム、およびセキュリティポリシーで実行できます。したがって、どのような環境にも対応でき、開発者は異なるサーバーごとにアプリケーションを書き直さずに済みます。
- 軽量 – コンテナは非常に小規模であり、最小限のコンピューティングリソースしか使用しないので、アプリケーション展開が極めて高速になります。
- 効率的 – 個々のコンテナには複雑なアプリケーションの単一のコンポーネントが入っているので、開発者はより簡単にそれらをクラスターに展開できます。
- ポータブル – 1つのユニットであるコンテナは環境間で容易に移すことができるので、DevOpsチームはワークロードの制御性を高めることができます。
- 隔離 – コンテナは独立して実行されるので、あるコンテナで発生した問題を、実行中の他のコンテナから隔離することができます。
KubernetesとCaaSの違い
基本的に、Kubernetes (K8s) とCaaSは、どちらも何らかの方法でコンテナを管理するという点で関連性があり、K8sはコンテナプラットフォームとして、CaaSはサブスクリプションベースのサービスとして、コンテナを管理します。ただし、一方はインフラストラクチャソリューションであり、他方は管理ソリューションであるという点で、この2つは異なっています。本番環境のワークロードを大規模に実行するにはどちらも不可欠です。
K8sは開発者プラットフォームの構築に必要とされる資産を提供し、ユーザーの選択の自由と柔軟性がそのDNAに組み込まれています。従来のPaaSシステムとは異なり、幅広いワークロードをサポートでき、障害が発生したコンテナを再起動し、応答しないコンテナを必要に応じて置き換えて強制終了するという、自己修復が可能です。
コンテナレベルで動作するプラットフォームであるK8sでは、PaaSと共通の機能がいくつか提供されていますが、それらはK8sには組み込まれていません。その代わりに、K8sでは、展開、スケーリング、ロードバランシングが提供され、ログ記録、監視、アラート機能のソリューションをオプションのプラグインとして統合することができます。
CaaSプロバイダーがK8sプラットフォームを使用してコンテナを管理することはよくあります。CaaSプロバイダーはK8sを使用して、ロードバランシング、ストレージシステムの自動マウント、バイナリのパッケージ化、展開するアプリケーションの望ましい状態の記述を行います。
CaaSの使用事例
多くの組織が、効率の向上、DevOpsの時間の節約、およびマイクロサービスの展開を容易にするために、CaaSの取り組みを始めています。その例を以下に示します。
日本の大手情報およびテクノロジー企業である富士通では、統合型システムビジネスで最先端のコンテナテクノロジーを顧客に提供しています。富士通は、最新のコンテナインフラストラクチャソリューションを採用して、独自のコンテナツールのセットを構築しながらコストを低く抑えることができるように、CaaSプロバイダーへの転換を図っています。また、手動での介入を最小限に抑えてコンテナベースのアプリケーションを独自のハードウェア上で実行およびアップデートできるように、CaaSを利用しています。
テクノロジー企業であるMapR Technologies社は、企業が社内アプリケーションに組み込まれている基盤となるデータにアクセスして迅速な意思決定を行うことを支援する分析を提供してきました。HPEが買収したMapRは、データ主導の有益な情報をリアルタイムで運用化するアプリケーションを管理できるように、CaaSソリューションを実装していました。顧客データに関する最新の有益な情報を素早く提供できる準備が整っていることは、MapRのソリューションにとって思いがけない僥倖です。
サプライチェーン計画ソフトウェアプロバイダーであるStockIQ社は、CaaSを利用して、ベアメタルへのコンテナファームの迅速な展開、およびコンテナをベアメタルで直接実行する場合よりも優れたパフォーマンスを顧客に提供しています。
GM Financial社は、規制が非常に厳しい業界で事業を行っていて、機械学習、ディープラーニング、自然言語処理など、幅広いアプリケーションにマルチテナントのハイブリッドクラウド環境を利用しています。信用リスク分析などの多くのタスクがコンテナ化され、CaaSで管理されていて、分散した機械学習やディープラーニングの環境に迅速に自動展開されています。
HPEはCaaSをどのように提供しているか
革新的なソリューションとサービスの広範なポートフォリオで、HPEはお客様がイノベーションを刺激し、パフォーマンスを最適化し、情報を最大限に活用することを支援できる有利な立場にあります。実際、アプリケーションとワークロードのすべてを最新化するという顧客ニーズへの対処で、いくつかのサービスが最近Tech Innovator Awardsを獲得しています。
HPE Ezmeral Runtimeは、2020年のコンテナテクノロジーにおける最高のイノベーションとしてCRNから認められています。HPE Ezmeral Runtimeは、エンタープライズデータセンター、コロケーション施設、複数のパブリッククラウド、エッジなど、あらゆるインフラストラクチャでのコンテナ化アプリケーションの大規模な展開および管理に柔軟性をもたらします。実績のあるHPEのイノベーション (HPE Ezmeral Data FabricやKubeDirectorオープンソースプロジェクトなど) を通じて、お客様は、コストのかかるリファクタリングなしでクラウドネイティブと非クラウドネイティブのどちらのアプリケーションもコンテナで実行でき、一元化されたコントロールプレーンで複数のKubernetesクラスターを管理でき、永続データとステートフルアプリケーション向けの高性能な分散ファイルシステムを活用できます。HPE Ezmeral Runtimeも、HPE GreenLakeを通じたクラウドサービスとして提供されています。
HPE GreenLakeは、業界初のエンタープライズグレードの、セキュアでスケーラブルなコンテナプラットフォームであり、100%オープンソースであるKubernetesを使用した、クラウドネイティブおよび非クラウドネイティブのアプリケーション向けのコンテナプラットフォームです。このコンテナプラットフォームは、AI、機械学習、IoT、および5Gにおけるイノベーションを迅速に展開することに役立ちます。HPE GreenLakeを利用すれば、お客様に代わってHPEが管理する事前定義済みのコンバージドインフラストラクチャと、お客様のすべてのアプリケーション用に一元化されたコントロールプレーンを使用して、ITを簡素化することができます。