Knowledge/Culture
一覧へ戻る

コンテナとKubernetesはなぜ注目されるのか

タグ
  • ネットワーク/回線
  • サーバ
  • ストレージ
目次

ビジネスに求められるスピード

近年、サーバ仮想化に代わる新たなITインフラとしてコンテナと、コンテナを管理する(オーケストレーションする)ツールであるKubernetesが注目を集めています。コンテナによるアプリケーション開発を採用している企業は増加の一途を辿っており、日本国内においてもKubernetesの利用が本格的に普及し始めました。
その背景には、デジタル技術の発達によりビジネスに求められるスピードが、以前よりも増していることが関係しています。現在、様々な企業がWeb上で提供されるアプリケーションサービスを使用してビジネスを展開しています。ユーザへより良い体験価値を提供するためにはアプリケーションサービスを改善していくスピードが不可欠です。それゆえ、企業は競争力を手に入れるためにITを駆使したビジネススピードの向上が求められています。例えば、アプリケーションサービスの開発をスピーディに行い、他社に先んじてアイデアを市場に投入することができれば、それだけ早くユーザに新しい体験を価値として提供することができます。一日でも早く改善したアプリケーションサービスを提供し続けることができれば、これからのビジネスで求められるスピードに近づくことが可能になります。一方、アプリケーションの開発や改善のスピードが向上しても、アプリケーションサービスを支えるITインフラが適応できていなければビジネス全体のスピードは上がりません。ビジネスのスピードを向上には、素早いアプリケーション開発と、スピードを支えられるITインフラが必要であり、それを実現できるのがコンテナとKubernetesです。
本コラムでは、ビジネスのスピード向上が求められる今、コンテナとKubernetesを使用することで何がどう変化するのかについて紹介していきます。

スムーズな機能改善の手段としてのコンテナ

コンテナは、アプリケーションを動作させる単位をコンテナとしてパッケージ化させる技術です。軽量なOSにランタイムとプログラムコードを入れてパッケージとして扱えるため、オンプレミスかクラウドかを問わず、どの環境であっても同じようにアプリケーションを稼働させることが可能です。
コンテナの特徴を活かすためには、サービスを構成する個々の機能を部品として分割します。アプリケーションサービス全体を仮想マシンに格納する手法と異なり、それぞれの機能を別々のコンテナに格納することが望ましい構成になります。また各コンテナには、APIと呼ばれる他の機能とやりとりするための窓口を作り、機能間の連携ができるようにしておきます。

改善した機能だけを置き換える
1機能を取り換えるだけで改善を行うことが可能

上記の構成のように、コンテナを用いてサービスを構築すれば、サービスを構成する1つ1つの機能を部品として扱えるようになります。機能改善の必要が生じた際には、対象機能のコンテナの部分的な入れ替えで対応できます。サービスを構成するアプリケーションの機能改善のスピードが上がり、より早くユーザに新しい体験価値を提供することができるようになります。

Kubernetesによるインフラ環境の自動運用

コンテナには、アプリケーションを実行する機能はありますが、コンテナ自体を管理運用する機能はありません。複数のコンテナを管理、運用するにはコンテナオーケストレーションツールが必要であり、そのデファクトスタンダードとなっているのがKubernetesです。
Kubernetesは、コンテナを稼働させるインフラ環境の構成を宣言的に定義することができ、その状態を「あるべき姿」として維持しようとする運用管理の動作が特徴です。

3台で稼働することを定義
冗長構成のコンテナが1台停止すると
あるべき姿を維持するためにコンテナさ再作成される

上図はWebアプリケーションをコンテナで構成したサービスの代表構成例です。赤枠内ではKubernetesの宣言的な定義で「Business Logic2」の機能のコンテナを3台稼働させるように定義し、冗長性を持たせています。もし、その内の1台のコンテナが停止しても、Kubernetesが定義されている構成との乖離を検知し、あるべき姿を維持するため自動的にコンテナが再作成されます。

コンテナのリソース使用率を定義
1つの機能に負荷が集中すると
新しくコンテナを作成し、負荷を分散させる

また、コンテナが利用するリソースの使用率を定義しておくと、Kubernetesは各コンテナで使用されるリソース使用率を定義された状態に近づけるように自動でコンテナの数を調整します。サービスを構成するコンテナに負荷が集中した場合には、自動でコンテナの数を増やし、負荷を分散することで、各コンテナが使用するリソースの使用率を常に一定の状態に保ちます。

Kubernetesは、コンテナの状態を、常に「あるべき姿」として定義した状態に保つ特徴により、自動でコンテナの状態を維持するため、これまで人が稼働していた運用にかかる負荷を削減します。その分、新しい収益を得るための構想を練ることや、新たなサービスを作成することなど、ビジネスを強化するための時間に費やせるようになります。

Kubernetes導入の課題

オープンソースであるKubernetesの導入時の構築作業は複雑なものとなります。加えて、Kubernetesは3か月ごとにマイナーリリースが実施されているため、その更新に合わせて運用していくことは容易ではありません。プラットフォームとしてKubernetesを導入し維持するためには豊富な経験やスキルが求められます。
しかし、Kubernetesを導入し維持するためにコストを割くことは、あるべき姿ではないと考えます。ソリューションを利用することで負担を減らし、速やかにKubernetes環境を手に入れることで本来の目的であるビジネスのスピードを上げるためにアプリケーションの開発や機能改善に注力すべきです。
三井情報では、Kubernetesを導入、維持するためのソリューションとしてVMware Tanzuの利用をお勧めします。VMware Tanzuは、VMwareが提供するKubernetes関連製品群のポートフォリオであり、ポートフォリオ内のApplication Runtimeに属するTanzu Kubernetes Grid(以下 TKG)は、オープンソースであるKubernetesをベースに開発されたコンテナランタイムです。

Kubernetes Clusterの手動セットアップ

上図ではオープンソースのKubernetesクラスタとTKGによるKubernetesクラスタ導入にかかる時間を比較した内容となります。Kubernetesでは、ノードと呼ばれるマシンの集合体であるKubernetesクラスタ上でコンテナ化されたアプリケーションを実行します。
オープンソースのKubernetesクラスタの展開までには、弊社で計測したところ総じて439分の時間を要しました。一方で、TKGを利用しKubernetesクラスタの展開を試みた場合には、20分まで短縮することが可能でした。TKGでは、Kubernetesクラスタの構成まで自動的に行われるため、複雑な構築作業は不要となり利用開始までの負担が低減されます。同様に、バージョンの変更に必要な作業もオープンソースのKubernetesと比べ単純なものとなっています。
TKGを利用し、Kubernetesの導入や維持にかかる負荷を減らすことで、開発者はアプリケーションの開発や機能改善に注力できます。例えば、CI/CDというアプリケーションをリリースするまでのプロセスを自動化する手法を用いることで、アプリケーションサービスの市場投入や機能改善のスピード向上を行うことが可能です。

CI/CDについては以下のコラムを参照ください。
「CI/CDで始める“ニューノーマル”時代のインフラ運用」(/knowledge/column104.html

まとめ

ビジネスのスピードを上げるためには、アプリケーションの開発や維持に対するスタイルの変化が求められています。その変化に対する足がかりとなるため、コンテナとKubernetesが注目を集めていると考えます。
三井情報では2018年より、コンテナプラットフォームの提供を行っており、今回取り上げたVMware Tanzu を利用し、「VMware TKG on VxRailパッケージ」を提供しています。このパッケージでは、コンテナプラットフォームの導入から導入後のサポートを行っており、これからKubernetesを始めようとしているお客様にも適した製品となっております。ご興味を持たれた方は、ぜひお問い合わせください。

関連ページ

おすすめコラム:
CI/CDで始める“ニューノーマル”時代のインフラ運用

関連ソリューション:
VMware TKG on VxRailパッケージ

執筆者

内田 直斗
次世代基盤第二技術部 第一技術室

現在、VMwareのKubernetes製品を中心とするインフラ業務に従事。

コラム本文内に記載されている社名・商品名は、各社の商標または登録商標です。 本文および図表中では商標マークは明記していない場合があります。 当社の公式な発表・見解の発信は、当社ウェブサイト、プレスリリースなどで行っており、当社又は当社社員が本コラムで発信する情報は必ずしも当社の公式発表及び見解を表すものではありません。 また、本コラムのすべての内容は作成日時点でのものであり、予告なく変更される場合があります。

Downloads

製品・サービス / 事例等の
各種資料はこちら。

Contact

三井情報への各種お問い合わせはこちら。