Dockerを取り巻く各社の状況を見る

2015年2月2日(月)
佐藤 司森元 敏雄

はじめに

最近注目を集め、利用者も急増しているDockerだが、ベンダー各社からも注目されており、自社サービスへの取り込みや、製品への組み込みなどのリリースが盛んに行われている。2014年10月にはMicrosoftが、これまで非対応であったWindows Server上でのWindowsのDockerコンテナ稼働を実現することを公表した。これ以外にも多数公表されている情報から、ベンダー各社の動向を知ることにより、Dockerはこの先どのような使われ方をされるのか、どのように進化するのかを理解し、今後どのような発展を遂げるのかを見出だしていきたい。

Googleの動向

Googleは、2014年5月に行われたGlueconにて、同社はDockerが注目される以前よりコンテナ技術を利用していたことを発表している。またGoogleでは1週間に約20億個のコンテナが作成されており、全てのサービスがコンテナで実行されていることも発表された。

GCP ja nightでは、Googleがただひとつのリポジトリを持ち、そのリポジトリに全てのコンテナ情報やソースを所持していることが発表された。Googleの社員は、リポジトリからコンテナを再現したり新しいコンテナとして環境ごと保存したりしているのである。これはDockerで言うところのDocker Hubに相当するのだろう。

2014年11月に行われた「Google Cloud Platform Live」では、Dockerコンテナで提供されているGoogle Compute Engine(以下、GCE)をKubernetesで管理するサービスである「Google Container Engine(以下、GKE)」が発表されている。GKEはKubernetesで管理するコンテナ群(1マスタ、Nノード)を一括して作成するものである。実際のDockerコンテナは、GCE上に作成される。Kubernetes操作は、従来同様CLIで行う必要があるようだ。

こうした活動から、Googleはコンテナ技術を扱うDockerを非常に好意的にとらえていると考えられる。コンテナ技術の先行したノウハウを持ったGoogleが、Dockerに対して自社サービスとの調和と技術提供に力を入れている。現在GCE/GAE(Google App Engine)上でDockerが利用出来て、サポートもされており、そして技術提供の成果としてDockerコンテナオーケストレーションツール「Kubernetes」がある。詳細は前回の記事を参照していただきたいが、Kubernetesの開発には様々な企業が参加しており、さらなる成長が期待できる。

Microsoftの動向

Microsoftも、Google同様Dockerには好意的な印象を寄せており、Googleが主導する「Kubernetes」開発プロジェクトにも参加している。

これまでMicrosoftは、Microsoft Azureで提供しているLinuxでのDockerサポートとDockerHubサポートのみに絞っていた。それは、DockerがLinuxのための技術(LXC)という前提があったからだ。しかし2014年10月に、Microsoft Azureブログで次期Windows Server上でDockerが利用可能になると発表された。

コンテナ上で.NETアプリケーションやNode.js、C++などのアプリケーションがサポートされるだけではなく、LinuxイメージのコンテナとWindowsイメージのコンテナを用いた分散アプリケーションなども実装できる。

Windows Server上でDockerがサポートされ、WindowsとLinuxのコンテナを用いた分散アプリケーションも実現する

図1:Windows Server上でDockerがサポートされ、WindowsとLinuxのコンテナを用いた分散アプリケーションも実現する(クリックで拡大)

【画像引用元】New Windows Server containers and Azure support for Docker

さすがにWindows on Linuxは出来ないようだが、「DockerとはLinuxのもの」という常識を壊したインパクトは大きいだろう。Windows on Windowsの環境がDockerによって実現されるとして、ライセンス料やどのような技術を用いて実現するかは発表されていない。現在の技術を用いて同一ホスト上で複数のWindowsを立ち上げるには、マシンパワーも必要である。これらの問題をどのように解決していくのか、今後ともMicrosoftの動向に注目していきたい。

Red Hatの動向

Red HatもDockerには好意的な印象を寄せており、Googleの主導する「Kubernetes」開発プロジェクトにも意欲的に参加している。

Red Hatが提供するエンタープライズ向けLinuxであるRHEL7では、標準リポジトリにDockerが含まれ、正式にサポートされている。またRed Hatが提供しているPaaSサービスの「Openshift」では、以前から「Gear」という名称でコンテナ技術が提供されている。今後Dockerの普及に伴い、Gear部分をDockerへ置き換えることにより、携帯性の向上と独自技術の手放しを視野に入れて動いている。

【参考】OpenShift v3 Platform Combines Docker

さらにはProject Atomicの一部として「GearD」というCUIでのDockerコンテナ管理ツールを開発しており、エンタープライズとOSS界隈両面からのDockerへのアプローチを行っている状況だ。

VMwareの動向

VMwareは、他社よりも強くエンタープライズを意識して、Dockerとの融和を考えているように感じられる。VMWorld 2014では、継続的インフラストラクチャを提供するための新サービスである「VMware vRealize Code Stream」を発表している。これは開発者が必要とする環境を継続的に提供するサービスで、その環境としてDockerが選択出来るようになるというものだ。従来VMで実行されていた領域にDockerコンテナを配置し、ネットワークやリソース割り当て等のDocker単体では制御しにくい部分をVMware側で管理することになるのではと推測している。まだ詳細な発表はないが、VMwareの提唱するSoftware-Defined Data Center(SDDC)とPivotal、そしてDockerの関係性は今や切っても切れないものとなりつつある。そしてそのどれもが、競合することなく融和していくとも発表があった。

その他にもVMwareは、Googleの「Kubernetes」開発プロジェクトへの参加や、Dockerが開発しているlibswarm、libcontainer、libchanへの開発参加も表明している。

Docker社の動向

最後に、Dockerを開発しているDocker Inc.についても触れておこう。現在Docker Inc.ではdotCloudをcloudControlへ売却し、Docker一本に的を絞って開発を進めている。Dockerの今後については、dockercon2014でロードマップが発表された。発表資料によると、これまでにDockerはSandboxであるlibcontainer、Networkingであるlibchan、Orchestrationであるlibswarmを提供してきたとある。そして同資料の中で、今後はidentityとauthorizationをなんらかの形で提供することを発表している。また2014年7月には、マルチコンテナを管理するツールであるOrchardのFigを買収することを発表した。マルチコンテナを管理という見方をすると、Figにはlibswarmと共通する部分があるが、今後どのように使い分けをされるかは明らかになっていない。

同じく2014年7月には、GoogleがDockerの総合ツールであるKubernetesを発表している。Docker Inc.もKubernetesプロジェクトに参加しているが、あくまで外部ツールとしての位置づけにするのか、それとも一部機能をDocker自体に取り込むのか住み分けが重要になるだろう。

投資家も注目するDocker

Dockerは技術者やIT企業だけでなく、投資家からも注目を集めている。シリーズBでは1500万ドルの投資を受けたのに続き、シリーズCでは4000万ドルもの投資を受けている。この資金が実際に使われるのは、2015年から2016年と言われている。資金に余裕があるということは、Docker Inc.が一つの団体として存続できることを示している。すなわちどこかのベンダーに買収され、Dockerコンテナの技術自体が特定ベンダーにロックインされてしまう事態を防いでくれる。利用者の我々からすれば、買収されていつベンダーロックインされるか分からないOSSを利用するのは不安を伴うため、Docker Inc.に潤沢な資金があることは望ましい状態である。

なぜDockerは、投資家からも注目されているのだろうか? 筆者は、Dockerのコンテナ技術が他の技術と競合しないからだと推察している。当初、競合になり得ると予想されていた既存のVM製品も、Dockerを自社製品に取り込んで発展させる方向に向かっている。競合がなく親和性が高いため、周辺技術と組み合わせて一緒に成長出来る技術であることから、投資家達も投資を惜しまないのではないだろうか。

各社の動向を踏まえて

各社ともDockerの優位点であるリソース使用量の小ささやコンテナの作成スピード、ポータビリティの高さを享受し、それと自社製品を組み合わせることでさらに価値を生み出そうとしている。

ハイパーバイザベンダ各社から見れば、従来よりも少ないリソースで高速に動作するコンテナを作成出来て、ハイパーバイザとコンテナ間のオーバーヘッドも小さくなることによりパフォーマンスも向上するDockerは有用だろう。そこに既存のハイパーバイザ管理機能で利便性と安定性を付加した製品を生み出すことによって、Dockerコンテナと自社製品両方のメリットを持った技術が生まれてくることだろう。

クラウド事業者からの立場からすると、Dockerの軽量なコンテナはリソース占有量が少ないため、より安価にVM(コンテナ)を提供出来るようになるのではないだろうか。さらにオーバーヘッドが小さくなることによって、パフォーマンスも向上する、そこに従来のクラウドサービス管理を組み込めば、事業者と利用者双方のメリットとなる。

Dockerの懸念点としては、まずライセンス料が挙げられる。コンテナ内にライセンスが必要なアプリケーションを導入した場合、どういう扱いになるのかは各社とも対応が遅れているように見える、コンテナ内のアプリケーションから見れば、コンテナはVMに見えるが、ホストOSから見ればコンテナはただのプロセスだ、このズレを今後どういう扱いにするか、引き続き注目していきたい。

もう一つの懸念は、各社の開発している技術が多すぎるという点である、近年、技術をオープンにする傾向が強くなっていくが、Dockerの周辺技術が増えすぎると技術者としては、楽しみな反面追いかけるのが大変にもなる。

次からの連載ではDockerにより深く切り込み、既存仮想化技術との機能比較や性能比較、開発現場で使うためのカスタマイズ方法等を紹介する予定だ。

株式会社アーベルソフト

インフラ基盤の設計・構築・運用までの全ての工程を担当。最近は、OSS製品を活用したインフラ基盤の提供を行っている。利用するOSS製品の調査・研究も行っており、現在は、DockerとTerraformに注目している。
>株式会社アーベルソフト

TIS株式会社

R&D部門である戦略技術センター所属。
金融系の大規模システム開発やプライベートクラウド開発環境の構築・運用の経験を生かし、OSS製品を中心としたの技術調査・検証を担当。
> TIS株式会社

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています