Shoeisha Technology Media

EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

企業はコンテナを真剣に検討すべき時がきている

2018/12/21 06:00

 今年のIT業界のキーワードと言えば「AI」「機械学習」「ディープラーニング」だろう。他には「働き方改革」や「RPA」も盛んに使われた。そしてもう1つ、かなりの頻度で目にしたのが「Kubernetes」だ。IBMがRed Hatを買収したのも、「Red Hat OpenShift」で提供されるKubernetesのサポート部分を手に入れたかったからだとも言われている。

コンテナは仮想マシンを置き換えるものではない

ガートナージャパン リサーチ&アドバイザリ部門 テクノロジ&サービス・プロバイダー インフラストラクチャ ソフトウェア担当のシニア ディレクターでアナリストの桂島 航氏
ガートナージャパン リサーチ&アドバイザリ部門 テクノロジ&サービス・プロバイダー
インフラストラクチャ ソフトウェア担当 シニア ディレクター
アナリスト 桂島 航氏

 Kubernetesは、Linuxコンテナの操作を自動化するためのオープンソース・ソフトウェアであり、コンテナ化したアプリケーションのデプロイ、スケーリング、管理が行えるコンテナオーケストレーションのシステムだ。コンテナオーケストレーションの仕組みとしては、実質的な業界標準のソフトウェアとなっている。

 アプリケーションの開発、実行のためのプラットフォームとして、Dockerなどのコンテナが盛んに使われるようになった。背景には、企業が自社データセンターの利用を減らし、外部のクラウドサービスなどを利用するようになったことがある。さらにクラウドの利点を最大限に活かすクラウドネイティブなアプリケーションの開発、運用では、インフラも新しいものに変わらざるを得ず、そこでコンテナが選択肢になっているのだ。

 これまでのアプリケーションのプラットフォームとしては、ハードウェアの上で直接OSを動かすものから、VMwareなどの仮想化サーバーを利用する仮想マシン環境に主力が変わっていた。これで、従来よりITシステム開発の迅速性は増した。とはいえ、仮想マシンを利用できるようにするには、数分から場合によっては数日かかることもある。一方、これがコンテナになると、ミリ秒から秒単位の時間で、環境をデプロイできる。さらに仮想マシンは基本的に立ち上げたまま利用するが、コンテナの場合は必要に応じ起動と停止を行い稼働を最適化しやすい特長もある。

 このような違いから「仮想マシンとコンテナでは、ユーザーが異なると考えられています」と語るのは、ガートナージャパン リサーチ&アドバイザリ部門 テクノロジ&サービス・プロバイダー インフラストラクチャ ソフトウェア担当のシニア ディレクターでアナリストの桂島 航氏だ。ガートナーでは、仮想マシンをWave1の仮想技術とし、コンテナをWave2と位置づけている。Wave1では、IT部門の視点でインフラの信頼性や効率性を向上させるために仮想化技術を利用した。一方Wave2のコンテナは、開発のしやすさ、アジャイル開発のやりやすさなど、開発者に恩恵を与えるものだ。開発スピードを速め、そこからコストの最適化も行いやすい。

 仮想マシンはIT部門がリードして導入されてきたが、コンテナの導入は開発者などからIT部門に依頼が来て動き出すことが多い。それを行ううちに、インフラを担当するIT部門においてもコンテナが軽くすぐに立ち上がり集約性も仮想マシンより高いことが理解され、さらに可搬性が高いこともメリットだと分かってくる。開発者にとってはコンテナであれば開発がやりやすく、ソフトウェアの開発サイクルをどんどん回せるようになる。これらから、コンテナ、そしてそれを効率的に管理するKubernetesに注目が集まっているわけだ。

 コンテナに関してガートナーがクライアントなどから良く受ける質問としては、「コンテナは、エンタープライズ企業のメインストリームではまだ使われてないのでは」「コンテナは本番系に合わないのでは」「コンテナはマイクロサービスのための仮想化技術ですよね」「コンテナは仮想マシンを置き換えるものですか」などがある。

 これらの質問に対する答えとしては、コンテナはグローバルで見れば既に本番系の運用環境でも利用され始めている。状態を保持しなければならないステートフルなアプリケーションの運用は難しい面もあるが、ステートレスのアプリケーションではコンテナが利用される。そしてマイクロサービスのためだけでなく、既に幅広いユースケースも出ている。さらにほとんどのコンテナが、仮想マシンの上で動いている現実もある。一方で、オンプレミスからクラウドへのシステムのリフトでは、コンテナより仮想マシンのほうが楽に移行できる場合も多いのだ。

 コンテナを本番系で使っているかどうかに関する、ガートナーの2017年6月のグローバル調査の結果を見ると、2016年までに実装しているところが既に40%ほどある。「規模は小さくても、グローバルでは企業がコンテナを使い始めています。2017年中に使うと答えている企業も20%あり、日本もこの動きに追随して欲しいです」と桂島氏は言う。コンテナの実際の用途としては、新しいアプリケーションの開発の際に、マイクロサービスのためのプラットフォームとして利用される。これがコンテナではメインの使い方であり、クラウドネイティブな開発を行いたければ、PaaSよりもコンテナのほうがツールの選択肢が増え柔軟性も高くなる。

 一方でDevOpsのためのプラットフォームとしては、グローバルで40%がコンテナを採用している。これら結果からは、コンテナやマイクロサービス利用の土壌が、グローバルでは整いつつあることが覗える。

 「CI/CD(継続的インティグレーション/継続的デリバリー)が、コンテナ使う大きな動機になっています。クラウドへのリフト&シフトと同様で、まずはコンテナにとりあえず載せるだけといった使い方もあります。その上でリファクタリング (refactoring) し、アプリケーションをクラウドネイティブに作り替えるのです」(桂島氏)

 アプリケーションをコンテナ化する際には、セキュリティとガバナンスの確保が1つのチャレンジとなる。仮想マシンでコンテナが立ち上がると、その上でどのようなアプリケーションが動くかまでは詳細に分からない。コンテナのイメージの中に脆弱性が含まれている可能性もある。そのため、アプリケーションの動きのモニタリング、ログをどう取得するか、問題が発生した際のトラブルシューティングなども十分に考えておく必要がある。コンテナを利用する際のデータ永続性の課題は、ベンダーでも良く話題にする。しかしながら実際に永続性が問題となるような使い方をしていないためか、現状では顧客の課題にはなっていないようだとも桂島氏は指摘する。

※この続きは、会員の方のみお読みいただけます(登録無料)。


※この続きは、会員の方のみお読みいただけます(登録無料)。


著者プロフィール

  • 谷川 耕一(タニカワ コウイチ)

    EnterpriseZine/DB Online チーフキュレーター ブレインハーツ取締役。AI、エキスパートシステムが流行っていたころに開発エンジニアに、その後雑誌の編集者を経て、外資系ソフトウェアベンダの製品マーケティング、広告、広報などを経験。現在は、オープンシステム開発を主なターゲットにし...

  • DB Online編集部(ディービーオンライン ヘンシュウブ)

    DB Online編集部 翔泳社 EnterpriseZine(EZ)が提供するデータベース/データテクノロジー専門メディア「DB Online」編集部です。皆様からの情報お待ちしています。 Twitter : https://twitter.com/db_online Fac...

バックナンバー

連載:DB Press

もっと読む

All contents copyright © 2007-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5