[openstack-dev] [Zun][Higgins] The design of Zun

Hongbin Lu hongbin.lu at huawei.com
Tue Jun 28 23:15:59 UTC 2016

Hi all,

At the last team meeting, we made an important decision about the design. I would like to summarize it in this email so that everyone will be on the same page.

Short version:
* Zun aims to build an unified API layers to interface with various Container Orchestration Engines (COEs).
* Zun will provide a reference implementation of the API.

Long version:
The key objective of the Zun project is to bring various container technologies to OpenStack. Such container technologies includes Container runtimes (i.e. Docker, Rkt, Clear Container) and COEs (i.e. Kubernetes, Docker Swarm). The main obstacle is that these two groups of technologies look very different from each other, and it is hard to abstract all of them into a common set of API. Generally speaking, COEs look relatively high-level and focus on managing containerized applications, which are typically consistent of a set of containers, its inter-connections, its load balancers, and more. In comparison, container runtimes looks relatively simple and they focus on managing a single container. It doesn't seem to make sense to group them all together. A potential solution is to drop one group of technologies and focus on the other. However, we decided to choose a better solution, which is to separate the support of these two group of technologies.

First, we agreed to have Zun deeply integrate with COEs. In particular, Zun will build an unified API to abstract different COEs. The built API should expose the common feature set among prevailing COEs, such as deploying an application to one or multiple containers, scaling the application, setup a load-balancer for the application, upgrade the application, etc. Second, we agreed to develop a reference implementation of the Zun API. The reference implementation will deeply integrate with various container runtimes, and focus on the basic of managing a single container and integrating containers with existing OpenStack primitives (i.e. networking, storage, authentication/authorization, monitoring, quota management, multi-tenancy, etc.).

The details of the discussion can be found in this etherpad: https://etherpad.openstack.org/p/zun-architecture-decisions . Please feel free to reply if you have any comment or anything is unclear.

[1] https://etherpad.openstack.org/p/zun-architecture-decisions

Best regards,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160628/3a7782ba/attachment.html>

More information about the OpenStack-dev mailing list