Containers just might be the hottest technology in the business and quickly becoming a focal point within the OpenStack community and several members of the OpenStack team here at Cisco have been very involved. Daneyon Hansen and Steven Dake have helped me give a quick look at how Containers and OpenStack are coming together.
Two container-focused OpenStack projects, Magnum and Kolla, have evolved significantly through the Kilo development cycle. Kolla formed shortly before the Kilo Design Summit, while Magnum was created shortly afterward. Both projects use Docker for containers, but leverage the technology for different purposes. Magnum is a Container-as-a-Service (CaaS) system, allowing users to build and run container-based applications in OpenStack clouds, while Kolla’s mission is to simplify the OpenStack operational experience.
Kolla improves OpenStack operations by containerizing OpenStack into micro services and providing additional tooling to simplify management. Containerizing OpenStack services improves operations such as providing deployment consistency, simplified upgrades, portability, scaling, etc.. These capabilities are achieved by encompassing the entire application runtime for each OpenStack service into a lightweight, portable unit. Each micro service becomes an atomic unit of management such as deployment, upgrading, scaling, etc. Kolla was developed as an integration project, allowing other tools such as TripleO, Heat, Ansible, etc.. to manage OpenStack at scale using Docker containers.
Magnum is an API service developed for OpenStack to make container management tools such as Docker, Kubernetes, etc. available as first class resources in OpenStack. Magnum uses Heat to orchestrate an operating system image that includes the container management tools and runs the image in a Nova instance cluster. Magnum is meant to launch a minimalistic host operating system such as Fedora Atomic, CoreOS, or Ubuntu Snappy. The operating system includes enough tools to launch Docker, Kubernetes, etc.. Once the operating system is launched, Magnum configures the clusters to run a Container Orchestration Environment for multi-tenancy.
Looking forward, both projects have no shortage of work to accomplish. High availability, supporting additional OpenStack services and improved testing will be a focus area of Kolla development. For Magnum, development efforts will be geared towards improving the operational experience with Magnum, improving the documentation and quality of Magnum and adding features such as bare-metal support, native Docker networking, and load balancing support. Please refer to the Kolla and Magnum Blueprints for additional details.
If you are attending the OpenStack Summit in Vancouver, be sure to attend the Summit Opening Keynote on Monday to see Magnum and Kolla highlighted in a live demo and listed below are three presentations about how Containers and OpenStack are converging.
Tuesday, May 19 • 2:00pm – 2:40pm Thanks Docker! The pro’s and con’s of containerizing your OpenStack services
This presentation will show a new approach to deploying OpenStack within containers. This approach results in new composable building blocks to deploy OpenStack.
Thursday, May 21 • 9:00am – 9:40am Magnum- Containers-as-a-Service for OpenStack
In this session, we will detail and demonstrate Magnum to show you the features and capabilities, as well as an overview of the software architecture that allows for extending it.
Thursday, May 21 • 1:30pm – 2:10pm TripleO: tripleo-heat-heat template interfaces and container enablement
This session will focus on the tripleo-heat-templates interfaces, with a particular focus on further defining those interfaces for enablement of additional backends such as Kolla.
We look forward to seeing you in Vancouver!
I think after few year unikernel will take over Containers.
Thanks for the write up Patrick. A quick question, do you see containers co-existing with ‘traditional’ OpenStack deployment methods, or replacing?
Depends what you mean when you refer to “deployment methods”. If you are talking about deployment of the Openstack services themselves (ie. Kolla), I think containers will make life a lot easier for lifecycle management. If you are talking about deployment of the applications on top of OpenStack (ie. Magnum) then I think that containers will a very popular option but traditional app deployment will continue to have its attractions, so the two will coexist.