The Container Wave Arrives
Suppliers are riding it, but how quickly will enterprises follow suit?
- By Dan Kusnetzky
I was pondering an interesting blog post by Equinix's Ryan Mallory in which he suggested that containers are becoming the next "atomic unit" of computing. He pointed out that containers are an approach to create a virtual processing environment that is often lighter weight than using virtual machine software in the same application.
In that article, he used an example provided by an Equinix partner, Big Switch Networks, that pointed out that "Containers also create a much denser computing environment. For example, 25 VMs per system and 40 systems per rack mean that as many as 1,000 VMs could be executing per rack in a data center. Containers, on the other hand, could support up to 10,000 containers in that same rack."
Containers are designed to be multi-platform, offering support across many different operating systems, from Windows to Linux and across many cloud computing environments. This means that it certainly is possible that enterprises and suppliers could select a container-based computing environment as the platform for their next-generation products and services.
A quick survey of the market shows that CoreOS, Dell, IBM, HPE, Microsoft, Oracle, Red Hat, SUSE and many others have moved to offer support for containers in both their operating systems and their cloud computing offerings.
The benefits of moving in that direction are pretty clear. Developers would see the following benefits:
- Applications constructed of components residing in containers can be multi-platform and multi-cloud.
- Applications can be decomposed into services that are lightweight, straightforward to design and implement, and also easy to deploy and manage.
If what we're observing is an actual trend and not just an interesting set of events, the next step is how to orchestrate containers across a cluster of systems so that workloads perform well, offer services that are reliable and highly available, and make it possible to scale processing and other resource usage up and down as conditions require.
Kubernetes is an open source project being used industry-wide as a way to automate deployment, scaling and management of containerized applications. It's the result of development of a joint project between Google and the Linux Foundation; it was seed technology for the Cloud Native Computing Foundation.
Kubernetes is used to group containers that comprise a workload, making it easy for enterprises to manage them. The open source project likes to describe this system as being "planet scale," because Kubernetes clusters can be made to span the globe.
Kubernetes offers the following functions:
- The ability to automatically place containers on different host systems based upon resource requirements.
- If a container fails, it can automatically be restarted. If a node fails, the work it was supporting can automatically be rescheduled. Containers that find themselves experiencing a problem can automatically be killed and/or restarted.
- Work can scale horizontally to take advantage of available processing power in the cluster.
- Kubernetes gives containers their own IP address and a single domain name to facilitate service discovery. This also makes it possible for load balancing to be done to make best use of available resources when the workload increases.
- The software makes it possible to automatically roll out software updates. It can also roll them back if there's a problem.
- It can orchestrate both local and cloud storage.
- It can orchestrate batch processing as well.
The companies mentioned before -- CoreOS, Dell, IBM, HPE, Microsoft, Oracle, Red Hat and SUSE -- along with many others have announced support for Kubernetes, and have incorporated some of their own unique added value into their distributions of the technology. Here are a few examples:
Dan's Take: Will Enterprises Follow the Suppliers?
- CoreOS is offering Tectonic, and enhanced the technology to improve management of Kubernetes clusters.
- IBM's Container Service is based upon Kubernetes and supports services such as Watson and Weather.
- Citrix has enhanced Netscale to support Kubernetes clusters.
- DataCore has enhanced its storage products to accelerate Kubernetes environments.
- Red Hat includes both containers and Kubernetes in its OpenShift platform.
- SUSE delivers Kubernetes as part of its Container as a Service (CaaS) offering, and as part of the SUSE OpenStack Cloud.
- VMware and Microsoft are offering support for Kubernetes clusters as part of the datacenter and cloud-based offerings.
Although the jury's still out, it appears that containers combined with Kubernetes have become part of the portfolios of major hardware, software and services suppliers. Among the questions remaining to be answered is whether enterprises will similarly adopt it and make it central to their next generation computing environments. Stay tuned.
About the Author
Daniel Kusnetzky, a reformed software engineer and product manager, founded Kusnetzky Group LLC in 2006. He's literally written the book on virtualization and often comments on cloud computing, mobility and systems software. He has been a business unit manager at a hardware company and head of corporate marketing and strategy at a software company.