Dockerが「Container as a Service」展開へ。IaaSモデルやPaaSモデルはコンテナの展開にとって適切ではないと。DockerCon Europe 2015
Docker社はスペインのバルセロナでイベント「DockerCon Europe 2015」を開催。2日目の基調講演で、同社はコンテナを用いた開発からデプロイ、運用までのアプリケーションライフサイクル全体を、クラウドとオンプレミスの両方において支援する「Container as a Service」の提供を打ち出しました。
コンテナの大規模展開にはContainer as a Serviceが適切だ
Docker CEO、Ben Golub氏。

これまで私たちは、Dockerをよりスケーラブルな環境で使おうとする場面での多くの誤りを見て、それらから学んできた。
例えば、複雑な手順をカスタムスクリプトで解決しようとしたが、ほとんどスケールしなかった。また、デベロッパーを特定の環境に固定しようとしても上手くいかず、多くの顧客が大規模なIaaSやPaaSでの取り組みに時間を費やすのも見てきたが、うまくいかないようだった。
大事なのは、開発者が多数のコンテナをサーバにデプロイするようになり、さらにそれを頻繁にアップデートするようになると、開発者は運用について気にするようになり、一方で運用者はアプリケーションがどのように開発されるのか、アプリケーションのライフサイクルを気にするようになる、ということだ。全体(エンド・ツー・エンド)の重要性が高まるのだ。

さらにコンテナの展開が進むと、コンテナ単体のポータビリティよりもオーケストレーションや運用管理やネットワーキングのポータビリティの重要性に注目するようになる。
こうして多くのお客様の話を聞いていくと、純粋なIaaSモデルやPaaSモデルよりも、われわれがCaaS(Container as a Service)と呼ぶモデルの方が、コンテナの展開にとって適切だと考えるようになった。

そしてそれぞれの機能は開発者や運用者にとってセルフサービスであるべきで、アプリケーションの稼働状況や運用管理はライフサイクルに渡ってクロスプラットフォームに対応しているべきだ。
われわれはこれを机上の空論ではなく、現実のものにしようとしている。
Dockerが買収したTutumとは何か?
Marianna Tessel氏。

ここではソリューションについて話そう。ソリューションには、クラウドで提供するものと、顧客のデータセンターで提供するものがある。
まずデスクトップPCなどでアプリケーションの一部、あるいは全部の開発を行い、それを保存し、最後には実行することになる。
開発向けの環境構築にはDocker Toolboxを提供している。

ほかのチームが開発したイメージや、既存のイメージを使うことも多いだろう。私たちのDocker Hubはクラウドサービスだ。
Docker Hubには多くのパートナーが存在し、数多くの人気のアプリケーションのオフィシャルイメージを提供している。

Dockerイメージを開発したら、Docker Hubの自動ビルドを利用するだろう。少し前に、私たちは自動ビルドを再構築し「Automated Build 2.0」とした。
実は先週、おそらくこのDockerConに備えてのことではないかと思うが、スパイクがあって24時間で3万ビルドもの処理を無事に実行できた。

次にデプロイの話に移ろう。
Dockerアプリケーションをクラウドへデプロイする最も優れた方法は、「Tutum」を使うことだ。
数週間前に、われわれはTutumの買収を発表した。Tutumは、コードをクラウドへ迅速にデプロイするクラウドサービスだ。
デモを見せよう。
まずローカル環境でDockerアプリケーションに機能を追加したら、それをDocker Hubの自動ビルドでDockerイメージにする。イメージが作られたら、Tutumが自動的にステージ環境へデプロイし、そこで動作を確認したら高可用環境へマニュアルでデプロイする、というのが今回の手順だ。
デプロイはAWSの米東リージョンと、DigitalOceanのアムステルダムリージョンの2つのクラウドプロバイダに同時に行い、高可用性を実現する。
さて、ローカルで機能追加を行い、自動ビルドでDockerイメージを作成、ステージ環境でテストしたので、デプロイの前にTutumの画面で既存のデプロイ済みのアプリケーションの画面を見てみよう。

ここで「再デプロイ」ボタンを押す。するとTutumがアプリケーションのローリングアップデートをしてくれる。
今回のアプリケーションは6つのコンテナで構成されているが、これらを1つ1つ順番にアップデートしてくれるのだ。ダウンタイムはゼロだ。
Tutumは現在ベータで、アーリーアクセスプログラムを提供中。
クラウドにおけるContainer as a Service
クラウド環境における「Container as a Service」を見てきた。デスクトップで開発し、Docker Hubへ出力(Ship)し、Tutumを用いて実行する。

多くの企業がこの環境を利用できるだろう。クラウドサービスでの提供は、インフラなどを管理する手間がなく便利だし、つねにイノベーションによる改善を得ることができる。
今後も私たちはDocker HubやTutumでのイノベーションを続けていくことを約束しよう。
しかし企業によってはクラウドではなく、ファイアウォールの内側でDockerアプリケーションの開発からデプロイまでを実現したいというニーズがある。
私たちはこうしたオンプレミスにおけるソリューションにも取り組んでいる。
オンプレミスにおけるContainer as a Service
Docker社のオンプレミスにおける「Container as a Service」では、「Ship」にはDocker Hubの代わりに「Docker Trusted Registry」が、「Run」の部分には「Docker Universal Control Plane」が当てはまります。

特に新製品として発表された「Docker Universal Control Plane」については、1つ前の記事「[速報]Docker社、「Docker Universal Control Plane」を発表。Dockerアプリを本番環境へデプロイし運用管理を行う統合ツール。DockerCon Europe 2015」で、どのようなソフトウェアかを詳しく報じているので、ご参照ください。
Docker社は今回の発表により、クラウドとオンプレミスの両方で「Container as a Service」の提供を推し進めていくことになります。

同社はこれにより、Dockerコンテナを中心としたアプリケーションのライフサイクル全体をカバーするサービスやツールを、クラウドとオンプレミスの両方で提供する、という戦略を明確に宣言し、同時にその戦略の実現に必要な要素をひとまずすべて揃えたように見えます。
同社が何を目指す会社であり、どのような分野で誰と競合するのか、はっきりしてきたのではないでしょうか。
DockerCon Europe 2015
- [速報]Docker社、「Docker Universal Control Plane」を発表。Dockerアプリを本番環境へデプロイし運用管理を行う統合ツール。DockerCon Europe 2015
- Dockerが「Container as a Service」展開へ。IaaSモデルやPaaSモデルはコンテナの展開にとって適切ではないと。DockerCon Europe 2015
- 本当に動くらしい。DockerクライアントのUIを(本物の)Minecraftにする「Dockercraft」、オープンソースでリリース。DockerCon Europe 2015
- 見えてきたDocker社の戦略は、Dockerアプリのライフサイクル管理の掌握と、クラウドプロバイダのコモディティ化か。DockerCon Europe 2015
あわせて読みたい
本当に動くらしい。DockerクライアントのUIを(本物の)Minecraftにする「Dockercraft」、オープンソースでリリース。DockerCon Europe 2015
≪前の記事
[速報]Docker社、「Docker Universal Control Plane」を発表。Dockerアプリを本番環境へデプロイし運用管理を行う統合ツール。DockerCon Europe 2015