DockerとCoreOSの「コンテナ戦争」が終了、勝者はだれなのか:Open Container Projectが発足
米Dockerは2015年6月22日、コンテナイメージ形式およびランタイムの標準化のための新たな中立的プロジェクト、「Open Container Project」を、多数の有力ITベンダーとともに発足すると発表した。事実上の標準になったDockerと、標準化を訴えてきたCoreOSの、どちらが勝ったのか。
米Dockerは2015年6月22日、同社のイベント「DockerCon 2015」で、コンテナイメージ形式およびランタイムの標準化に向け、コンテナに関わる多数の主要ベンダーとともに、新プロジェクト「Open Container Project(OCP)」の発足を発表した。
OCPでは、特定のクライアントスタックやオーケストレーション手法と融合せず、特定のベンダーやプロジェクトと密接に結び付くことを避け、幅広いOS、ハードウエア、CPUアーキテクチャ、パブリッククラウドにまたがるポータビリティを確保することを目指すとしている。
ニュースリリースでは、設立当初より参加する企業・組織として、Amazon Web Services、Apcera、シスコ、CoreOS、Docker、EMC、富士通、グーグル、HP、Huawei、IBM、インテル、Joyent、Linux Foundation、Mesosphere、マイクロソフト、Pivotal、Rancher Labs、レッドハット、ヴイエムウェアを挙げている。
プロジェクトはLinux Foundationによるガバナンス下に置かれる。Dockerは同社のコンテナイメージ形式およびランタイムのコードをOCPに寄贈。これまでの同社のlibcontainerプロジェクトは終息する。OCPではCoreOSが提唱してきたコンテナの標準仕様App Container(appc)を取り入れるとし、CoreOSのappcメンテナー2人は、OCPのメンテナーとして参加する。OCPでは、rktの互換性を確保するとともに、他のコンテナ関連プロジェクトとも互換性向上も図っていくという。
CoreOSは同社のブログポストで、次のように述べている。
「App Containerの多くは、既存のDockerのエコシステムとの互換性を高めるための改変を加えたうえで、OCPの仕様に直接取り込まれると考えている。最終的な目標は、標準的なコンテナ形式のための、単一の、統一仕様に収束させることだ。OCPの成功は、App Containerの主要な目的が達成されることを意味する」
一方で、CoreOSがappcとともに、この仕様に基づくコンテナランライムとして発表したrktの開発は、今後も続けるという。「オープンな標準は、その仕様に複数の実装が存在してこそ機能する。当社はrktを、新たな共通のコンテナ形式に基づく主導的なコンテナランタイムとして進化させていく。rktにおける非常に要求レベルの高い実運用環境に向けたセキュリティとコンポーザビリティへの取り組みは、今後も変わることはない」
では、「コンテナ戦争」に勝ったのは誰か。libcontainerが、Dockerのコントロールを離れて中立的な組織の管理下に移行し、appc仕様の多くを取り入れるのであれば、appcによる標準化を提唱してきたCoreOSの勝利であるかのような印象も受ける。
だが、ある米国の業界関係者は、「これでCoreOSの立場が難しくなった」と話す。結局のところ、OCPによる標準化のベースとなるのはDockerの開発してきたコンテナランタイムであり、すでにコンテナにおける事実上の標準ではあるものの、さらにOCPの設立によって多数の有力なITベンダーのコミットメントを獲得したことになるからだ。
この関係者は、「企業としてのDockerにとって、libcontainer自体が収益源となるわけではない。同社はその周辺で、サポートやDocker Hub、関連ツールなどを通じてビジネスを構築しようとしている、今回の動きで『Docker』というブランドがさらに強固なものになり、同社はビジネスがやりやすくなる」と指摘している。
では、上記の関連ツールについてはどうなのか。CoreOSがrktを発表したときに批判していたことの一つは、DockerがCompose、Swarm、Machineなどのツールを発表し、「プラットフォーム化」に乗り出したことにある。だが、これについては標準化によって、コンテナイメージ形式/ランタイムと周辺ツールが分離されることになり、その意味ではDockerの他に対する優位性はなくなる。
関連ツールについて、Dockerコミュニティにおける2番目のコントリビュータだという米レッドハットは、どう考えているのか。同社は「Red Hat Enterprise Linux」でDockerをサポートしてきたが、PaaS基盤であるOpenShiftの最新バージョンでも、DockerとKubernetesを全面的に採用し、6月24日(米国時間)にそのエンタープライズ版「OpenShift Enterprise 3」を発表している。
OpenShift担当バイスプレジデント兼ゼネラルマネージャーのアシェシュ・バダーニ(Ashesh Badani)氏は、Dockerをコンテナイメージ形式/ランタイムとして使っているだけだと説明する。
「(OpenShiftは)Linuxに例えられる。Linuxでは何千ものアップストリームプロジェクトがあり、この中から取捨選択してディストリビューションがつくられ、これを元に商用版が生まれる。OpenShiftでも、多くのプロジェクトの中から取捨選択をして、OpenShift Originというディストリビューションをつくり、これに基づく商用版としてOpenShift OnlineとOpenShift Enterpriseを提供する」
Dockerが関連ツールをいくら出したとしても、それは「Dockerのやること」だとしている。
Copyright © ITmedia, Inc. All Rights Reserved.