Docker / OpenStack 
OpenStack Meetup Paris 
@enovance Chmouel Boudjnah // @chmouel
About Docker
Docker use cases 
Image from http://goo.gl/6wWPyL @flux9
Paas + Iaas 
Paas Docker Iaas
OpenStack and 
Docker use cases.
Docker with OpenStack use case 
Nova API Glance 
Zone Baremetal Zone Docker Zone Virtualized 
User
Docker with OpenStack use case 
Container Container Container 
VMs VMs VMs VMs 
BM BM BM
Docker with OpenStack APP 
Containerized App Containerized App Containerized App 
Management Server “Legacy” App “Legacy” App 
BM App BM App
OpenStack 
Integration
OpenStack integration: History 
● Excitement about the integration in the 
beginning. 
● Started to get shipped with Havanna (Sept 
2013) 
● Devstack, Glance, Integration 
● Removed in Icehouse 
● Heat plugin in-tree.
Heat 
Hot 
Nova Resource 
Docker Resource 
Nova VM 
Docker API server 
Container1 
Container2
Heat 
Hot 
Nova Resource 
Docker Resource 
Nova VM 
Docker API server 
Container1 
Container2 
Neutron Resource 
Block Storage Resource 
Trove/Zaquar etc….
Concrete Heat Example 
http://techs.enovance.com/7104/multi-tenant-docker-with-openstack-heat
Nova 
● First class Hypervisor for Nova, the same driver you can 
have for libvirt/xen or others you have it for docker. 
● Sitting in Stackforge it allowed to reach maturity outside 
the core project. 
● Lack of integration with Cinder and Neutron. 
● Allow you to orchestrate your containers directly via the 
Nova API or its UI Horizon.
Nova: Supported Operations 
● Launch 
● terminate 
● Reboot 
● Serial console 
● Snapshot 
● Guess Info 
● Pause/Unpause 
https://wiki.openstack.org/wiki/HypervisorSupportMatrix
Glance 
Back in Havana and Icehouse user 
had to go by the docker-registry to 
add new image which would be 
passed down to glance. 
Now the process is much more 
streamlined, the docker registry 
can export directly to Glance.
Magnum: Containers as a Service 
● Operating under the OpenStack Compute Board. 
● A proposal discussed for quite some time. 
● It would be the Nova of containers (and not just 
Docker) 
● It could use Nova to spawn containers in Nova. 
● It would expose multi tenancy to the container 
services which is inherently local to the instance. 
● Integration with Kubernetes and Docker for 
backend container technology. 
● Those instance can be VMs, Baremetal or even 
Containers
Kolla: Docker + OpenStack + Kubernetes 
● Deploy OpenStack in Containers via Kubernetes. 
● OpenStack as the OpenStack services like heat, glance, 
nova, keystone etc.. 
● Started to ‘Dockerize’ all the images. 
● Wrote service definitions for Kubernetes. 
● Minimal feature sets implemented to be able to launch a VM 
in a Kubernetes deployed Cloud.
Solum: OpenStack native Paas 
You probably know everything about it by now.
Holidays wishlist gift. 
● Native Cinder Support to Docker 
● Native Neutron Support for Docker 
● Native Keystone Support for auth in Docker 
● Magnum MVP in Kilo. 
● Support for containers in Devstack. 
● Docker exec feature in Heat.
Fin 
Chmouel Boudjnah @chmouel

Docker with OpenStack

  • 1.
    Docker / OpenStack OpenStack Meetup Paris @enovance Chmouel Boudjnah // @chmouel
  • 2.
  • 3.
    Docker use cases Image from http://goo.gl/6wWPyL @flux9
  • 4.
    Paas + Iaas Paas Docker Iaas
  • 5.
  • 6.
    Docker with OpenStackuse case Nova API Glance Zone Baremetal Zone Docker Zone Virtualized User
  • 7.
    Docker with OpenStackuse case Container Container Container VMs VMs VMs VMs BM BM BM
  • 8.
    Docker with OpenStackAPP Containerized App Containerized App Containerized App Management Server “Legacy” App “Legacy” App BM App BM App
  • 9.
  • 10.
    OpenStack integration: History ● Excitement about the integration in the beginning. ● Started to get shipped with Havanna (Sept 2013) ● Devstack, Glance, Integration ● Removed in Icehouse ● Heat plugin in-tree.
  • 11.
    Heat Hot NovaResource Docker Resource Nova VM Docker API server Container1 Container2
  • 12.
    Heat Hot NovaResource Docker Resource Nova VM Docker API server Container1 Container2 Neutron Resource Block Storage Resource Trove/Zaquar etc….
  • 13.
    Concrete Heat Example http://techs.enovance.com/7104/multi-tenant-docker-with-openstack-heat
  • 14.
    Nova ● Firstclass Hypervisor for Nova, the same driver you can have for libvirt/xen or others you have it for docker. ● Sitting in Stackforge it allowed to reach maturity outside the core project. ● Lack of integration with Cinder and Neutron. ● Allow you to orchestrate your containers directly via the Nova API or its UI Horizon.
  • 15.
    Nova: Supported Operations ● Launch ● terminate ● Reboot ● Serial console ● Snapshot ● Guess Info ● Pause/Unpause https://wiki.openstack.org/wiki/HypervisorSupportMatrix
  • 16.
    Glance Back inHavana and Icehouse user had to go by the docker-registry to add new image which would be passed down to glance. Now the process is much more streamlined, the docker registry can export directly to Glance.
  • 17.
    Magnum: Containers asa Service ● Operating under the OpenStack Compute Board. ● A proposal discussed for quite some time. ● It would be the Nova of containers (and not just Docker) ● It could use Nova to spawn containers in Nova. ● It would expose multi tenancy to the container services which is inherently local to the instance. ● Integration with Kubernetes and Docker for backend container technology. ● Those instance can be VMs, Baremetal or even Containers
  • 18.
    Kolla: Docker +OpenStack + Kubernetes ● Deploy OpenStack in Containers via Kubernetes. ● OpenStack as the OpenStack services like heat, glance, nova, keystone etc.. ● Started to ‘Dockerize’ all the images. ● Wrote service definitions for Kubernetes. ● Minimal feature sets implemented to be able to launch a VM in a Kubernetes deployed Cloud.
  • 19.
    Solum: OpenStack nativePaas You probably know everything about it by now.
  • 20.
    Holidays wishlist gift. ● Native Cinder Support to Docker ● Native Neutron Support for Docker ● Native Keystone Support for auth in Docker ● Magnum MVP in Kilo. ● Support for containers in Devstack. ● Docker exec feature in Heat.
  • 21.

Editor's Notes

  • #2 Question a l'assemblée a propos de qui a utiliser Docker et Docker en production. Comment je suis arrivée a Docker et pourquoi ca etais utile au dela du buzz world.
  • #3 Comment Docker est arrivee dans le Cloud space, le buzz la simplicite une autre brick (facile) dans l'atirail du sysadmin une re-pensee comment les apps se separe de l'infrastracture. un PAAS + IAAS la brick commune entre les autres,
  • #4 App Isolation There may be many reasons for which you end up running multiple applications on the same machine. An example of this is the developer productivity flow described earlier. But there are other cases, too. Server Consolidation Just like using VMs for consolidating multiple applications, the application isolation abilities of Docker allow consolidating multiple servers to save on cost. However, without the memory footprint of multiple OSes and the ability to share unused memory across the instances, Docker provides far denser server consolidation than you can get with VMs. debugging Debugging Capabilities Debugging Docker provides a lot of tools that are not necessarily specific to containers, but, they work well with the concept of containers. They also provide extremely useful functionality. This includes the ability to checkpoint and version containers, as well as to diff two containers. This can be immensely useful in fixing an application. Multi Tenant Yet another interesting use case of Docker is its use in multi-tenant applications, thereby avoiding major application rewrites. Our very own multi-tenant example is to develop quick and easy multi-tenancy for an IoT application. Code Bases for such multi-tenant applications are far more complicated, rigid and pretty much difficult to handle. Rearchitecting an application is not only time consuming, but also costs a lot of money. Using Docker, it was easy and inexpensive to create isolated environments for running multiple instances of app tiers for each tenant. This was possible given the spin up speed of Docker environments and it’s effective diff command. Rapid Deployment Before VMs, bringing up a new hardware resource took days. Virtualization brought this number down to minutes. Docker, by creating just a container for the process and not booting up an OS, brings it down to seconds. This is the enabling technology that has had Google and Facebook using containers.
  • #5 Paa + Iaas la base comune pour tout les different type de Paas et meme sur son Iaas de pouvoir utilisez l’image (presque) directement. Expliquer le presque et le design d’apps qui ne depend pas du systeme locale.
  • #7 Zones, dependent de la glance query par les hints ou autres de pouvoir specifier quelle image sur quelle zone
  • #12 Single Use Case, multi tenant use case
  • #16 Bind entre les calls, Pause/Unpause implementation in Upstream bring from the novadocker.
  • #19 explain kubernetes