Dockerが「Container as a Service」展開へ。IaaSモデルやPaaSモデルはコンテナの展開にとって適切ではないと。DockerCon Europe 2015

2015年11月18日

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

コンテナの大規模展開にはContainer as a Serviceが適切だ

Docker CEO、Ben Golub氏。

fig

これまで私たちは、Dockerをよりスケーラブルな環境で使おうとする場面での多くの誤りを見て、それらから学んできた。

例えば、複雑な手順をカスタムスクリプトで解決しようとしたが、ほとんどスケールしなかった。また、デベロッパーを特定の環境に固定しようとしても上手くいかず、多くの顧客が大規模なIaaSやPaaSでの取り組みに時間を費やすのも見てきたが、うまくいかないようだった。

大事なのは、開発者が多数のコンテナをサーバにデプロイするようになり、さらにそれを頻繁にアップデートするようになると、開発者は運用について気にするようになり、一方で運用者はアプリケーションがどのように開発されるのか、アプリケーションのライフサイクルを気にするようになる、ということだ。全体(エンド・ツー・エンド)の重要性が高まるのだ。

fig

さらにコンテナの展開が進むと、コンテナ単体のポータビリティよりもオーケストレーションや運用管理やネットワーキングのポータビリティの重要性に注目するようになる。

こうして多くのお客様の話を聞いていくと、純粋なIaaSモデルやPaaSモデルよりも、われわれがCaaS(Container as a Service)と呼ぶモデルの方が、コンテナの展開にとって適切だと考えるようになった。

fig

そしてそれぞれの機能は開発者や運用者にとってセルフサービスであるべきで、アプリケーションの稼働状況や運用管理はライフサイクルに渡ってクロスプラットフォームに対応しているべきだ。

われわれはこれを机上の空論ではなく、現実のものにしようとしている。

Dockerが買収したTutumとは何か?

Marianna Tessel氏。

fig

ここではソリューションについて話そう。ソリューションには、クラウドで提供するものと、顧客のデータセンターで提供するものがある。

まずデスクトップPCなどでアプリケーションの一部、あるいは全部の開発を行い、それを保存し、最後には実行することになる。

開発向けの環境構築にはDocker Toolboxを提供している。

fig

ほかのチームが開発したイメージや、既存のイメージを使うことも多いだろう。私たちのDocker Hubはクラウドサービスだ。

Docker Hubには多くのパートナーが存在し、数多くの人気のアプリケーションのオフィシャルイメージを提供している。

fig

Dockerイメージを開発したら、Docker Hubの自動ビルドを利用するだろう。少し前に、私たちは自動ビルドを再構築し「Automated Build 2.0」とした。

実は先週、おそらくこのDockerConに備えてのことではないかと思うが、スパイクがあって24時間で3万ビルドもの処理を無事に実行できた。

fig

次にデプロイの話に移ろう。

Dockerアプリケーションをクラウドへデプロイする最も優れた方法は、「Tutum」を使うことだ。

数週間前に、われわれはTutumの買収を発表した。Tutumは、コードをクラウドへ迅速にデプロイするクラウドサービスだ。

デモを見せよう。

まずローカル環境でDockerアプリケーションに機能を追加したら、それをDocker Hubの自動ビルドでDockerイメージにする。イメージが作られたら、Tutumが自動的にステージ環境へデプロイし、そこで動作を確認したら高可用環境へマニュアルでデプロイする、というのが今回の手順だ。

デプロイはAWSの米東リージョンと、DigitalOceanのアムステルダムリージョンの2つのクラウドプロバイダに同時に行い、高可用性を実現する。

さて、ローカルで機能追加を行い、自動ビルドでDockerイメージを作成、ステージ環境でテストしたので、デプロイの前にTutumの画面で既存のデプロイ済みのアプリケーションの画面を見てみよう。

fig

ここで「再デプロイ」ボタンを押す。するとTutumがアプリケーションのローリングアップデートをしてくれる。

今回のアプリケーションは6つのコンテナで構成されているが、これらを1つ1つ順番にアップデートしてくれるのだ。ダウンタイムはゼロだ。

Tutumは現在ベータで、アーリーアクセスプログラムを提供中。

クラウドにおけるContainer as a Service

クラウド環境における「Container as a Service」を見てきた。デスクトップで開発し、Docker Hubへ出力(Ship)し、Tutumを用いて実行する。

fig

多くの企業がこの環境を利用できるだろう。クラウドサービスでの提供は、インフラなどを管理する手間がなく便利だし、つねにイノベーションによる改善を得ることができる。

今後も私たちはDocker HubやTutumでのイノベーションを続けていくことを約束しよう。

しかし企業によってはクラウドではなく、ファイアウォールの内側でDockerアプリケーションの開発からデプロイまでを実現したいというニーズがある。

私たちはこうしたオンプレミスにおけるソリューションにも取り組んでいる。

オンプレミスにおけるContainer as a Service

Docker社のオンプレミスにおける「Container as a Service」では、「Ship」にはDocker Hubの代わりに「Docker Trusted Registry」が、「Run」の部分には「Docker Universal Control Plane」が当てはまります。

fig

特に新製品として発表された「Docker Universal Control Plane」については、1つ前の記事「[速報]Docker社、「Docker Universal Control Plane」を発表。Dockerアプリを本番環境へデプロイし運用管理を行う統合ツール。DockerCon Europe 2015」で、どのようなソフトウェアかを詳しく報じているので、ご参照ください。

Docker社は今回の発表により、クラウドとオンプレミスの両方で「Container as a Service」の提供を推し進めていくことになります。

fig

同社はこれにより、Dockerコンテナを中心としたアプリケーションのライフサイクル全体をカバーするサービスやツールを、クラウドとオンプレミスの両方で提供する、という戦略を明確に宣言し、同時にその戦略の実現に必要な要素をひとまずすべて揃えたように見えます。

同社が何を目指す会社であり、どのような分野で誰と競合するのか、はっきりしてきたのではないでしょうか。

DockerCon Europe 2015

あわせて読みたい

CI/CD Docker コンテナ型仮想化




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本