2013年3月に登場し、あっという間に多くのシステムで採用されるようになったオープンソースのコンテナ技術「Docker」。同じように、ITシステムの在り方に大きな影響を与えた「仮想化」「クラウド」といった技術と比べ、何が違うのか。そして、どのように向き合えば、より多くのメリットを得られるのだろうか。2017年2月27日に開催された@IT主催セミナーの模様から探っていこう。
2013年3月に登場し、あっという間に多くのシステムで採用されるようになったオープンソースのコンテナ技術「Docker」。同じように、ITシステムの在り方に大きな影響を与えた「仮想化」「クラウド」といった技術と比べ、何が違うのか。そして、どのように向き合えば、より多くのメリットを得られるのだろうか。2017年2月27日、こうしたテーマを追求するセミナー「企業のためのDocker実践ガイド〜インフラ構築からサービスデプロイまでをいかに高速化するか〜」が、@IT編集部の主催で行われた。
最初に、日本ヒューレット・パッカード プリセールス統括本部 オープンソース・Linuxテクノロジーエバンジェリストで、『Docker実践ガイド』の著者でもある古賀政純氏が「DockerがもたらすIT基盤変革〜2020年を見据えた次世代IT基盤とは〜」と題し、Dockerが注目を集める理由を解説した。
基盤を「仮想化」から「コンテナを使ったマイクロサービス」へと移行し、毎週20億ものコンテナを作っては壊しているグーグルの他、ゲーム開発・利用環境でも採用が進んでいる「コンテナ技術」。中でも最も広く利用されている実装が、オープンソースの「Docker」だ。古賀氏は、個人的な用途やコミュニティーはもちろん、Netflixといった大手企業でもコンテナの採用が進み、小さなサービスを組み合わせて使う流れが広がっていることを紹介した。
ただし、「コンテナは仮想化技術の延長線上ではないことに注意する必要がある」と古賀氏は指摘。確かに、パフォーマンスのオーバーヘッドが少ないといった利点はあるが、それ以上に「開発者は、開発環境で動いているコードをどこでも動かしたいと考えている。そのためにDockerが必要とされている」点を忘れてはならないという。
古賀氏はまた、Dockerではイメージを入手するだけで、あれこれ設定情報を入力することなくデプロイが可能となるため、「手順書から自由になれる」と説明した。次世代のITシステムに求められる高速な配備に加え、コードからインフラを制御し、自動化する「Infrastructure as a Code」の実現、利用目的に応じたリソースの切り替えによるシステム全体としてのワークロード最適化、アプリケーション実行環境の可搬性向上など、さまざまなメリットがあることを説明。
「Hewlett Packard Enterprise(HPE)内でも、管理ソフトウェアの開発チームがDockerを活用している。この結果、ビルド時間は74分から34分に短縮され、ライセンス料も削減できた」と、自社での成果も紹介している。
日本ヒューレット・パッカード ソフトウェア事業統括 ITマネージメントプリセールス本部 プリセールスの佐田邦広氏は「製品紹介〜複数Dockerクラスタ対応で社内クラウド・サービスを高速自動化へ〜」と題するプレゼンテーションを行い、より技術的な観点からDockerの特徴を紹介した。
DevOpsの視点では、ビジネスのニーズに応え高速にパイプラインを回していくことが鍵になるが、「Dockerはマイクロサービスと相性が良く、1つのサービスを1つのコンテナに載せることで依存性や耐障害性の問題も解決できる」と佐田氏は述べ、JenkinsなどのCI(継続的インテグレーション)/CD(継続的デプロイ)ツールやゲートアクションを組み合わせることで、ガバナンスの効いたパイプラインを高速に回せると説明した。
企業システムの現場では、ITシステムのクラウドサービス化が広がり始めた。その観点から、ChefやAnsibleといった自動化ツールへの関心も高まっているが、「実際にはこうしたツールで自動化できる部分の前後にもいろいろな処理があり、もっと広範囲に束ねた自動化が必要になってくる」と佐田氏は述べ、Docker単体やDockerクラスタ、それを用いて実現されるPaaSなど、どの要素で何を自動化できるかをマッピングした上で、全体の調和を図ることが大切だと説明した。
最後に佐田氏は、HPEが提供する「HPE Cloud Service Automation(CSA)」や「HPE Codar」といった製品では、Dockerを活用した開発を支援し、セルフサービスポータルを用いた迅速なデプロイやDevOpsパイプライン管理を支援すると説明。さらに「デジタルエンタープライズの促進に向け、今後、HPEのソフトウェア製品はDockerイメージとしても提供していく」と語ってセッションを締めくくった。
Dockerを用いたホスティングサービス「Arukas」を提供するなど、本番環境でも積極的にDockerを活用しているさくらインターネット。特別講演では、同社 技術本部 ミドルウェアグループエンジニア/テクノロジーエバンジェリストの前佛雅人氏が「Dockerの期待と現実〜Docker都市伝説はなぜ生まれるのか〜」と題する特別講演を行い、Dockerをめぐる「誤解」「都市伝説」を解き明かした。
よくある誤解の出発点は、「Dockerやコンテナを用いれば、良い感じにサーバを統合してリソースを有効活用し、使い倒せるんじゃないか」というものだ。だが前佛氏は「コンテナとDockerはイコールではないし、『仮想化の延長にコンテナがある』と考えられがちだが、それも違う」と前置きした上で、「そもそもコンテナ技術は、アプリを早く作ってデプロイしたいが、サーバの面倒は見たくないというところから登場した」と説明し、リソース統合のための仮想化技術とはそもそも出発点が異なると述べた。
前佛氏はさまざまなシステムの運用に携わってきた経験を振り返り、「従来のシステム開発は、どうしてもサーバをはじめとする機器の調達など、コンピュータ資源ありきで考える必要があった。これに対しDockerを活用すれば、自分たちが作りたいアプリケーションから始めることができる。システム基盤を意識せず、アプリケーションを作って移動して早く動かすというシンプルなことを簡単に実現するのがDockerだ」と述べた。
逆に言うと、「仮想マシンか、それともDockerかという二者択一ではない。Dockerがあるから仮想化はいらないとか、クラウドはいらないという話ではなく、どちらがどのような特性を持っているかを理解した上で使い分けることが重要だ」(前佛氏)という。
「よく『Dockerって使える? 使えない?』と聞かれるけれど、重要なのは何を解決したいのかということ。話を聞いてみると、Dockerの使いどころを勘違いしているケースがよくある。実際には、Dockerを使うだけでハッピーになれるわけではない。また、Dockerを活用すると業務フローや作業手順が変わるし、むしろ変えないと効果は出ないことに注意が必要だ」(前佛氏)
現実の物流の世界において、物理的な「コンテナ」の登場は革新をもたらしたが、ただコンテナがごろんと転がっているだけではあまり意味はない。何らかの輸送手段と組み合わさり、どこにでも持ち運べるようになって初めて、そのメリットが生きる。ITシステムにおけるコンテナも同様だ。「Dockerはコンテナを牽引する電車のようなもの。開発したものを別の場所に移動させ、実行するためのプラットフォームであり、Linuxカーネルのさまざまな機能を活用し、シンプルなコマンドで実行できるようにした」(前佛氏)
こうした特徴から開発環境で広く利用されるに至ったDockerだが、本番環境での導入となると、まだこれから。それには、技術以外の要因があるという。「スピード感を出すためにDockerがあるのに、運用手順、業務手順がそのままでは全体のスピードはあまり速くならない」と前佛氏は指摘。何のためにDockerを導入するのか、その目的や用途を見極めることが何より大切だと呼び掛けた。
同時に、「日々Dockerを巡る状況は変わっている。ぜひ新しい情報を拾って活用してほしい」とも述べ、「前に聞いた話」に基づくのではなく、常に最新情報に当たってほしいと呼び掛けた。
最後に、講演を行った三氏がパネリストとなり、「Dockerにまつわる疑問、すべてを聞こう、答えよう」と題するパネルディスカッションが行われた。@IT編集長の内野宏信がモデレーターを務め、来場者から寄せられた質問を織り交ぜながら、Dockerのメリットとは何か、それを享受するために企業に求められる事柄は何かを掘り下げた。
まず、モデレーターからの「Dockerに対する『正しい期待』『間違った期待』とは何か」という問い掛けに対し、古賀氏は「Dockerは、企業が高速化し、次世代のITシステムを使って成長する上で切り札になる。逆に、単なる仮想化ソフトと見なすと落とし穴に陥る。単なるサーバの集約だけではなく、自動化や高速化をどう実現するかを考えておかないともったいない」と述べた。
では、Dockerうんぬんの前に、そもそも自動化とは何のために行うものだろうか。古賀氏は「目の前にある作業を楽にするだけではなく、より短い時間で新しいサービスを実現するために必要なもの。ITを使って勝ち抜くには、人間が下した意思決定の結果を迅速に配備(デプロイ)できなくてはならない」と述べた。また佐田氏は「今の時点では、現場の中の局地的な自動化にとどまっていて、ITのスピード、ひいてはビジネスのスピードを上げることにつながっていない」と指摘した。
実家が農家だという前佛氏は、機械化・自動化によって“家”単位での農作業が非常に楽になったことを紹介した上で、「2段階の自動化が考えられるだろう。今は個々の農家だけで最適化しているが、地域全体で農業用水をどう配分するかといった部分まで回っていない。個々の最適化の次には、上流から下流まで含めた地域としての最適化が必要であり、ITにも同じことがいえる」とする。これを受けてモデレーターは、「現場の効率改善にとどまらず、会社のビジネスに貢献するという視点が必要だろう」と指摘した。
システム構築の速さは、ビジネスを加速させる。「仮想化はコスト削減の手段だが、Dockerは正反対で、ビジネスを差別化するための技術だろう。ではそもそもITがビジネスに果たせる役割は何なのだろうか」というモデレーターの問い掛けに対し、古賀氏は「ITはビジネスを成長させるためのツール。米国の企業は、いかに世界で打ち勝つかを考え、ITを使って成長している。『新しい技術を入れてコストを削減しました』というだけでは、やられるだけだ。IT部門には、自分たちが世界で打ち勝つために『どのテクノロジが利用できるか、どうハマるか』を見逃さない目が必要になる。企業が成長するために何をするかを考え、経営に食い込み、説得しなければならない」と力説した。
佐田氏も、ビッグデータや人工知能といったさまざまなトレンドを踏まえつつ、「デジタルエンタープライズの時代においては、ITが中心になってビジネスを動かしていく。その意味でIT部門はもっと攻めなければならない」と述べた。
来場者からは「Dockerが日本で流行らないのは、なぜでしょうか」という直球の質問もあった。前佛氏の講演でも触れたことだが、日本企業のシステム運用の現場では、Dockerの本番環境への導入に対する“ためらい”が、まだ存在する。これはいったい、なぜなのだろうか。
古賀氏は「10年前、仮想化技術が登場した当時は、そんなものが仕事で使えるのかと多くの批判があったが、今や仮想化技術を使っていない企業はいない」とコメント。一方で「コンテナは仮想化の延長線上にあるものではない」と重ねて注意を促した。その上で、「そのように誤解しているのは、エンジニアだけではなく、日本のユーザー企業にも多い。そのため、理解が進んでくると『あれ、思っていたものと、ちょっと違うぞ』となってしまう。そもそも本番環境、つまりビジネスの現場はお客さまによって異なるものだ。『何の目的で、どう使うか』を、人に教えてもらうのではなく自分で突き詰めて考えなければいけない。それが、ユーザー企業ふくめ日本全体で『流行らない』と思われる要因の1つかもしれない」(古賀氏)とした。
さらに古賀氏は「その結果、必要だと思うところがあれば、多少リスクをとってもやるべき。要は、覚悟ができるかどうかに尽きるだろう。覚悟がなければ成長できない」と述べる。
これに前佛氏も同調し、「日本では、幾つか先行事例が登場したのを横目で見てからようやく導入する企業も多いが、「他社で事例になったら、その時点で負けている。『自分たちが事例になる』という思いで、本番環境で採用するリスクを取らなければ勝ち抜けない」とした。
では、本番環境でDockerを採用するとしたら、そのメリットは何だろうか。「Dockerは一瞬でスケールアウトできる。本当に速い」(佐田氏)、「簡単にスケールしたり、廃棄したりでき、トラフィックの波に柔軟に対応できるのは非常に大きい」(古賀氏)と口をそろえる。
前佛氏も同意した上で、「この速さは触ってみなければ分からないかもしれない。ぜひ使ってみてほしい。メリットは現場によって異なるが、自分の場合は『障害切り分けがすぐにできる』こともうれしい点だ」とコメントした。また、オープンソースソフトウェアでありながら、Docker社がスポンサーとして支援していることも安心材料の1つになるという。
こうした議論を踏まえ、最後にモデレーターからDockerを有効に活用できる「攻めのIT」を実現するためのアドバイスを求められた三氏は、「私が会社をひっぱっていくという気持ちで、覚悟を持ってほしい」(古賀氏)、「日本の労働生産性向上にはDockerが必要だ」(佐田氏)、「チームや部署が違うと敵のようになってしまうが、それではもったいない。皆がもっと仲良くして情報を出していきましょう」(前佛氏)と述べ、パネルディスカッションを締めくくった。
現在、システム導入に関するアンケートを実施しております。ご回答いただくともれなく記事で紹介しているDockerセミナーの資料をダウンロードしていただけます。ぜひアンケートにご協力ください。
【ダウンロード資料】
・製品紹介〜複数Dockerクラスタ対応で社内クラウド・サービスを高速自動化へ〜
・企業のためのDocker実践ガイドセミナー
DockerがもたらすIT基盤変革〜2020年を見据えた次世代IT基盤とは〜
Copyright © ITmedia, Inc. All Rights Reserved.
提供:日本ヒューレット・パッカード株式会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2017年4月20日
現在、システム導入に関するアンケートを実施しております。ご回答いただくともれなく記事で紹介しているセミナーの資料をダウンロードしていただけます。ぜひアンケートにご協力ください。