Making Container Applications Production Grade

Dockercon is here again. It again promises to be bigger and to bring lots of the container and microservices enthusiasts to Seattle next week.  I am personally looking forward to my 3rd Dockercon (including the Dockercon EU in Barcelona).  Even more so because I am excited to be speaking and sharing information about our open source project Contiv. This short video provides an overview of Contiv.

Containers are being considered by many organizations large and small. But in order for there to be wider adoption, challenges remain. Unlike server virtualization, container adoption may take longer..  Three  major challenges exist for containers to reach maturity.

Complex Transition: Container based applications are not a 1:1 transition from an existing VM or bare metal as was the case with server virtualization transition. In many cases, only new applications are considered for containers while the existing applications will remain in their current form. This makes the transition to containers slower than in the case of server virtualization.

New Framework: Developing applications in a microservices architecture requires the developers to adopt new processes as well as new technology. While forwarding leaning organizations are making the transition to new structures, it is far from being a done deal. People and process are in the way.

Operational Issues: Last but not the least is the current container based solutions are really not ready to support production grade containerized applications and the requirements for shared   The IT teams are not ready with solutions that in most cases needs to be automated for achieving the benefits of true containerization of the applications

Understanding the Requirements

So what are some of the production grade containerized applications deployment requirements that are unmet?

Automated cluster management – the ability to automate node lifecycle management including managing the control software lifecycle.

Differentiated performance for various production grade and development/test mode applications .

Predictable performance for the applications with no noisy neighbor problems.

Flexible connectivity between microservices via IP per container or overlay and integration to existing networks through Layer 2 or Layer 3 networks.

Flexible network isolation for applications, regardless of network or subnet.

Scalable security policies for applications groups with support for microservices auto scaling.

Mixed mode applications – the ability to manage requirements of applications that are made up of container, non-container workloads or databases as a single application.

Differentiated storage performance for containers requiring varied IOPS as well as distributed persistent storage for stateful containers.

Telemetry and monitoring of the applications and a real-time view of interactions of the various microservices for identifying bottle neck services and troubleshooting,

Also, all of these requirements needs to be delivered in an automated, scalable and consistent/reliable fashion.  The container stack and the underlying infrastructure needs to communicate in an automated and scalablemanner. We believe Contiv is the right solution for solving these challenges in deploying containerized applications in production.

If you are curious and want to learn more, please attend my session at Dockercon’16.

If you want to learn more about Contiv which is an open source project available for anyone to try and contribute code to at contiv.github.io