Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
William Yeh
Architect @ Gogolook



2015-12-10
Albert Camus






1. How to recreate your system

2. How to safely change your system

3. When something has gone wrong
Do you have basic in...
public network
1. How to recreate your system

2. How to safely change your system

3. When something has gone wrong
priva...
1. How to recreate your system

2. How to safely change your system

3. When something has gone wrong
private network
CDN ...
1. How to recreate your system

2. How to safely change your system

3. When something has gone wrong
private network
CDN ...
public network
1. How to recreate your system

2. How to safely change your system

3. When something has gone wrong
priva...
hardware
bare metal
OS
runtime
app
VM
hardware
OS
runtime
app
hypervisor
VM
hardware
OS
runtime
app
hypervisor
VM
hardware
OS
runtime
app
hypervisor
Docker
hardware
OS
runtime
app
hypervisor
container
Docker
hardware
OS
runtime
app
hypervisor
container
We know:

• Container is faster than VM

• Container is lightweight

•...
Docker
hardware
OS
runtime
app
hypervisor
container
CoreOS

RancherOS

Red Hat Atomic

VMware Photon

Snappy Ubuntu Core

...
Docker
hardware
OS
runtime
app
hypervisor
container
Container per VM
hardware
OS
runtime
app
hypervisor
container
Container per VM
hardware
OS
runtime
app
hypervisor
container
Intel Clear Linux

http://www.ithome.com.tw/news/96119
Hyper...
Container per VM
hardware
OS
runtime
app
hypervisor
container
Unikernel
hardware
library OS
app
hypervisor
unikernel

app ...
Unikernel
hardware
library OS
app
hypervisor
unikernel

app stack
Unikernels are constructed by
using “library operating
s...
Unikernel
hardware
library OS
app
hypervisor
unikernel

app stack
MirageOS

https://mirage.io/
Boxfuse

https://boxfuse.co...
Unikernel image
Immutable infrastructure
public network
1. How to recreate your system

2. How to safely change your system

3. When something has gone wrong
priva...
service consolidation
resourceisolation
native app
VM
container per VM
unikernel
Docker
public network
1. How to recreate your system

2. How to safely change your system

3. When something has gone wrong
priva...
public network
private network
API servers
JDK
app server (Tomcat, …)
app (jar, war, …)
Node.js runtime
npm
app source
Pyt...
public network
private network
DB servers
JDK
Elasticsearch
JDK
CassandraMongoDBMySQL
dependenciesdependencies
public network
private network
LB
HAProxynginx
AWS ELB dependenciesdependencies
JDK
app server (Tomcat, …)
app (jar, war, …)
Node.js runtime
npm
app source
Python runtime
pip
uWSGI/Gunicorn
app source
J...
JDK
app server (Tomcat, …)
app (jar, war, …)
Node.js runtime
npm
app source
Python runtime
pip
uWSGI/Gunicorn
app source
J...
JDK
app server (Tomcat, …)
app (jar, war, …)
Node.js runtime
npm
app source
Python runtime
pip
uWSGI/Gunicorn
app source
J...
public network
1. How to recreate your system

2. How to safely change your system

3. When something has gone wrong
priva...
uniform
Docker
Config management will only be used to install
Docker, an orchestration system, configure
PAM/SSH auth, and...
public network
1. How to recreate your system

2. How to safely change your system

3. When something has gone wrong
priva...
public network
private network
API servers
As the number of machines grows…
how to ensure better allocation?
pets cattle
pets cattle
naming?
pets cattle
dispensable?
pets cattle
naming?
dispensable?
pets cattle
PaaS

Hadoop MapReduce

AWS Lambda

AWS Kinesis

Google Dataflow
public network
private network
API servers
As the number of machines grows…
how to ensure better allocation?
Traditional app
OS
runtime
app
tight
interaction
host

resources
pets
https://prezi.com/e7sdy9rdujgp
public network
private network
API servers
better mobility
cattle
public network
private network
API servers
even better mobilitycontainer
cattle
independent of
underlying
machines
cattle
Docker Swarm
Mesos
Kubernetes
allocation, orchestration
public network
1. How to recreate your system

2. How to safely change your system

3. When something has gone wrong
priva...
Docker Swarm

Mesos

Kubernetes
Config management will only be used to install
Docker, an orchestration system…
traditiona...
cattle
Long Running Services
• Aurora

• Marathon

• Singularity 

• SSSP

Batch Scheduling
• Chronos

• Jenkins

• JobSer...
cattle
Mesos
1. How to recreate your system

2. How to safely change your system

3. When something has gone wrong
.1 -
.2 -
private ne...
private network
LB API servers DB servers
• Rolling upgrade

• Blue/green deployment

• Canary deployment
Traditional app
...
public network
private network
API servers
immutable imagescontainer
cattle
independent of
underlying
machines
cattle
Docker Swarm
Mesos
Kubernetes
allocation, orchestration
kubectl rolling-update my-nginx --image=nginx:1.9.1
• Rolling upgrade
• Canary deployment

• use label
Kubernetes
Mesos
http://blog.qubit.com/opensourcing-bamboo-automated-mesos-marathon-load-balancing 

http://www.slideshare.net/johnad...
Universal Control Plane
https://www.docker.com/universal-control-plane
public network
1. How to recreate your system

2. How to safely change your system

3. When something has gone wrong
priva...
Docker Swarm

Mesos

Kubernetes
traditional
DevOps
toolchain
Consider the benefits:
• immutable infrastructure
• automated...
private network
CDN LB API servers DB servers
Key Takeaways
1. How to recreate your system

2. How to safely change your system

3. When something has gone wrong
Do you have basic in...
service consolidation
resourceisolation
native app
VM
container per VM
unikernel
Docker
Immutable infrastructure
uniform
Docker
Config management will only be used to install
Docker, an orchestration system… anything
other than app dep...
Docker Swarm

Mesos

Kubernetes
traditional
DevOps
toolchain
… Don’t assume too much about underlying infrastructure.
catt...
cattle
Docker Swarm
Mesos
Kubernetes
allocation, orchestration
http://send.wtf/docker2015
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
Upcoming SlideShare
Loading in …5
×

Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)

19,095 views

Published on

A talk given to Container Summit 2015, Taipei on 2015-12-10.

【Docker 對傳統 DevOps 工具鏈的衝擊】

Docker 爆紅,以及隨之而來的生態圈,衝擊傳統 DevOps 工具鏈,任何人都無法忽視 Docker 帶來的威脅或機會。

已經上手、或正在評估 DevOps 工具的我們,該如何看待這個新局面?對哪些舊方法該持保留態度?對哪些新方法該積極學習?

本講座會鳥瞰檯面上的 DevOps 工具,提出新舊交替世代的建議方針。

Published in: Software
  • DOWNLOAD FULL BOOKS, INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/yxufevpm } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/yxufevpm } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/yxufevpm } ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/yxufevpm } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/yxufevpm } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/yxufevpm } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD FULL BOOKS, INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Good day. It’s my pleasure meeting you, and that you enjoying your day? Can you allowed me to introduce my self to you. My name is Kine Gaye . I will like to get acquainted with you. please I'll be glad if you write to me or send your email address direct at my private email address (kinegaye00@hotmail.com) because i have some important thing i will like to discuss with you privately. Hope to hear from you soon. Kine.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)

  1. 1. William Yeh Architect @ Gogolook 
 2015-12-10
  2. 2. Albert Camus
  3. 3. 
 
 

  4. 4. 1. How to recreate your system 2. How to safely change your system 3. When something has gone wrong Do you have basic infrastructure? (2015-11-18) http://www.robustperception.io/do-you-have-basic-infrastructure/
  5. 5. public network 1. How to recreate your system 2. How to safely change your system 3. When something has gone wrong private network CDN LB API servers DB servers 1.1 - 1.2 -
  6. 6. 1. How to recreate your system 2. How to safely change your system 3. When something has gone wrong private network CDN LB API servers DB servers public network .1 - .2 -
  7. 7. 1. How to recreate your system 2. How to safely change your system 3. When something has gone wrong private network CDN LB API servers DB servers public network detection recovery diagnosis
  8. 8. public network 1. How to recreate your system 2. How to safely change your system 3. When something has gone wrong private network CDN LB API servers DB servers 1.1 - 1.2 -
  9. 9. hardware bare metal OS runtime app VM hardware OS runtime app hypervisor
  10. 10. VM hardware OS runtime app hypervisor
  11. 11. VM hardware OS runtime app hypervisor Docker hardware OS runtime app hypervisor container
  12. 12. Docker hardware OS runtime app hypervisor container We know: • Container is faster than VM • Container is lightweight • Dockerized app anywhere… What if… • An OS runs only containers?
  13. 13. Docker hardware OS runtime app hypervisor container CoreOS RancherOS Red Hat Atomic VMware Photon Snappy Ubuntu Core Windows Nano Server
  14. 14. Docker hardware OS runtime app hypervisor container Container per VM hardware OS runtime app hypervisor container
  15. 15. Container per VM hardware OS runtime app hypervisor container Intel Clear Linux http://www.ithome.com.tw/news/96119 Hyper https://hyper.sh/
  16. 16. Container per VM hardware OS runtime app hypervisor container Unikernel hardware library OS app hypervisor unikernel
 app stack
  17. 17. Unikernel hardware library OS app hypervisor unikernel
 app stack Unikernels are constructed by using “library operating systems,” from which the developer selects only the minimal set of services required for an application to run.
  18. 18. Unikernel hardware library OS app hypervisor unikernel
 app stack MirageOS https://mirage.io/ Boxfuse https://boxfuse.com/ ClickOS Clive HaLVM LING Rump Kernels OSv
  19. 19. Unikernel image Immutable infrastructure
  20. 20. public network 1. How to recreate your system 2. How to safely change your system 3. When something has gone wrong private network CDN ELB API servers DB servers 1.1 - 1.2 -
  21. 21. service consolidation resourceisolation native app VM container per VM unikernel Docker
  22. 22. public network 1. How to recreate your system 2. How to safely change your system 3. When something has gone wrong private network CDN LB API servers DB servers 1.1 - 1.2 -
  23. 23. public network private network API servers JDK app server (Tomcat, …) app (jar, war, …) Node.js runtime npm app source Python runtime pip uWSGI/Gunicorn app source
  24. 24. public network private network DB servers JDK Elasticsearch JDK CassandraMongoDBMySQL dependenciesdependencies
  25. 25. public network private network LB HAProxynginx AWS ELB dependenciesdependencies
  26. 26. JDK app server (Tomcat, …) app (jar, war, …) Node.js runtime npm app source Python runtime pip uWSGI/Gunicorn app source JDK Elasticsearch JDK CassandraMongoDBMySQL dependenciesdependencies HAProxynginx AWS ELB dependenciesdependencies
  27. 27. JDK app server (Tomcat, …) app (jar, war, …) Node.js runtime npm app source Python runtime pip uWSGI/Gunicorn app source JDK Elasticsearch JDK CassandraMongoDBMySQL dependenciesdependencies HAProxynginx AWS ELB dependenciesdependencies DevOps tools • Configuration management • Build system • Deployment pipeline • Continuous integration
  28. 28. JDK app server (Tomcat, …) app (jar, war, …) Node.js runtime npm app source Python runtime pip uWSGI/Gunicorn app source JDK Elasticsearch JDK CassandraMongoDBMySQL dependenciesdependencies HAProxynginx AWS ELB dependenciesdependencies Docker runtime app image immutable image versioned image dev/prod parity Dockerfile docker build docker push docker pull
  29. 29. public network 1. How to recreate your system 2. How to safely change your system 3. When something has gone wrong private network CDN ELB API servers DB servers 1.1 - 1.2 -
  30. 30. uniform Docker Config management will only be used to install Docker, an orchestration system, configure PAM/SSH auth, and tune OS sysctl values. traditional DevOps toolchain tedious … Basically anything not having to do with app deployment. https://blog.containership.io/containers-vs-config-management-e64cbb744a94
  31. 31. public network 1. How to recreate your system 2. How to safely change your system 3. When something has gone wrong private network CDN LB API servers DB servers 1.1 - 1.2 -
  32. 32. public network private network API servers As the number of machines grows… how to ensure better allocation?
  33. 33. pets cattle
  34. 34. pets cattle naming?
  35. 35. pets cattle dispensable?
  36. 36. pets cattle naming? dispensable?
  37. 37. pets cattle PaaS Hadoop MapReduce AWS Lambda AWS Kinesis Google Dataflow
  38. 38. public network private network API servers As the number of machines grows… how to ensure better allocation?
  39. 39. Traditional app OS runtime app tight interaction host resources pets
  40. 40. https://prezi.com/e7sdy9rdujgp
  41. 41. public network private network API servers better mobility cattle
  42. 42. public network private network API servers even better mobilitycontainer cattle independent of underlying machines
  43. 43. cattle Docker Swarm Mesos Kubernetes allocation, orchestration
  44. 44. public network 1. How to recreate your system 2. How to safely change your system 3. When something has gone wrong private network CDN ELB API servers DB servers 1.1 - 1.2 -
  45. 45. Docker Swarm Mesos Kubernetes Config management will only be used to install Docker, an orchestration system… traditional DevOps toolchain … Don’t assume too much about underlying infrastructure. cattlepets
  46. 46. cattle Long Running Services • Aurora • Marathon • Singularity • SSSP Batch Scheduling • Chronos • Jenkins • JobServer Big Data Processing • Cray Chapel • Dpark • Exelixi • Hadoop • Hama • MPI • Spark • Storm Data Storage • Cassandra • Elasticsearch • Hypertable Mesos framework
  47. 47. cattle Mesos
  48. 48. 1. How to recreate your system 2. How to safely change your system 3. When something has gone wrong .1 - .2 - private network CDN LB API servers DB servers public network
  49. 49. private network LB API servers DB servers • Rolling upgrade • Blue/green deployment • Canary deployment Traditional app • in-place update • immutable infra
  50. 50. public network private network API servers immutable imagescontainer cattle independent of underlying machines
  51. 51. cattle Docker Swarm Mesos Kubernetes allocation, orchestration
  52. 52. kubectl rolling-update my-nginx --image=nginx:1.9.1 • Rolling upgrade • Canary deployment • use label Kubernetes
  53. 53. Mesos http://blog.qubit.com/opensourcing-bamboo-automated-mesos-marathon-load-balancing http://www.slideshare.net/johnadowns/making-developers-happier-with-mesos-docker-and-marathon
  54. 54. Universal Control Plane https://www.docker.com/universal-control-plane
  55. 55. public network 1. How to recreate your system 2. How to safely change your system 3. When something has gone wrong private network CDN ELB API servers DB servers .1 - .2 -
  56. 56. Docker Swarm Mesos Kubernetes traditional DevOps toolchain Consider the benefits: • immutable infrastructure • automated allocation • automated orchestration cattlepets
  57. 57. private network CDN LB API servers DB servers Key Takeaways
  58. 58. 1. How to recreate your system 2. How to safely change your system 3. When something has gone wrong Do you have basic infrastructure? (2015-11-18) http://www.robustperception.io/do-you-have-basic-infrastructure/
  59. 59. service consolidation resourceisolation native app VM container per VM unikernel Docker Immutable infrastructure
  60. 60. uniform Docker Config management will only be used to install Docker, an orchestration system… anything other than app deployment. traditional DevOps toolchain tedious
  61. 61. Docker Swarm Mesos Kubernetes traditional DevOps toolchain … Don’t assume too much about underlying infrastructure. cattlepets
  62. 62. cattle Docker Swarm Mesos Kubernetes allocation, orchestration
  63. 63. http://send.wtf/docker2015

×