SlideShare a Scribd company logo
Docker PaaSとしての
比較
Kazuto Kusama
@jacopen
Open PaaS
Docker PaaSとしての OpenShift, Deis, Flynn比較
Docker PaaSとしての OpenShift, Deis, Flynn比較
Docker PaaSとしての OpenShift, Deis, Flynn比較
OpenShiftの勉強会で
OpenShift以外の話をします
Docker PaaSとしての OpenShift, Deis, Flynn比較
2012/06/21
第7回 Cloud Foundry輪読会

http://www.slideshare.net/jacopen/openshift-13407714
2013/08/23
第
http://www.slideshare.net/jacopen/open-shift-25522848
_人人人人人人人人_
> いつものこと <
 ̄Y^Y^Y^Y^Y^Y^Y ̄
Docker PaaSとしての OpenShift, Deis, Flynn比較
OpenShift
・・・の説明はいらないですよね?
OpenShiftのいいところ
• 進化著しい!
• そもそもKubernetesの進化がすごい
OpenShiftのいいところ
• Githubとの連携やwebhookなど、便利
な機能が最初から っている
OpenShiftのいいところ
• Red Hat + Google + その他沢山の

ベンダーや開発者によって開発される
安心感
OpenShiftの、ここがちょっとなー
• Kubernetesの概念が色濃く残っており、PaaS
として使い勝手がいいかどうかは・・・?
• Kubernetes知らないと、そもそも?な単語
が多い
• あのjson書くの辛いような・・・
OpenShiftの、ここがちょっとなー
• Cloud Foundryほどエコシステムが広がって
いない
• これからに期待
Kubernetesは分かりづらい!
もっとシンプルなDocker PaaSは無いの?
Docker PaaSとしての OpenShift, Deis, Flynn比較
http://deis.io/
Deis
• Docker + CoreOSをベースとしたPaaS
• 2013年公開。OpDemandが開発。
• 2015年、PaaSベンダーのEngine Yardが
OpDemandを買収
DEMO
$	
  deis	
  create	
  
Creating	
  application...	
  done,	
  created	
  sanest-­‐odometer	
  
Git	
  remote	
  deis	
  added	
  
$	
  git	
  remote	
  show	
  
deis	
  
origin	
  
$	
  git	
  push	
  deis	
  master	
  
Counting	
  objects:	
  9,	
  done.	
  
Delta	
  compression	
  using	
  up	
  to	
  4	
  threads.	
  
Compressing	
  objects:	
  100%	
  (5/5),	
  done.	
  
Writing	
  objects:	
  100%	
  (9/9),	
  1.04	
  KiB	
  |	
  0	
  bytes/s,	
  done.	
  
Total	
  9	
  (delta	
  1),	
  reused	
  0	
  (delta	
  0)	
  
(後略)
※デモで話した内容
deis createすると、deisにアプリが作られると同時に
gitにremoteリポジトリが追加される
あとは git push deis masterすればデプロイされる、
Herokuライクな使い勝手。
$	
  deis	
  create	
  
Creating	
  application...	
  done,	
  created	
  sanest-­‐odometer	
  
Git	
  remote	
  deis	
  added	
  
$	
  git	
  remote	
  show	
  
deis	
  
origin	
  
$	
  git	
  push	
  deis	
  master	
  
Counting	
  objects:	
  9,	
  done.	
  
Delta	
  compression	
  using	
  up	
  to	
  4	
  threads.	
  
Compressing	
  objects:	
  100%	
  (5/5),	
  done.	
  
Writing	
  objects:	
  100%	
  (9/9),	
  1.04	
  KiB	
  |	
  0	
  bytes/s,	
  done.	
  
Total	
  9	
  (delta	
  1),	
  reused	
  0	
  (delta	
  0)	
  
(後略)
※デモで話した内容
簡単
$	
  deis	
  scale	
  web=5	
  
Scaling	
  processes...	
  but	
  first,	
  coffee!	
  
done	
  in	
  12s	
  
===	
  unisex-­‐newsreel	
  Processes	
  
-­‐-­‐-­‐	
  web:	
  
web.1	
  up	
  (v2)	
  
web.2	
  up	
  (v2)	
  
web.3	
  up	
  (v2)	
  
web.4	
  up	
  (v2)	
  
web.5	
  up	
  (v2)	
  
※デモで話した内容
deis scaleでスケールアウト可能。
ただ、ちょっと遅い
Deisのメリット
• Herokuライクな使い勝手
• Buildpack, Docker image, Dockerfileなど様々
な仕組みが利用出来る
Deisデメリット
• スケジューリングが遅い
• Productionに投入するにはもう少し・・・
Deis Proってのもあります
Flynn
https://flynn.io/
Flynn
• Docker PaaS
• 2013年、クラウドファウンディングのスタイ
ルでスタート。現在はPrime Directiveが開発
を主導
• シンプルなHerokuクローン Dokkuの作者が開
発に関与している
DEMO
$	
  flynn	
  create	
  
Created	
  coyotes-­‐rebuff-­‐richards	
  
$	
  git	
  remote	
  show	
  
deis	
  
flynn	
  
origin	
  
$	
  git	
  push	
  flynn	
  master	
  
Counting	
  objects:	
  9,	
  done.	
  
Delta	
  compression	
  using	
  up	
  to	
  4	
  threads.	
  
Compressing	
  objects:	
  100%	
  (5/5),	
  done.	
  
Writing	
  objects:	
  100%	
  (9/9),	
  1.04	
  KiB	
  |	
  0	
  bytes/s,	
  done.	
  
Total	
  9	
  (delta	
  1),	
  reused	
  0	
  (delta	
  0)	
  
-­‐-­‐-­‐-­‐-­‐>	
  Building	
  coyotes-­‐rebuff-­‐richards...	
  
-­‐-­‐-­‐-­‐-­‐>	
  PHP	
  app	
  detected	
  
(後略)	
  
※デモで話した内容
flynn createでアプリ作成とリモートリポジトリ追加
git push flynn masterでデプロイ。
deisと驚くほど一緒 (まあ、Herokuのインスパイア)
$	
  flynn	
  create	
  
Created	
  coyotes-­‐rebuff-­‐richards	
  
$	
  git	
  remote	
  show	
  
deis	
  
flynn	
  
origin	
  
$	
  git	
  push	
  flynn	
  master	
  
Counting	
  objects:	
  9,	
  done.	
  
Delta	
  compression	
  using	
  up	
  to	
  4	
  threads.	
  
Compressing	
  objects:	
  100%	
  (5/5),	
  done.	
  
Writing	
  objects:	
  100%	
  (9/9),	
  1.04	
  KiB	
  |	
  0	
  bytes/s,	
  done.	
  
Total	
  9	
  (delta	
  1),	
  reused	
  0	
  (delta	
  0)	
  
-­‐-­‐-­‐-­‐-­‐>	
  Building	
  coyotes-­‐rebuff-­‐richards...	
  
-­‐-­‐-­‐-­‐-­‐>	
  PHP	
  app	
  detected	
  
(後略)	
  
※デモで話した内容
(n‘∀‘)η
$	
  flynn	
  scale	
  web=5	
  
scaling	
  web:	
  3=>5	
  
14:32:04.554	
  ==>	
  web	
  flynn-­‐6e60228c3fa54933acc30401b9a30a4d	
  starting	
  
14:32:04.747	
  ==>	
  web	
  flynn-­‐397fba6e68cf4206bb8c28328a843427	
  starting	
  
14:32:05.215	
  ==>	
  web	
  flynn-­‐397fba6e68cf4206bb8c28328a843427	
  up	
  
14:32:06.344	
  ==>	
  web	
  flynn-­‐6e60228c3fa54933acc30401b9a30a4d	
  up	
  
scale	
  completed	
  in	
  2.252653272s	
  
※デモで話した内容
flynn scaleでスケールアウト可能。
こちらはかなり速い
Flynnのメリット
• シンプル、かつモジュラーでカスタマイズし
やすいアーキテクチャ
• PaaSに必要な要素がFlynn内でほぼ完結して
いる
Flynnのデメリット
• CF, OpenShift, Deisに比べると開発の継続力
に一抹の不安
• モジュラーなアーキテクチャは良し、しかし
どこまでメンテナンスし続けられるか
アプリのデプロイ方法
buildpack
docker image
buildpack
docker image
dockerfile
STI
docker image
前提OS
Ubuntu CoreOS
RHEL
CentOS
All in oneデプロイ方法
Vagrant VagrantVagrant
By gopher-vector https://github.com/golang-samples/gopher-vector
Ruby + Golang
Golang
Python + Golang
Golang
開発言語
Questions?

More Related Content

Docker PaaSとしての OpenShift, Deis, Flynn比較