[CIOのための技術講座]

ITインフラのトランスフォーメーションを急げ─改めて「コンテナ」の特徴と価値を理解する

CIOのためのコンテナ技術講座

2022年10月27日(木)渡辺 隆(ヴイエムウェア マーケティング本部 チーフストラテジスト)

クライアント/サーバー、Webアプリケーション、そしてクラウド──アプリケーションを稼働する基盤(ITインフラ)の変遷は、アプリケーションの開発と運用のあるべき姿を目指して時代ごとのトレンドやニーズを反映した進化の形でもあります。今、その進化の先端エリアにあるのが「コンテナ」や「Kubernetes」です。早期に導入した企業の成果を見るに、これらへの取り組みは、技術者のみならず、CIOやマネジメント層にとってもきわめて重要です。本稿では、「CIOのためのコンテナ技術講座」と題して、改めて、コンテナやKubernetesの基本・特徴、導入で得られるメリットなどをわかりやすく解説していきます。

アジリティ獲得のために必要なもの

 デジタルトランスフォーメーション(DX)の機運の中で、企業システムに求められる要件が大きく変わりつつあります。従前の業務を効率化/自動化するためのシステム(SoR:Systems of Record)に加えて、顧客接点を強化してビジネスの競争力を向上させるためのシステム(SoE:Systems of Engagement) の重要性が高まっています。すなわち、「業務効率化のためのアプリケーション」から、「競争力強化のためのアプリケーション」へのシフトと捉えられます。

 このシフトでカギを握るのが「アジリティ(Agility)=俊敏性」です。今日のITシステムは安定・確実に稼働するだけではもはや不十分で、顧客のニーズや環境の変化に即応できることが必須で求められています。事実、GAFAのような巨大IT企業だけでなく、日本も含めた世界中のIT企業、ひいては金融、サービス業をはじめとした非IT企業が、1日に何度もITシステムやサービスを改善・改良しています。

 そんなアジリティを備えたシステムやサービスを実現するために、何が必要になるでしょうか。大きく2つあります。

 1つは、アジャイルなソフトウェア開発手法です。近年、国内でも、エクストリームプログラミング(Extreme Programming:XP)やスクラム(Scrum)といった手法を取り入れる企業が増えています。

 もう1つが本稿で焦点を当てる、「コンテナ」と、それを実装・運用するための「Kubernetes(クーバネティス)」という2つの技術です。特にIT企業の間ではメインストリームの座を確立しつつあり、一般企業でも、アジリティの高いアプリケーションの開発・運用に欠かせないアプローチになりつつあります。

 では、アプリケーションの開発・運用の俊敏性を確保するのに、コンテナ技術はどう機能するのでしょうか。あるいは、Kubernetesがアプリケーション基盤としてデファクトスタンダードになりつつある理由は何なのでしょうか。

 本稿に、「ITインフラのトランスフォーメーションを急げ」というタイトルを付けました。CIOや情報システム責任者、マネジメント層の方々がコンテナやKubernetesを正しく理解・把握することは、これからの企業経営や事業の発展において決定的に重要だと断言します。これらの利用には、人的/金銭的な面で一定の投資が必要になることに加え、ITインフラやシステムのDXと呼んで差し支えないほどの大きな変革だからです。

 見方を変えると、コンテナやKubernetesはITエンジニアやIT部門マターというより、マネジメント層マターなのです。とはいえ、これらの技術は先端的で新しい要素が多く、マネジメント層の多くの方々にとって理解しにくいものでもあります。そこで本稿では、CIOやIT部門長、マネジメント層の方々に向けて、極力わかりやすく、コンテナやKubernetesの基本やメリット、価値について説明していきます。

コンテナ/Kubernetesの普及状況

 最初に、コンテナやKubernetesがどれくらい普及しているのかを見てみましょう。筆者が所属するヴイエムウェア(VMware)では、Kubernetesの利用状況や課題について毎年グローバル調査を行っています。2021年は、従業員1000人以上の企業に属する357名に対して調査を行い、その結果、Kubernetesを本番環境で利用している企業は実に3分の2、65%に上りました(図1)。

図1:Kubernetesの本番環境での使用状況(出典:ヴイエムウェア「2021年 Kubernetes の現状」)

 日本での状況はどうかというと、IDC Japanが2021年4月に国内コンテナ/Kubernetesの導入に関するユーザー調査結果を発表しています。同調査によれば、本番環境で使用している企業は16.9%でした(図2)。海外とはかなりの開きがありますが、導入率は年々上昇しています。今後、国内でもコンテナ/Kubernetesに着手し活用する企業がさらに増えていくでしょう。

図2:コンテナの導入状況に関するユーザー調査結果(調査年別)(出典:IDC Japan「2021年 国内コンテナ/Kubernetesに関するユーザー導入調査結果を発表」)
拡大画像表示

コンテナの採用状況

 上記のユーザー調査結果に対して、読者の皆さんは実際どのように思われたでしょうか? 筆者はお客様との対話を通じて、コンテナ/Kubernetesの採用に関しては、次のような二極化が起こっているという感覚を持っています。

●オンプレミス環境で基幹系システム(SoR) を開発・運用しているユーザーは、コンテナへの関心はそれほど高くない

●クラウド環境でデジタルサービス(SoE)を開発・運用しているユーザーは、コンテナへの関心が高い

 この違いはどこから生じるのでしょうか。それは、開発・運用しているアプリケーションのライフサイクルに求められるスピードや俊敏性の違いから生じていると考えます。以下は、コンテナ/Kubernetesの採用の動機に関して、Webで検索してみた結果の一部です。例えばこんなコメントを拾うことができました。

「アプリケーションの開発スピードの向上と将来の人手不足への対応として、コンテナ基盤を取り入れようと考えた」
「開発効率の向上と運用負荷の低減」
「コンテナ化することによってセルフサービス化できれば、運用チームの負荷を下げることができる」
「追加改修に柔軟に対応できる」
「効率的かつ効果的な新しいサービスへの対応柔軟性」
「コンテナを導入する前は1つのサーバー上で多くのソフトウェアを動かしておりセキュリティが脆弱になるリスクがあったが、コンテナを使ってシンプルな環境を構築することでそれを防げるようになった」
「機能の開発段階において、ローカルで動かす環境と開発環境が大きく異なると不具合につながりやすかったが、コンテナを使うことで両者に違いがあっても問題が起きなくなった。本番環境にデプロイする場合も同様である」

 これらのコメントを整理してみると、コンテナを採用した企業は大きく、次の2つのメリットを享受するために採用に動いたと考えられます。

 ●アプリケーション開発効率の向上
 ●運用効率の向上

 本稿では、この2つのメリットについてそれぞれ掘り下げます。その前に、次章では、「そもそも、コンテナとは何か?」という基本から解説していきます。

コンテナとは何か、まずは基本を理解する

 コンテナ(Container)という言葉は「容器」を意味します。コンテナと聞いて多くの方が思い浮かべるのは、きっと物流用のコンテナでしょう。貨物をコンテナに積むようになって、輸送スピードが向上するとともに輸送コストも削減されました。コンテナは物流に変革をもたらしたのです(写真1)。

写真1:フィジカルなコンテナは物流業界に変革をもたらした(写真提供:Getty Images)

 本稿で取り上げる、ソフトウェアのコンテナもやはり「容器」です。アプリケーションとミドルウェア(Webサーバーのような、アプリケーションを実行するためのソフトウェア)、OSの一部(ライブラリやファイルシステム)を積むことができます。

 アプリケーションやその動作に必要なソフトウェアをコンテナという容器に格納することでOSから分離し、これによってデプロイのスピードが向上するようになりました。デプロイ(Deploy)とは、本番環境へのアプリケーションのインストールや各種設定などを行うことです。ソフトウェアのコンテナは、アプリケーションのデプロイに変革をもたらしたのです(画面1)。

画面1:ソフトウェアのコンテナは、アプリケーションのデプロイに変革をもたらした。コンテナ黎明期にあたる2014年当時のDockerのWebサイトから
拡大画像表示

●Next:コンテナは何でできていて、どんな仕組みで動くのか

この記事の続きをお読みいただくには、
会員登録(無料)が必要です
  • 1
  • 2
  • 3
  • 4
バックナンバー
CIOのための技術講座一覧へ
関連キーワード

コンテナ / マイクロサービス / PaaS / VMware / Docker / DevOps / アジャイル / スクラム / Linux / Kubernetes

関連記事

トピックス

[Sponsored]

ITインフラのトランスフォーメーションを急げ─改めて「コンテナ」の特徴と価値を理解するクライアント/サーバー、Webアプリケーション、そしてクラウド──アプリケーションを稼働する基盤(ITインフラ)の変遷は、アプリケーションの開発と運用のあるべき姿を目指して時代ごとのトレンドやニーズを反映した進化の形でもあります。今、その進化の先端エリアにあるのが「コンテナ」や「Kubernetes」です。早期に導入した企業の成果を見るに、これらへの取り組みは、技術者のみならず、CIOやマネジメント層にとってもきわめて重要です。本稿では、「CIOのためのコンテナ技術講座」と題して、改めて、コンテナやKubernetesの基本・特徴、導入で得られるメリットなどをわかりやすく解説していきます。

PAGE TOP