レポート

Docker vs. CoreOS コンテナ戦争とは何だったのか? ―Linux Foundationが「Open Source Forum 2016」でOSSプロジェクト最新状況を紹介

この記事を読むのに必要な時間:およそ 4 分

Linux Foundationは11月15日,日本におけるオープンソース活用を推進する活動の一環として「Open Source Forum 2016」を横浜にて開催しました。

Linuxの普及をサポートするNPOであるLinux Foundationは,これまで毎秋に国内外のユーザ企業向け技術カンファレンスとして「Enterprise User's Meeting」を開催してきました。Linux Foundation 日本担当VPの福安 徳晃氏は,毎年改善を繰り返してきた「Enterprise User's Meeting」を今年から「Open Source Forum」として始動することになったといいます。

第1回目となる今年は,現在最も注目されているテクノロジー分野であるコンテナ,ブロックチェーン,セキュリティに関するオープンソースプロジェクトに注目し,Linux Foundationの協業プロジェクトであるCloud Native Computing Foundation(CNCF),Open Container Initiative(OCI),Hyperledger ProjectおよびCore Infrastructure Initiative(CII)のプロジェクトリーダーが来日し,それぞれのプロジェクトの現状や今後について紹介しました。本稿では,この中でもコンテナ分野にフォーカスして当日のイベントを紹介したいと思います。

最初に登壇したLinux FoundationのExecutive Director Jim Zemlin氏は,オープンソースプロジェクトに必要なのは「持続可能なエコシステム」であり,豊かな開発コミュニティがビジネスに利益を与えるコマーシャルプロダクトを製品化できるコードを生み出し,再びそのプロジェクトに投資することであるいいます。

Jim Zemlin氏

Jim Zemlin氏

Zemlin氏は,エコシステムには,ガバナンスモデルやメンバーシップの決定と推進,リリースプロセスなどの開発プロセス,セキュリティおよび信頼性を担保するインフラストラクチュア,イベントやトレーニングなどのエコシステム開発,トレードマークなどの知的財産管理などの実務的な業務が必要だとします。Linux Foundationでは,このような考えに立ち,上述のプロジェクトを含めて近年多くの協業プロジェクトと呼ぶオープンソースプロジェクトを支援しているそうです。

特に近年急激な増加を示している協業プロジェクトについて,私は「どのような基準で協業プロジェクトを選んでいるのか?」という質問しました。

Zemlin氏は,3つの視点で選定しているといいます。1つは問題を解決できるコードであること。たとえば,ブロックチェーンに対するHyperledger Projectです。2つめは,問題を解決するために複数の組織が関係するため,中立/相互的な場所が必要になるときです。たとえば,1つの企業で解決できる場合はそのような問題がないので,協業プロジェクトの候補にはならないそうです。3つめは,開発するためのリソースをずっと得ることができるかということです。

CNCFとOCI,そしてクラウドネイティブアプリケーションとは?

このような背景のもと,Linux Foundationで推進されているコンテナ関係の協業プロジェクトにCloud Native Computing Foundation(CNCF)とOpen Container Initiative(OCI)があります。コンテナ関係のセッションで最初に登壇したChris Aniszczyk氏(CNCF COO 兼 OCI GM)は,「クラウド・ネイティブとオープン・コンテナ技術の状況」と題して講演を行いました。

Chris Aniszczyk氏

Chris Aniszczyk氏

Aniszczyk氏は,コンテナテクノロジーの採用は引き続き拡大しているが,一方で「分断されている」という課題を指摘するところからスタートしました。分断化された例として,Docker,rkt,Kurma,LXC/LXD,Hyperd,OpenVZといった複数のコンテナテクノロジーが存在しているといいます。

もう1つの問題提起として,Googleのようなインターネットスケールの企業から学んだことを紹介しました。次のようなことです。

伝統的なシステム管理者は,問題が発生してからマニュアルで課題に取り組み,サービスが大きくなるにつれチームを大きくし,開発チームとは関係が良くありません。一方,昨今話題のSRE(Site Reliability Engineers)では,こうしたやり方とは違うアプローチ(クラウドネイティブアプローチ)を取ります。SREは運用の自動化を行い,マニュアルでの作業を避け,blameless postmortem(個人批判をしない,建設的な障害の振り返りミーティング)のカルチャーを持つといいます。

この2点の問題提起をふまえて,彼はサーバ(Sun),仮想化(VMware),IaaS(Amazon Web Services),PaaS(Heroku),Open Source IaaS(OpenStack),Open Source PaaS(Cloud Foundry),コンテナ(Docker)といった2000年以降の代表的な企業/組織とテクノロジーの変化を紹介し,OCIとCNCFもこの流れの中にあると位置づけました。

これらの流れが示すのは,コアのビルディングブロックが,[サーバー][仮想マシン][ビルドパック][コンテナ]に変化したことに加え,「クローズドソースで1社だけのテクノロジー」から「オープンソースでベンダをまたがったテクノロジー」となったことだといいます。そして,この流れから発足したのがOCIとCNCFであるとします。

OCIは,2015年6月にAmazon Web Services,CoreOS,Docker,Mesosphere,Microsoft,Red Hat, VMwareなどが参加して「Open Container Project(OCP)」として設立されました。Facebookが中心となり推進しているOpen Compute Project(OCP)と略称が一緒ということもあり,設立後すぐに現在の名称に変わっています。OCIでは,コンテナフォーマットとランタイムに関する共通仕様を定義することを目指しています(なお,OCIは俗に「コンテナ戦争を終結させた」プロジェクトといわれています。実際にどのような流れであったかは後述)。

Docker, CoreOSのrkt,Apache Mesos,CNCFのKubernetes,Cloud Foundryなどが現在OCIによる標準をサポートしています。コントリビュータとしてはRed Hat,Docker, CoreOSだけでなく,HUAWEIの貢献が大きいことも注目点でしょう。

続いて紹介されたのがAniszczyk氏がCOOを勤めるCNCFです。2015年7月にDocker,CoreOS,Red Hat,Google,IBM,Mesosphere,Cisco,Intelなどが参加して発足した団体です。マイクロサービス指向のアプリケーションやサービスによるクラウドネイティブなアプリケーションの推進を目的とした団体です。

CNCFが最初の開発プロジェクトとして進めたのが,Googleから寄贈されたコンテナ管理システムKubernetesとSoundCloud社が始めた監視ソフトウェアPrometheusです。CNCF発足後1年以上が経過した現在,これらのソフトウェア以外にもさまざまなプロジェクトが承認あるいは提案されています。たとえば,Treasure Dataの共同創業者である古橋貞之氏が2011年に開発を始めたOSSログ収集ソフトウェアであるFluentdはCNCFの管理するプロジェクトになっています。

ところで,組織の名称にあるクラウドネイティブといってもピンとこない人もいると思います。

Aniszczyk氏は,CNCFで定義しているCloud Native Reference Architectureを紹介しました。Cloud Native Reference Architectureでは,アプリケーションの定義や開発,オーケストレーションと管理,ランタイム環境,プロビジョニングおよびインフラストラクチャーの層に分けて,代表的なソフトウェアや環境をマッピングしています。どのようなソフトウェアがクラウドネイティブであるかを知るには,以下のマップを見るのが一番簡単でしょう。

Cloud Native Landscape Project

Cloud Native Landscape Project

https://github.com/cncf/landscapeより)

彼はクラウドネイティブであることの価値として次の点を挙げます。

  • コードやコンポーネントの再利用や運用のシンプル化などアイソレーションできること
  • OSSスタックをパブリッククラウド,プライベートクラウドあるいはその組み合わせたクラウド環境にデプロイできるためロックインがないこと
  • モダンな分散環境に最適化されていてスケーラビリティに制限がないこと
  • マイクロサービスを動的に管理,スケジュールするオーケストレーションプロセスが可能で,効率的に運用管理,リソースの最適化が可能であること

Aniszczyk氏は,CNCFのゴールとしてこれらのクラウドネイティブソフトウェアプロジェクトをホストするベストな場所になりたいとのことでした。

著者プロフィール

赤井誠(あかいまこと)

日本ヒューレット・パッカード株式会社(日本HP)に入社後,ソフトウェアR&D,事業企画,マーケティング部門を歴任。2003年からLinuxビジネス立ち上げのリーダーとなり,日本HPをLinux No.1ベンダーに導く。また,x86サーバーを活用したハイパフォーマンス・コンピューティング(HPC)を立ち上げ,HPC No.1ベンダーに導く。2011年4月 MKTインターナショナル株式会社を起業し,現職。
キャリアデベロップメントカウンセラー

著作・翻訳:
『マックで飛び込むインターネット』(翔泳社) の執筆以降,ライター活動も実施中。『リーダーにカリスマ性はいらない』,『MySQLクックブック』『JBoss (開発者ノートシリーズ) 』(オライリー・ジャパン)など多数。

コメント

コメントの記入