by Kiran Chitturi
Container technology has been around for more than twenty years, but broad use only took hold in the last couple of years. If you have been following the container space, you probably know that although the industry is still maturing, it is being adopted at far greater speeds than even cloud computing.
While container recognition has grown quickly, the technology has not been as robust as virtual machines, who have had a ten-year head start on enterprise adoption. Concerns have centered around security, especially regarding multi-tenancy, access management, and image validation.
Another issue plaguing containers is the lack of standards and best practices for the new tools. Container sizing is not standardized, and it is too easy to build a large, cumbersome container. There have been some promising developments in the standards space with The Open Container Initiative (OCI), Cloud Native Computing Foundation (CNCF) and Moby (open framework from Docker), but a single standard is up for debate. Management of containers at scale can easily become unwieldy, labor-intensive and complex.
The final major issue with the container industry is its players. While Docker has become the defacto standard (and looks to remain that way because of its involvement in the OCI), the management and services space does not have a clear leader and consolidation is widespread.
For container orchestration, Kubernetes has the greatest momentum, gaining a lot of recent market share especially with many big companies' clear acceptance. Google, AWS, Azure, Oracle, VMware, Red Hat and Pivotal are all supporting K8s via the CNCF.
Finding the right fit for your organization is not easy and requires evaluating various aspects of the container ecosystem. Here are five suggestions that should factor into your decision:
- A large organization with legacy operations and development practices in place might want to consider a platform as a service (PaaS), such as Red Hat OpenShift or Pivotal Cloud Foundry. This choice provides a complete solution and allows companies to use a modern platform without having to piece together several solutions. This path may not be feasible for smaller organizations.
- For organizations looking to continue the use of their native development tools, and further extend them into production, Docker's packaged enterprise offeringis worth exploring.
- On the other end of the spectrum, Kubernetes is probably the best choice for an organization with skilled DevOps teams. Kubernetes orchestration is cutting edge, and many of the new services and products coming out in the industry are based on this technology. Keep in mind, that this can be more complex than other options.
- Organizations looking to simply run containers without transitioning to an end-to-end platform should consider an open source offering or framework. Rancher, for example, has flexible components and provides a holistic view of single or multiple environments. Rancher acts as an abstraction layer or platform for operating Docker in production, whether on premises or in the cloud. And it takes advantage of Kubernetes for the orchestration layer. Rancher will require additional management to integrate into other components and is best for small to medium-sized companies.
- Organizations that have fully transitioned to public cloud should consider adopting a container service from one of the dominant public cloud providers.
As you can see, when deciding what container management tooling or service is the best fit, it's important that organizations introspect on their own maturity, goals, staff expertise and the level of vendor-provided support that's expected.
You can also read these suggestions quoted (along with other industry leaders’ thoughts ) in the Tech target article by Alan Earls (The role of container management software in IT ops).