sebastien goasguen cloud stack and docker
TRANSCRIPT
![Page 1: Sebastien goasguen cloud stack and docker](https://reader031.vdocuments.site/reader031/viewer/2022012918/55c1c49bbb61eb68338b4698/html5/thumbnails/1.jpg)
Docker and CloudStack
Sebastien GoasguenLondon Meetup
May 21st @sebgoa
![Page 2: Sebastien goasguen cloud stack and docker](https://reader031.vdocuments.site/reader031/viewer/2022012918/55c1c49bbb61eb68338b4698/html5/thumbnails/2.jpg)
Background
• Citrix Open Source Architect
• Open Source Business Office
• VP of Apache CloudStack• PMC of Apache libcloud• ASF member• O’Reilly author of the
Docker cookbook
![Page 3: Sebastien goasguen cloud stack and docker](https://reader031.vdocuments.site/reader031/viewer/2022012918/55c1c49bbb61eb68338b4698/html5/thumbnails/3.jpg)
Cloud Goals
• Utility computing• Elasticity of the infrastructure• On-demand• Pay as you go• Multi-tenant• Programmable access (i.e API)
![Page 4: Sebastien goasguen cloud stack and docker](https://reader031.vdocuments.site/reader031/viewer/2022012918/55c1c49bbb61eb68338b4698/html5/thumbnails/4.jpg)
So what…
• Solved with CloudStack
• What is not solved:• - Application deployment• - Application scalability• - Application portability• - Application composability
![Page 5: Sebastien goasguen cloud stack and docker](https://reader031.vdocuments.site/reader031/viewer/2022012918/55c1c49bbb61eb68338b4698/html5/thumbnails/5.jpg)
![Page 6: Sebastien goasguen cloud stack and docker](https://reader031.vdocuments.site/reader031/viewer/2022012918/55c1c49bbb61eb68338b4698/html5/thumbnails/6.jpg)
Docker basics
• Originated at Dotcloud• Wrapper on top of LXC• Great UX for developers• Ease of use• Apparent speed compared to VMs
![Page 7: Sebastien goasguen cloud stack and docker](https://reader031.vdocuments.site/reader031/viewer/2022012918/55c1c49bbb61eb68338b4698/html5/thumbnails/7.jpg)
Containers
• Docker now based on libcontainer• Create separate process namespace on host• Same kernel• Use cgroups for resource allocation/isolation• Not an hypervisor• Not meant to be logged into• Packages application/services
![Page 8: Sebastien goasguen cloud stack and docker](https://reader031.vdocuments.site/reader031/viewer/2022012918/55c1c49bbb61eb68338b4698/html5/thumbnails/8.jpg)
Installation
$ sudo curl -sSL https://get.docker.com/ubuntu/ | sudo sh
$ sudo yum install docker
![Page 9: Sebastien goasguen cloud stack and docker](https://reader031.vdocuments.site/reader031/viewer/2022012918/55c1c49bbb61eb68338b4698/html5/thumbnails/9.jpg)
Use
$ docker run busybox echo foobar
Foobar
$ docker run –ti ubuntu:14.04 /bin/bash
root@0156ad334ca4:/#
![Page 10: Sebastien goasguen cloud stack and docker](https://reader031.vdocuments.site/reader031/viewer/2022012918/55c1c49bbb61eb68338b4698/html5/thumbnails/10.jpg)
The App store
$ docker push runseb/application
$ docker pull runseb/application
$ docker run –d runseb/application
![Page 11: Sebastien goasguen cloud stack and docker](https://reader031.vdocuments.site/reader031/viewer/2022012918/55c1c49bbb61eb68338b4698/html5/thumbnails/11.jpg)
Building docker images
![Page 12: Sebastien goasguen cloud stack and docker](https://reader031.vdocuments.site/reader031/viewer/2022012918/55c1c49bbb61eb68338b4698/html5/thumbnails/12.jpg)
How to use this in CloudStack
• #1 Gut reaction:– Let’s write a Docker plugin and treat it as an
Hypervisor
• But:– It’s not an hypervisor– The networking model is still evolving– It will not help with application deployment and
portability– It’s trying to put a PaaS in a IaaS
![Page 13: Sebastien goasguen cloud stack and docker](https://reader031.vdocuments.site/reader031/viewer/2022012918/55c1c49bbb61eb68338b4698/html5/thumbnails/13.jpg)
And…
• Where is Docker going to run ?
• On baremetal ?
• On VMs ?
• In the Cloud ?
![Page 14: Sebastien goasguen cloud stack and docker](https://reader031.vdocuments.site/reader031/viewer/2022012918/55c1c49bbb61eb68338b4698/html5/thumbnails/14.jpg)
How to use this in CloudStack
• #2 Docker in VM– Create CloudStack template that have the Docker
daemon
• Examples:– AWS default AMI– GCE container VM– Azure Docker templates
![Page 15: Sebastien goasguen cloud stack and docker](https://reader031.vdocuments.site/reader031/viewer/2022012918/55c1c49bbb61eb68338b4698/html5/thumbnails/15.jpg)
New OS
![Page 16: Sebastien goasguen cloud stack and docker](https://reader031.vdocuments.site/reader031/viewer/2022012918/55c1c49bbb61eb68338b4698/html5/thumbnails/16.jpg)
How to use this in CloudStack
• #3 Docker optimized OS– Create CloudStack template from new OS
• Examples:– coreOS – in production– Ubuntu snappy– Atomic– RancherOS– Microsoft nano
![Page 17: Sebastien goasguen cloud stack and docker](https://reader031.vdocuments.site/reader031/viewer/2022012918/55c1c49bbb61eb68338b4698/html5/thumbnails/17.jpg)
coreOS “OEM”
http://github.com/coreos/coreos-overlay
![Page 18: Sebastien goasguen cloud stack and docker](https://reader031.vdocuments.site/reader031/viewer/2022012918/55c1c49bbb61eb68338b4698/html5/thumbnails/18.jpg)
How to use this in CloudStack
• #4 Container service– Launch containers in clusters through API
• Examples:– AWS ECS– Google GKE (i.e Kubernetes )– Lattice CF– Mesos/Marathon– Rancher
• See Docker “platforms” as a workload
![Page 19: Sebastien goasguen cloud stack and docker](https://reader031.vdocuments.site/reader031/viewer/2022012918/55c1c49bbb61eb68338b4698/html5/thumbnails/19.jpg)
How to use this in CloudStack
• #5 CloudStack plugins in Docker ecosystem– Docker-machine
![Page 20: Sebastien goasguen cloud stack and docker](https://reader031.vdocuments.site/reader031/viewer/2022012918/55c1c49bbb61eb68338b4698/html5/thumbnails/20.jpg)
Docker and CloudStack
• Do not try to write a new “hypervisor” plugin• Docker ecosystem taking care of Docker
orchestration
• Focus on:– Docker optimized OS (e.g coreOS, atomic)– Deploying application mgt framework (e.g Mesos,
Kubernetes)
![Page 21: Sebastien goasguen cloud stack and docker](https://reader031.vdocuments.site/reader031/viewer/2022012918/55c1c49bbb61eb68338b4698/html5/thumbnails/21.jpg)