Containers as a service(CaaS)とは

By: IBM Services

Containers as a service(CaaS)は、ユーザーがコンテナ、アプリケーション、クラスターのアップロード、編成、開始、停止、拡張、その他の管理を行えるようにするクラウド・サービス・モデルです。CaaSでは、コンテナ・ベースの仮想化、アプリケーション・プログラミング・インターフェース(API)、またはWebポータル・インターフェースのいずれかを使用することで、これらの処理が可能になります。CaaSにより、オンプレミスのデータセンターまたはクラウドにおいて、安全性が高く拡張が容易なコンテナ化されたアプリケーションを構成できるようになります。このモデルでは、コンテナとクラスターはサービスとして使用され、クラウドまたはオンサイトのデータセンターに導入されます。 

CaaSが重要である理由

幅広いアプリケーションを備えたモデルであるCaaSにより、開発者は最大限に拡張されたコンテナおよびアプリケーションの導入の構成プロセスを合理化できるようになります。このモデルはIT部門にとって非常に有益であり、安全性の高い環境におけるガバナンス制御を備えた使用可能なコンテナ導入サービスを提供します。CaaSモデルにより、企業はソフトウェア定義インフラストラクチャー内でのコンテナ管理を簡素化できるようになります。

他のクラウド・コンピューティング・サービスと同様に、ユーザーは必要なCaaSリソースを選択し、それに対してのみ料金を支払うことになります。CaaSリソースの例としては、計算インスタンス、スケジューリング機能、ロード・バランシングがあります。

クラウド・コンピューティング・サービスの普及により、CaaSはInfrastructure as a Service(IaaS)のサブセットと見なされ、IaaSとPlatform as a Service(PaaS)との間に位置付けられます。IaaS環境では一般的に仮想マシン(VM)やベアメタル・ハードウェアのホスト・システムが使用されるのに対し、CaaSでは基本リソースとしてコンテナが含まれています。

CaaSテクノロジーの重要な特質は、主要なIT機能を自動化するオーケストレーションにあります。CaaSオーケストレーション・プラットフォームの例としては、Google KubernetesとDocker Swarmの2つがあります。パブリック・クラウドCaaSプロバイダーの例としては、IBM、Amazon Web Services(AWS)、Googleがあります。

コンテナが重要である理由

あらゆる業界の企業のお客様は、CaaSおよびコンテナ・テクノロジーのメリットを認識しています。コンテナを使用することで、効率性の向上を実現し、これらのお客様がマイクロサービスを使用してアプリケーションの最新化とクラウド・ネイティブ開発のための革新的なソリューションを迅速に導入できるようになります。コンテナ化により、これらのお客様はソフトウェアをより迅速にリリースし、ハイブリッド環境とマルチクラウド環境の間の移植性を高め、インフラストラクチャー、ソフトウェア・ライセンス、運用にかかるコストを削減できるようになります。 

コンテナを使用した場合、お客様には以下のようなメリットがあります。

  • 移植性:アプリケーションがコンテナ内で作成される場合、完成したアプリケーションには、依存関係や構成ファイルを含む実行に必要なすべてのものが含まれます。移植性があるため、エンド・ユーザーはさまざまな環境やパブリック・クラウドまたはプライベート・クラウドでそのアプリケーションを確実に起動できます。この移植性により、企業は大きな柔軟性を手に入れ、開発プロセスを加速させて異なるプロバイダーやクラウド環境に容易に切り替えられるようにします。
  • 優れた効率性とコスト削減:コンテナは個別のオペレーティング・システムを必要としないため、必要なリソースがVMよりも少なくなります。通常、1つのコンテナの実行には数十メガバイトしか必要としません。このため、1つのVMの実行に使用される単一サーバー上で複数のコンテナを実行できます。この効率性により、データセンターのコストを削減できます。さらに、コンテナは基盤となるハードウェアに関する使用率レベルが高く、必要とするハードウェアが少なくて済むため、ベアメタル・コストも削減できます。

コンテナは同じサーバー上の他のコンテナと同じリソースを共有していますが、相互に対話することはなく、分離されているような状態です。1つのコンテナでアプリケーションが異常終了した場合でも、他のコンテナではそのアプリケーションを引き続き使用でき、技術的な問題も発生しません。

  • セキュリティー:コンテナが互いに独立性を持つことは、リスクを最小限に抑えるセキュリティー機能も兼ねることになります。1つのアプリケーションがセキュリティー侵害を受けた場合でも、他のコンテナに悪影響を及ぼすことはありません。

また、コンテナはアプリケーション・プロセスをオペレーティング・システムから切り離して実行し、アプリケーションを実行するための特定のソフトウェアも必要としないため、ホスト・システムの管理がより簡素化されます。これにより、更新やセキュリティー・パッチの起動も迅速になります。    

  • スピード:コンテナはオペレーティング・システム・ブックを必要としないため、コンテナの開始、作成、複製、破棄には数秒しかかかりません。迅速な開発プロセスが可能となるため、市場投入までの時間と運用速度が速くなり、新しいバージョンやソフトウェアを以前よりも簡単、迅速かつ容易にリリースできるようになります。このスピードはカスタマー・エクスペリエンスにも役立ち、お客様から指摘があった場合はすぐに企業や開発者がバグに対処し、新しい機能を組み込めるようになります。
  • スケーリング:コンテナには水平スケーリングの機能が備わっており、エンド・ユーザーは同じクラスター内の複数の同一コンテナを取り込んでスケールアウトできます。スマート・スケーリングを使用し、必要なときに必要なコンテナのみを実行することで、コストを大幅に削減し、投資収益率を向上させることができます。 
  • 簡素化された開発:効果的かつ効率的な開発パイプラインを有することは、コンテナ・ベースのインフラストラクチャーの利点です。コンテナを使用すると、アプリケーションをローカルでビルドしたかのように動作させたり実行したりできるため、環境の不整合が発生しません。これにより、テストとデバッグの複雑性が軽減されるとともに時間が短縮され、テストとデバッグの強化につながります。この機能はまた、アプリケーションを更新する機能も兼ねています。開発者は構成ファイルを変更して新しいコンテナを生成し、以前のコンテナを削除するだけでよいのです。このプロセスにかかる時間はごくわずかです。 

マネージド・コンテナ・サービスとクラウド・コンテナ・スタック

コンテナの使用によるビジネスの強化を目指す企業のお客様は、以下の2つのオプションのいずれかをお選びください。

  1. パブリック・クラウドまたはオンサイトのインフラストラクチャー・プラットフォームのいずれかに導入するCaaSプラットフォーム

  2. 主に採用されている3つのパブリック・クラウド・プロバイダーであるGoogle、Amazon、Microsoft Azureによって提供されるマネージド・コンテナ・サービス

これら2つのオプションはいずれも、必ずしも企業を縛り付けるわけではありません。GoogleとLinux Foundationとのパートナーシップにより構成されたCloud Native Computing Foundation(CNCF)は、Kubernetes認定プログラムを立ち上げ、すべてのベンダーがプラットフォーム間のコンテナの移植性と適合性に関する基準を確実に維持できるようにしてきました。  

企業のお客様は、マネージド・コンテナ・プラットフォームまたはオンサイトでの導入を選択する前に、以下の項目を確認してください。

  • コンテナはオンサイトでの導入を必要としますか?それとも、パブリック・クラウドに導入できますか?
  • IT部門には、Kubernetes環境の設計、導入、管理に必要なスキルがありますか?そのようなスキルのトレーニングや保持には何が必要ですか?
  • コンテナを導入する必要があるのは、どのパブリック・クラウド・プラットフォームですか?例えば、Google、AWS、Azureなどがあります。
  • マルチテントおよび共有のKubernetesコントロール・プレーンを使用した場合、どのような影響がありますか?

企業がまだコンテナを試している場合は、マネージド・コンテナ・サービスが最良の選択となります。マネージド・コンテナ・サービスはクラスター・マネージャー、リソース・プロビジョニング、導入済みの最低限のプラットフォームのいずれも必要としないため、開始点として適しています。マネージド・コンテナ・サービスの大きなメリットは、初期のコンテナ導入テストを行った後に開発プロセスと運用プロセスを調整するのに最適であるという点です。

企業が既にKubernetes、AWS、またはオンサイト・プラットフォームでのコンテナ導入における、より確立された段階にある場合は、独自のCaaSソリューションを選択できます。独自のCaaSを使用することで、実動グレードのシステムに必要なフレームワークとサービスを備えた、機能中心のプラットフォームを企業に提供できます。

Kubernetesの台頭

ベータマックス対VHSとの争いとは異なり、コンテナ・オーケストレーションの支配権を巡る争いは、2017年の第4四半期に予測され、2018年の第2四半期までに終結しました。現在は単にKubernetesと呼ばれるGoogle Kubernetes Engineが勝者となりました。圧倒的勝者、プロバイダー、導入企業はそれぞれ一層の努力を重ね、Kubernetes向けのデプロイメントを生成して完成させることに集中しました。

マネージドKubernetesサービスとハイブリッド・コンテナ・スタックのリリースによって、Kubernetesの導入が容易になりました。GKEはマネージド・コンテナ・サービスの概念の開発に貢献したため、Kubernetesは常に競合他社であるAWSやAzureのコンテナ・サービスよりも高い需要を維持していました。2018年半ばにリリースされたAmazon Elastic Container Service for Kubernetes(Amazon EKS)とAzure Kubernetes Service(AKS)が、GKEの支配権を確かなものにしました。

動画を見る

Kubernetesとコンテナ・オーケストレーション

Kubernetes(K8s)は、アプリケーションの導入、管理、スケーリングを自動化するためのコンテナ・オーケストレーション・システムです。元々はGoogleによって設計され、2014年にオープンソース化されたKubernetesは、CNCFによって保守されています。KubernetesのWebサイトでは、Kubernetesは「宣言型構成と自動化の両方を容易にする、コンテナ化されたワークロードとサービスを管理するための、移植および拡張が可能なオープン・ソース・プラットフォーム」として記述されています。

Kubernetesが機能する主要なプラットフォームは以下の3つです:

  • コンテナ
  • マイクロサービス
  • ポータブル・クラウド

コンテナ中心の管理環境であるKubernetesは、ユーザー・ワークロードに応じてコンピューティング、ネットワーキング、ストレージ・インフラストラクチャーを調整します。Kubernetesは、PaaSと同様の使いやすさと共に、IaaSの適応性、インフラストラクチャー・プロバイダー間での移植性を備えています。 

Kubernetes、IBM、Red Hatのオープン・ジャーニー

20年にも及ぶ協業を経て、IBMとRed Hatは共同で探索を行うことになりました。Linuxの初期からの支持者として、IBMはRed Hatと協業し、企業レベルのLinuxの開発とサポートを支援しました。さらに最近では、この協業により、Kubernetesとハイブリッド・クラウドのソリューションが幅広いお客様に提供されるようになりました。Kubernetesはまた、IBMとRed Hatのハイブリッド・クラウド戦略を組み合わせた基盤の1つでもあります。

これらの革新的な技術は、USD 190億のIBMのハイブリッド・クラウド・ビジネスの中核テクノロジーとなりました。2019年末に予定されていた買収の完了後、Red HatはIBMハイブリッド・クラウド・チームの一番新しいメンバーおよび個別の部署になります。 

Kubernetes、IBM、Hertz

単にHertzとして知られているHertz Corporationは、2018年に創立100周年を迎えました。レガシー・テクノロジーの問題に取り組んでいたこの会社は、ビジネス・アーキテクチャーとテクノロジーを合理化するための支援を必要としていました。Hertz社は、IBM Cloud Garage™と提携し、企業がマイクロサービス・ベースのアプリケーションを構築してIBM Cloud™ PrivateおよびIBM Cloud Container Serviceに導入できるようにするKubernetesアーキテクチャーを開発しました。

IBMとの協業により、Hertz社は柔軟なコンテナ・アーキテクチャーとマイクロサービス・アーキテクチャーを使用して、デジタル・チャネル、予約、料金などにわたる中核システムを最新化しました。その広範な世界的展開力を活かして、Hertz社はこのアプリケーションが企業規模で高可用性を確実に提供できるようにしています。アプリケーションが実稼働状態になった際には、1日あたり15億件のヒットと3,000万件の更新が期待されます。

Kubernetesとオープン・ソース・ソフトウェア

オープン・ソース・ソフトウェアは影響力を増し続けており、情報技術の世界においてオープン・ソース・ソフトウェアのさらなる重要性が確立されつつあります。IBMサービスのホワイト・ペーパー『オープン・ソース・ソフトウェア環境向けのサポート・ソリューション』には、「96%の商用アプリケーションには、何らかのオープン・ソース・コンポーネントがあります。」と記載されています(PDF、3.9 MB)。1

オープン・ソース・ソフトウェアの世界では、Arturo Suarez氏が多大な影響力を持っています。Suarez氏は、クラウド・コンピューティング向けの無料のオープン・ソース・ソフトウェア・プラットホームであるOpenStackの最初の商用ディストリビューションを開発しました。2019年のIT Biz Advisorのインタビューで、Suarez氏はKubernetesに関する見解について、「Kubernetesはコンテナ・オーケストレーションのレースで勝利しています。」と述べ、「優れたガバナンス・モデルと採用曲線を持ち、3カ月ごとにリリースされるKubernetesは、OpenStackよりもさらに早いペースで進化を遂げています。」とも述べています。2  

IBM Cloud Kubernetes Service

2018年5月中旬とそれに続くKubernetesへのIBMの戦略的な投資において、2017年5月から提供されるようになったサービスであるIBM Cloud Container Serviceの名称が、IBM Cloud Kubernetes Serviceに変更されました。

迅速なアプリケーション提供のためのマネージド・コンテナ・サービスであるIBM Cloud Kubernetes Serviceは、 IBM Watson®、ブロックチェーン、およびその他の先進サービスと統合できます。IBM Cloud Kubernetes Serviceには、以下のような機能があります。

  • 高度なスケジュール
  • 自己修復
  • 水平スケーリング
  • サービスの検出
  • ロード・バランシング
  • 自動化されたロールアウトとロールバック
  • 機密管理と構成管理

使いやすいクラスター管理を中心とした拡張機能と独自のクラスターを設計する機能を備えたこのIBM Cloud Kubernetes Serviceは、コンテナ・セキュリティー、分離ポリシー、さらには導入における整合性を確保するための統合運用ツールも提供します。

IBM Cloud Kubernetes Serviceは現在、1万を超える有料のマネージド実動クラスターを保持しており、Think Research社、Eurobit Technologies社、IBMグループ会社のThe Weather Company社といったお客様にご利用いただいています。企業はIBM Cloud Kubernetesサービスを使用して、以下のタスクを実行します。

  • クラスターを作成する。
  • 拡張可能なWebアプリケーションをKubernetesに導入する。
  • Kubernetesアプリケーションのログを分析し、正常性を監視する。
  • Kubernetesへの継続的なデプロイメントを提供する。

コンテナ・サービス、クラウド・サービス、Kubernetesがお客様のビジネスにどのように役立つかなど、詳細についてはIBMの専門家との1対1の無料の面談をご予約くださいIBM Cloud Kubernetes Serviceに登録して、IBM Cloud環境において無料で構築や開発を行うこともできます。IBMが自信をもってお客様のビジネスの発展をお手伝いします。

コンテナとKubernetesの詳しい情報は、以下を参照してください。

出典

  1. IBMサービス。『オープン・ソース・ソフトウェア環境向けのサポート・ソリューション』IBM、2019年。https://www.ibm.com/downloads/cas/BWJWOJRD (PDF, 3,9 MB) 
  2. Camilla Sharpe。『Q&A:オープン・ソース・テクノロジーがIT全体をどのように革新しているか』IBM、2019年5月16日。https://itbizadvisor.com/2019/05/qa-how-open-source-technology-is-shaking-up-the-it-landscape