2. 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
3. Cloud Goals
• Utility computing
• Elasticity of the infrastructure
• On-demand
• Pay as you go
• Multi-tenant
• Programmable access (i.e API)
4. So what…
• Solved with CloudStack
• What is not solved:
• - Application deployment
• - Application scalability
• - Application portability
• - Application composability
5.
6. Docker basics
• Originated at Dotcloud
• Wrapper on top of LXC
• Great UX for developers
• Ease of use
• Apparent speed compared to VMs
7. 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
12. 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
13. And…
• Where is Docker going to run ?
• On baremetal ?
• On VMs ?
• In the Cloud ?
14. 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
16. 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
18. 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
19. How to use this in CloudStack
• #5 CloudStack plugins in Docker ecosystem
– Docker-machine
20. 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)