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

はじめに
最近注目を集め、利用者も急増している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イメージのコンテナを用いた分散アプリケーションなども実装できる。
【画像引用元】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へのアプローチを行っている状況だ。