What's next for containers? has been added to your bookmarks.
What's next for containers?
Deloitte on Cloud Blog
What’s next in cloud container orchestration programs? Here are a few trends that will likely affect how you build and containerize applications in 2019.
December 11, 2018
A blog post by David Linthicum, managing director, chief cloud strategy officer, Deloitte Consulting LLP
Here are three trends that will likely affect how you build and containerize applications in 2019.
Kubernetes has become the cloud container orchestration program that many want to use, with others such as Docker Swarm and Apache Methos close seconds (depending on who you talk to). However, those who contribute to the Kubernetes open source project aren't resting on their laurels. This year, less than three-months after the last significant release of Kubernetes 1.10, Kubernetes 1.11 is already on its way.
This latest release brings greater stability and enhancements to Custom Resource Definitions (CRDs). Also, present is the ability to leverage CoreDNS as the DNS plugin for the cluster. CoreDNS is a Domain Name System (DNS) module which will likely, at some point, replace KubeDNS as the de facto DNS plugin for Kubernetes. Kubernetes 1.11 also adds support for raw block volumes to the Container Storage Interface (CSI).
But, what’s next in cloud container orchestration programs? There are a few things on the radar. The core focus is on:
Distribution and DevOps integration.
Distribution is the container orchestration tool’s ability to work well in a distributed fashion. Right now, the centralization of containers within a single orchestration tool instance is how most companies approach container orchestration.
Moving forward, we’re likely to see the use of these orchestration tools in a distributed manner. That means we’ll have clusters that work seamlessly with other clusters, intra- or inter-cloud. While you can hack your way to distribution today, we need a set of open approaches that standardize how container orchestration distribution works and plays well together, as well as how it’s managed, monitored, and secured.
Performance management is the ability to monitor performance of the container orchestration systems, as well as clusters and containers, down to the microservice. Again, we’re seeing third party tools play in this space, but we need to see standard approaches and interfaces that provide consistent interfaces for all performance management tools, including analytics and proactive performance management.
What we see as we deploy container-based systems as single containers to clusters that contain hundreds of containers are performance issues that can’t be solved just by placing them in a container orchestration platform. Indeed, the distribution and utilization of resources within containers follow the pattern of intra- and inter-container, and, in many cases, access resources outside of the container or cluster. This could include a legacy API, or CLI access to a database.
The Kubernetes API service acts as the front door to the cluster, and that means it’s exposed on every deployment since it needs to be managed. That’s basically an open door that needs to be protected. There are authentication processes to access this port, but security is lacking because it’s possible to inadvertently expose the API where authentication is not needed. Yikes.
Luckily, most Kubernetes deployments provide authentication for this port.
As containers grow in popularity, there is a growing list of things that enterprise development shops look for. Needed features in container development tools won’t likely be able to catch up with demand anytime soon, and container developers will need to be creative about finding solid solutions in the meantime. That, or wait for the common solutions to show up, which they may not, or if they do, will most likely take longer.
The trick here is to plan out the use of containers for the next several years. Consider what you need, and what you will likely get. The good news is that container standards, such as Kubernetes, are moving pretty fast with releases. The bad news is that they may not directly address your business needs. You have to wait for the code to show up or become clever in how you fill the gaps to build and deploy containers in the meantime.
Expect the fundamentals to be the focus over the next few years, including security, data, storage, networking, etc., with a future focus on advanced distributed architectures, and other things that can now be awkwardly cobbled together.
In other words, it will get better, but never as fast as you’d like. Get used to it.
Interested in exploring more on cloud?