Skip to main content
A U TO M AT I O N M Y T H
2015年7月26日 @zembutsu
July Tech Festa 2015
HashiCorpとAtlasの
インフラ管理
クリエーションライン株式会社
前佛雅人
アジェンダ
 1. HashiCorpとは?
 HashiCorpの歴史
 The Tao of HashiCorp – HashiCorp 道
 2. HashiCorpの提供するツール群
 Vagrant … 開発環境自動構築
 Packer … マシンイメージ自動作成
 Terraform … インフラ環境の自動構築
 Serf … オーケストレーション
 Consul … サービス検出と運用自動化
 Atlas … DevOps プラットフォーム
 Vault … シークレット管理
 3. まとめ・質疑応答
開発と運用が一枚岩となって戦うDevOps
スタイルが広まりつつある昨今。これは開
発者視点だけではありません。運用として
も、避けて通れない課題。それを解決する
ためにDevOpsツール群の使用と、自動化
が必要とされています。
しかし、「運用の自動化」も本当に必要な
のでしょうか?
なぜ、必要なのでしょうか?
この答えの一つが、HashiCorpの考え方や、
ツール・サービスかもしれません。運用だ
からこそ、今、知っておきたい考え方や
ツールが、ここにあります。
本講は、運用担当者視点で、HashiCorpの
Vagrant、Packer、Terraform、Serf、Consul
の各ツールの考え方や使い方を通して、
自動化のありかたについて、皆さんと考え
る場にしたいと考えます。
自己紹介
 前佛雅人
 Technology Evangelist
 クリエーションライン株式会社
 主な経歴
 ホスティング・サービスの運用エンジニア
 自動化・省力化に取り組む
 監視ツール Zabbix・Munin 等の運用・検証
 特定業種向けMSPサービス
 趣味
 3DS:ファイアーエムブレムif
 プレゼン研究
おや…スライドの様子が…
俺のスライドが
こんなに堅いはずがない。
普通のプレゼンだと思った?
残念、俺だよ!
【運命の分岐点】 進む道を選んでください。
運用に自動化を求めるのは間違っているだろうか
俺のコンテナがこんなに軽いわけがない。
ラブライブ!に学ぶ運用組織論
一応、選択肢を用意しました
今回のスライドで伝えたい事
扱う範囲は…次のスライドで
“私の最強デッキ戦略”とは
A U T O M A T I O N M Y T H
我々は何処から来たのか、何者なのか、
何処へ行くのか?
1■□□□ Where Do We Come From/ What Are We? Where Are We Going?
13
自己紹介
‣ @zembutsu a.k.a. 前佛雅人
- Technology Evangelist; Creationline, Inc. – 1.5 yrs
- Data Center Operations Engineer – 15+ yrs
興味関心:運用監視自動化、趣味でOSSやクラウド系の検証・情報発信
- SlideShare http://slideshare.net/zembutsu
- Blog http://pocketstudio.jp/log3
書籍・記事
- Serf/Consulで管理を自動化! (Gihyo.jp)
http://gihyo.jp/admin/feature/01/serf-consul
- HashiCorpのツール群からみる
インフラ構築運用の未来 (Think IT)
http://thinkit.co.jp/book/2015/03/05/5700
Why am I here?
+MasahitoZembutsu
ISBN-10: 4774174416 ISBN-10: 4844338145 ISBN-10: 4798139785
一応改めて自己紹介です。
会社的にこういう立場ですが
無理にHashiCorp導入しても…
無理にDockerを入れても…
そして時間があれば農業の事
16Personalities
http://www.16personalities.com/ja
性格タイプ:仲介者 INFP型
• 理想主義者
• 人生の意味を求める者
• 今の自分のことは分かっているが、
今後どうなるかは分からない
ちなみに、こんな性格です。
Technology Evangelist
こんな肩書きなので、どんな
仕事されてるんですかとよく
聞かれます。
Technology Evangelist
私がずっと紹介しているのは
仕事とか関係無く、良い物を
皆で共有したいという立場!
みなさん、仕事は楽しいですか
ところで…
「楽」の漢字の語源は、木の
棒に糸を貼ったもの。
楽しい 楽
Fun Easy
≒
現状では「楽しい」と「楽」
意味あいがちょっと違います
楽しい 楽
Easy
≠
Fun
むしろ仕事では一致しません
たとえば…
DANDELION ATTACK
さ し み た ん ぽ ぽ し ゅ う ら い
出典:タンポポとは (タンポポとは) [単語記事] - ニコニコ大百科
“ 近年インターネット上で、「誰にでもできる簡単な仕事」かつ「やりがいのない単調な仕事」を
表現する時に、もしくは「非常に過酷な仕事」を表現するネタとして、刺身の上にタンポポを
乗せる」という仕事がしばしば引き合いに出される。本当にそのような、タンポポを乗せる「だけ」
の仕事があり、その上きちんと給料が出るのかは不明。”
http://en.wikipedia.org/wiki/Taraxacum#/media/File:T_japonicum04.jpg
Creative Commons License
BY-SA 3.0
26
‣ 苦痛
painful
‣ 時間を消費する
time-consuming
‣ 退屈でつまらない
tedious process
刺身タンポポ的な手作業
What is the “Sashimi-Tanpopo”’s working?
WEAVING SUTRA
し ゃ き ょ う ぶ ん か
29
‣ 動的に変化するシステム基盤が当たり前
自動化や省力化を推進する、クラウド・コンピューティングの価値。もう普通に使える技術。
‣ 変化に応じて設定ファイルの書き換えが発生
例:監視設定ファイル、リバース・プロキシ設定、サーバ情報一覧の追加・削除が都度発生
‣ 変化に対応できないと、この先生きのこれないかも
例:銀行の窓口対応よりも、24時間稼働するATMを使うほうが正確で速く便利。
「刺身タンポポ」「写経文化」の現在…
??「駆逐してやる!!」
刺身タンポポ・写経対抗
もしかして:自動化
あの日セットアップしたサーバの名前を僕達はまだ知らない
あの日セットアップしたサーバの名前を僕達はまだ知らない
シ ス テ ム
33 / 130
稼働率 =
MTBF
MTBF+MTTR
平均故障間隔
Meam Time Between Failures
平均修理時間
Meam Time to Repair
Availability
平均故障間隔
Meam Time Between Failures
http://www.flickr.com/photos/ewan_the_moomintroll/4127615397/ by Ewan Bellamy
前職はデータセンタでずっと
運用保守に携わってきました
運用
監視
Operation
Monitoring
―Don't forget. always, somewhere,
someone is fighting for you.
―As long as you remember her.
you are not alone.
忘れないで、いつもどこかで誰かがあなたの為に戦っている。
彼女を覚えている限り、あなたは一人じゃない。
(出典:魔法少女まどかマギカ最終話「わたしの、最高の友達」)
DECISIVE BATTLE
A HUMAN WORK
You can advance.
This Photo is under creative commons license by torkildr
http://www.flickr.com/photos/torkildr/3462606643/sizes/l/in/photostream/
INFRASTRUCTURE ENGINEER
SERVER OPERATION
DATACENTER
http://www.flickr.com/photos/torkildr/3462606643/ by torkildr http://www.flickr.com/photos/toyohara/395472864/ by toyohara
Before After軽く環境の変遷を見てみます
監視第1世代・物理 (~2000年)=死活監視
First Generation Monitoring System, Dead or Alive とりあえずNagios+MRTG的な。
ピークが読めた時代です。
(出典)総務省「平成23年通信利用動向調査」
http://www.soumu.go.jp/johotsusintokei/statistics/statistics05.html
5,593
6,942
7,730
7,948
8,529
8,754 8,811
9,091
9,408 9,462 9,610
46.3
57.8
64.3 66.0
70.8 72.6 73.0
75.3
78.0 78.2 79.1
0
10
20
30
40
50
60
70
80
90
100
0
1,000
2,000
3,000
4,000
5,000
6,000
7,000
8,000
9,000
10,000
2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011
普
及
率
(
%
)
利
用
者
数
(
万
人
)
利用者数 人口普及率
ですが利用者数が増えると、
環境が変わります。
監視第2世代・仮想化 (~2009年)=時系列リソース
Second Generation Monitoring System, Time Series and Resource Monitoring
携帯電話とSNSの普及が拍車
スキルも交換が必要でした
CLOUDCOMPUTING!!
そこにうまくハマったのが
クラウド技術の登場です。
これはクラウド違いです…
The NIST Definition of Cloud Computing (NIST Special Publication 800-145)
http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf
NISTによるクラウドコンピューティングの定義 米国国立標準技術研究所による推奨(IPA翻訳版)
https://www.ipa.go.jp/files/000025366.pdf
基本的な特長:
• オンデマンド・セルフサービス
• 幅広いネットワークアクセス
• リソースの共用
• スピーディーな拡張性
• サービスが計測可能であること
サービスモデル:
• SaaS ( Software as a Service )
• PaaS ( Platform as a Service )
• IaaS ( Infrastructure as a Service )
実装モデル:
• Private Cloud
• Community Cloud
• Public Cloud
• Hybrid Cloud
監視第3世代・クラウド対応 (~現在)=時系列サービス
Third Generation Monitoring System, Time Series Service Level
今はこんな感じで凌ぎますが
?M2M ; Machine to Machine
この先どうなるんだろうと。
今の運用や監視はあくまでも
「人」が対応する組織設計
しかしコンテナが、
コンテナが来たら…
ニンゲンヤメマスカ?
Do you resign as human being?
It is necessary to answer the following questions to start OPERATION.
YES はい
はい YES
運用を続けるためには、イカの質問に答える必要があります。
正直、キツそうです。
今の手法では、正直このまま
この先生きのこる自信がない
じゃ、どうするの?
まったく、Dockerは最高だぜ
手作業が許されるのは小学生
まったく、Dockerは最高だぜ
手作業が許されるのは小学生
という話にはなりません。
TMTOWTDI
There’s More Than One Way To Do It
これはPerlのスローガン。
答えは1つではなく、色々な
やりかたがあってもいい。
そして、ピンと来ました。
これだ!
脱・刺身タンポポ
脱・写経
その為の自動化スキルセット
┌──────────────────────┐
│ドッカースウォームが あらわれた! │
│ドッカーコンポーズが あらわれた! │
│コマンド? │
│ ∨ │
└━━━━━━━━━━━━━━━━━━━━━━┘
┌────┐
│ていじで │
│かえろう │
└━━━━┘
┌──────コマンド─────┐
│ たたかう じゅもん │
│ にげる げんじつとうひ │
└━━━━━━━━━━━━━━━┘
>
新しいツールだ!敵だ!と
構えるのではなく、
自分の手札にしませんか?
自由に使えるカードが沢山!
自分だけの最強デッキを作ろう
もちろん敢えて刺身タンポポ
写経文化を受け入れるのなら
止めませんが、それは
A Certain Information Management
あと、使わないのと知らない
には、天地の差があります。
ATOKの [TAB] 補完で日本語変換速度向上TAB
シェルのように使える機能、
ご存知でしたか? 分野は
違いますが、これも効率化に
A U T O M A T I O N M Y T H
ご注文はコンテナですか?
2■■□□ Is the Order a Container?
ご注文はコンテナですか?
Is the order a container?
ご注文はコンテナですか?
Is the order a container?
物理時代
仮想化・クラウド時代
コンテナ時代
機
材
発
注
機
材
納
品
設
置
機
器
設
定
事
前
設
計
ク
リ
ッ
ク
見
積
も
り
O
S
設
定
環
境
構
築
試
験
利
用
開
始
試
験
開
発
試
験
運
用
利
用
開
始
…
…
事
前
設
計
ク
リ
ッ
ク
試
験
利
用
開
始
…
事
前
設
計
ク
リ
ッ
ク
試
験
利
用
開
始
…
開 発 段 階 検 証 段 階 本 番 段 階
すべてを迅速に、一貫した環境で行いやすい← New
こういった時代変遷があり…
社外開発環境 本番環境ステージング環境
社内共有開発環境
個人開発環境
社内テスト環境
社外開発環境 本番環境ステージング環境
CI/CD Docker レジストリ
Docker動作環境(docker machine)
別々の環境で、動く・動かないを
吸収するプラットフォームの役割
OpenStack
CloudStack
Mackerel
Amazon Web Services
Google Cloud Platform
Windows Azure
SoftLayer
Niftyクラウド
さくらのクラウド
Salesforce
Heroku
DigitalOcean
LinodeさくらのVPS
VMware
Circle CI
Jenkins
GitHub
Slack
NewRelic
Datadog
IaaS
パブリック・クラウド
日本国内
パブリック
クラウド
VPS
Monitoring
PagerDuty
Operations
CI
PaaS
Atlas
プライベート
クラウド
開発環境 SaaS
Cloud n
Docker
( Linux Containers)
クラウドを取り巻く業界俯瞰図
2年前に登場したDockerは
OpenStack
CloudStack
Mackerel
Amazon Web Services
Google Cloud Platform
Windows Azure
SoftLayer
Niftyクラウド
さくらのクラウド
Salesforce
Heroku
DigitalOcean
LinodeさくらのVPS
VMware
Circle CI
Jenkins
GitHub
Slack
NewRelic
Datadog
IaaS
パブリック・クラウド
日本国内
パブリック
クラウド
VPS
Monitoring
PagerDuty
Operations
CI
PaaS
Atlas
プライベート
クラウド
開発環境 SaaS
Cloud n
Docker
( Linux Containers)
クラウドを取り巻く業界俯瞰図
あっと言う間に巻き込みます
なぜ?
【速さ】という価値
■ore no container ga konnnani karui wake ga nai
docker run
docker pull
docker …
docker hub
( public
repository)
•
Docker
• コンテナにはアプリケーションに
依存するバイナリとライブラリのみ
• 数百MB程度~のコンテナ
• 他のコンテナ間で kernel を共有
81
Dockerと基本コマンド
docker run
コンテナ実行
docker stop
コンテナ停止
docker commit
コンテナイメージ化
docker pull
イメージの取得
docker build
イメージの自動構築
docker attach
コンテナにアタッチ
docker logs
標準出力の表示
docker inspect
詳細情報の表示
docker rm
イメージ削除
docker images
イメージ一覧表示
diff | history
差分・履歴表示
背景画像CREDIT:スフィア / PIXTA(ピクスタ)
82Introduction to Docker Basic Course
‣ コンテナ化とは、ホストOS上のKernel機能を使い
複数の root ファイルシステムを実行できる。
各々の root ファイルシステムの事を「コンテナ」( container ) と呼称する。
これ何て chroot?と言われる所以。
‣ 各々のコンテナは各々のリソースを持つ
プロセス(計算資源)
メモリ
デバイス
ネットワーク
コンテナ?
[zem@artemis ~]$ docker run Ubuntu echo “Hey World”
Hey World
[zem@artemis ~]$ docker run centos cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)
[zem@artemis ~]$ docker run centos:6 cat /etc/redhat-release
CentOS release 6.6 (Final)
[zem@artemis ~]$ docker run ubuntu cat /etc/issue
Ubuntu 14.04.2 LTS ¥n ¥l
プロセスとして手軽に実行を
することができます。
[zem@artemis ~]$ docker run –t -i --name=madoka ubuntu bash
Unable to find image 'ubuntu:latest' locally
latest: Pulling from ubuntu
83e4dde6b9cf: Extracting 65.79 MB/65.79 MB
b670fb0c7ecd: Download complete
29460ac93442: Download complete
d2a0ecffe6fa: Download complete
ubuntu:latest: The image you are pulling has been verified. Important: image
verification is a tech preview feature and should not be relied on to provide
security.
Digest:
sha256:cb90b1a107073ab3e17271e45a6177b23f548b44157d88d955b7e8bcdbcfd14a
Status: Downloaded newer image for ubuntu:latest
446712c7188861edb406fc85e3c50ecb2efab329d2cb8c5511a4e323358c75ea
root@e1096840bb9e:/#
これは、典型的な起動例。
bashを実行するコンテナを
起動しているものです。
# ps ax
PID TTY STAT TIME COMMAND
1 ? Ss 0:00 bash
16 ? R+ 0:00 ps ax
----
root 933 0.0 0.1 66216 1176 ? Ss Jul17 0:34 /usr/sbin/sshd
root 32109 0.0 0.3 99964 4032 ? Ss 19:54 0:00 ¥_ sshd: root@pts/0
root 32111 0.0 0.1 108304 1892 pts/0 Ss 19:54 0:00 | ¥_ -bash
root 878 0.0 0.7 153372 7436 pts/0 Sl+ 20:03 0:00 | ¥_ docker run -t -i --name=madoka ubuntu bash
コンテナのなかではPID「1」
でも、ホスト側からは別の
PIDを持っています。
root@e1096840bb9e:/# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/docker-252:1-263708-e1096840bb9e4d4a671b913affc7f0d28d0824941d877e8738d6f5cc98a45bbe 10190136 236132 9429716 3% /
tmpfs 510172 0 510172 0% /dev
shm 65536 0 65536 0% /dev/shm
/dev/vda1 30830588 2177572 27080256 8% /etc/hosts
tmpfs 510172 0 510172 0% /proc/kcore
tmpfs 510172 0 510172 0% /proc/timer_stats
root@e1096840bb9e:/# /sbin/ifconfig
eth0 Link encap:Ethernet HWaddr 02:42:ac:11:00:02
inet addr:172.17.0.2 Bcast:0.0.0.0 Mask:255.255.0.0
inet6 addr: fe80::42:acff:fe11:2/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:468 (468.0 B) TX bytes:558 (558.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
ディスク領域・ネットワーク
それぞれ分離されています。
Docker Engine
kernel
コンテナA
PID 1
コンテナB
PID 1
コンテナC
PID 1
コンテナN
PID 1
…
こんなイメージで並んでます
88Introduction to Docker Basic Course
‣ 利点
開発者にとっての効率の良さ
すぐに利用できる点と、バージョン・コントロール、CI/CDの自動化。
アプリケーションのポータビリティ
開発をはじめ、テストやリリースに至るまで、コンテナを通して一環したインフラ環境を利用できる。
‣ ポイント
Dockerそのものが何かするのではない(仮想化・クラウドと同じ)
– Dockerは、あくまでも、利用者の利便性を向上する道具
(プラットフォームの役割)
Dockerはインフラを抽象化--developer’s efficiency and application portability
ベース・イメージ
(CentOS)
ベース・イメージ
(Ubuntu)
変更内容 A
変更内容 B
変更内容 C
書き込み可能領域
書き込み可能領域
kernel
あとは独特なのが、イメージ
管理という仕組みです。
[zem@artemis ~]$ docker images
REPOSITORY TAG IMAGE ID CREATED
VIRTUAL SIZE
magical_girl latest 755948a5430e 6 seconds ago
188.3 MB
# docker run -ti magical_girl bash
root@d4a7018a4949:/# echo "madoka" > /who.txt
root@d4a7018a4949:/# exit
exit
[zem@artemis ~]$ docker ps -l
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES
d4a7018a4949 magical_girl "bash" 34 seconds ago
Exited (0) 19 seconds ago trusting_goldstine
イメージはスナップショット
のようなもの。
[zem@artemis ~]$ docker ps -l
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES
d4a7018a4949 magical_girl "bash" 34 seconds ago
Exited (0) 19 seconds ago trusting_goldstine
[zem@artemis ~]$ docker diff d4
C /root
C /root/.bash_history
A /who.txt
[zem@artemis ~]$ docker commit d4 magical_girl:madoka
76111a745047008b7a383ae91af27c5a543da273bea94e9590c7062fbef457cd
[zem@artemis ~]$ docker images
REPOSITORY TAG IMAGE ID CREATED
VIRTUAL SIZE
magical_girl madoka 76111a745047 6 seconds ago
188.3 MB
magical_girl latest 755948a5430e About a minute
ago 188.3 MB
差分を確認したり、イメージ
コミットして保存もできます
[zem@artemis ~]$ docker images
REPOSITORY TAG IMAGE ID CREATED
VIRTUAL SIZE
magical_girl mami a1504bae269e 3 seconds ago
188.3 MB
magical_girl madoka 76111a745047 3 minutes ago
188.3 MB
magical_girl latest 755948a5430e 5 minutes ago
188.3 MB
[zem@artemis ~]# docker run magical_girl:madoka cat /who.txt
madoka
[zem@artemis ~]# docker run magical_girl:mami cat /who.txt
mami
同じイメージのレポジトリで
違うタグを持つイメージ群
[zem@artemis ~]$ docker run -ti magical_girl:mami bash
root@add71b4968ba:/# rm -rf --no-preserve-root /
(snip)
rm: cannot remove '/sys/block/dm-1': Read-only file system
rm: cannot remove '/sys/block/dm-2': Read-only file system
root@add71b4968ba:/# ps
bash: ps: command not found
root@add71b4968ba:/# ls
bash: ls: command not found
root@add71b4968ba:/# exit
exit
[zem@artemis ~]$ docker run -ti magical_girl:mami bash
root@cdd86dbb4b50:/# cat /who.txt
mami
コミットさえしなければ、
消えたとしても・・・
ほら、大丈夫。
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS
PORTS NAMES
cdd86dbb4b50 magical_girl:mami "bash" About a minute ago Exited (0) 6 seconds ago
insane_blackwell
add71b4968ba magical_girl:mami "bash" 2 minutes ago Exited (127) About a minute ago
mad_yalow
04bb8e9143b5 magical_girl:mami "bash" 2 minutes ago Exited (0) 2 minutes ago
cranky_ritchie
3fbf384fce5b magical_girl:mami "cat /who.txt" 12 minutes ago Exited (0) 12 minutes ago
high_perlman
75ed3382443c magical_girl:madoka "cat /who.txt" 12 minutes ago Exited (0) 12 minutes ago
elated_goldstine
47f99d7f78a7 magical_girl "bash" 14 minutes ago Exited (0) 14 minutes ago
jovial_pasteur
d4a7018a4949 magical_girl "bash" 18 minutes ago Exited (0) 18 minutes ago
trusting_goldstine
e1096840bb9e ubuntu "bash" 37 minutes ago Exited (0) 19 minutes ago
madoka
$ docker rm $(docker ps -aq --filter='status=exited')
でも、別々のコンテナIDが作
られるので、因果が…
容量を圧迫するので、たまに
綺麗に片付けましょう。
95Introduction to Docker Basic Course
‣ https://hub.docker.com/
Docker Hub
# docker search wordpress
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
wordpress The WordPress rich content management syst... 358 [OK]
tutum/wordpress Wordpress Docker image - listens in port 8... 44 [OK]
tutum/wordpress-stackable Wordpress Docker image - listens in port 8... 23 [OK]
centurylink/wordpress Wordpress image with MySQL removed. 7
.
.
.
ブラウザ上で公式イメージを
含む様々な検索が可能です。
物理マシン 物理マシン 物理マシン
OS OS OS
HyperVisor HyperVisor HyperVisor
VM VM VM VM VM VM
Guest
OS
Guest
OS
Guest
OS
Guest
OS
Guest
OS
Guest
OS
物理マシン 仮想マシン クラウド
OS OS OS
Docker
Engine
Docker
Engine
Docker
Engine
App App App App App App
App App App App
仮想化・クラウド Dockerのコンテナ管理
でも、Docker Engineだけでは
足りない所があります。
物理マシン 物理マシン 物理マシン
OS OS OS
HyperVisor HyperVisor HyperVisor
VM VM VM VM VM VM
Guest
OS
Guest
OS
Guest
OS
Guest
OS
Guest
OS
Guest
OS
物理マシン 仮想マシン クラウド
OS OS OS
Docker
Engine
Docker
Engine
Docker
Engine
GUI
CLI
API
Docker Cluster 管理レイヤ
( ECS, Docker Swarm, rkt, Rancher …etc )
App App App App App App App App App App
仮想化・クラウド Dockerのコンテナ管理
クラスタ管理部分が今は弱い
物理マシン 物理マシン 物理マシン
OS OS OS
HyperVisor HyperVisor HyperVisor
VM VM VM VM VM VM
Guest
OS
Guest
OS
Guest
OS
Guest
OS
Guest
OS
Guest
OS
App App App App
物理マシン 仮想マシン クラウド
OS OS OS
Docker
Engine
Docker
Engine
Docker
Engine
App App App App App App
GUI
CLI
API
Docker Cluster 管理レイヤ
( ECS, Docker Swarm, rkt, Rancher …etc )
オーケストレーション
サービス検出・クラスタ管理
仮想化・クラウド Dockerのコンテナ管理
色々な動きが進みそうです。
APCERA
Cloud Foundry
shippable
Google Container
Engine
Amazon EC2
Container Service
IBM Containers
on Bluemix
コンテナを取り巻く業界俯瞰図
開発環境
Build / Deploy
運用自動化
Orchestration
kitematic
Etcd
SkyDNS
Service Discovery
Docker
fleet
flannel
rkt
CoreOS
Tectonic
Mesosphere
Apache Auora
Marathon
Cluster Management
Kubernetes
構成管理
Docker Swarm
Docker Machine
Docker Compose
Docker特化OS
PaaS
Networking
コンテナ管理用プラットフォーム
パブリック・クラウド陣営
Google Container
Engine
Amazon EC2
Container Service
IBM Containers
on Bluemix Google Kubernetes
Tectonic
CoreOS
商用サポート/エンタープライズ
管理・効率化
Docker ネイティブサポート
最小環境
Docker
競合
オープンソース
コミュニティ