The following is the fourth blog in a series about software containers and Kubernetes, and their importance in modern application delivery.
In our last blog in this series, we examined the importance of utiziling a container management platform. In this blog, we’ll go further in depth on the multiple options you have when adopting a container management platform, and how to choose which is right for your business.
Open source container platforms
This is the do-it-yourself option for container platforms. Kubernetes is a rapidly moving open source project that can be downloaded, installed, and run on-premises or on cloud infrastructure. Leveraging the pure open source project comes with some obvious risks, including:
- Supporting and maintaining it
- Doing all the work to integrate it into the IT environment
- Configuring additional services like networking, storage, registries, logging, metrics, etc.
Accomplishing all of this requires significant investment and skills from internal resources, as well as an ongoing platform development team to stay on top of emerging features and ongoing security risks. Taking this path is betting that one’s organization can build and maintain a better container platform than the software vendors who are investing large sums of money to do the same.
Examples of open source container platforms include:
- Docker Swarm
Many different public cloud vendors provide a managed service on which to run containers. These services provide rapid cluster provisioning options and leave many of the cluster management and host operating system tasks to the cloud provider. They also provide additional services like enterprise-grade security, integrated CI/CD tooling, and are generally Kubernetes compliant, which means applications managed on their platforms could run anywhere Kubernetes runs.
- Google Kubernetes Engine (GKE)
- Amazon Kubernetes Service (EKS)
- Azure Kubernetes Services (AKS)
- IBM Cloud Kubernetes Services
Cloud providers are also starting to provide versions of these managed offerings that can run on any cloud or within an organization’s own data center. Examples include Anthos from Google Cloud and Kubernetes on Azure Stack. At the time of writing, these products are still early in their evolution, but are anticipated to be competitive solutions for customers looking for maximum flexibility on where to run their containers.
Enterprise container platforms
The last option is to adopt an enterprise container platform that provides pre-integrated components and value-add services to support the developer and operations teams leveraging the platform. These products can abstract away much of the grunt work around building containers, platform installation and setup, and configuring integrations, greatly simplifying operations overall. These options are able to run anywhere for the most part: on-premises, public cloud, or both.
Enterprise container platforms include integrated components required to build and run microservices that aren’t present in the open source Kubernetes project, like a container registry, security, logging, service mesh, and telemetry services. They may also include CI/CD and deployment tools to support container image pipelines. In addition, most provide a catalog of certified middleware, data, and other services.
Typical examples in this category of platforms include:
- Red Hat OpenShift Container Platform
- Pivotal Platform/Kubernetes Services (PKS)
- IBM Cloud Private
- Docker Enterprise Edition
How to choose a container management platform
While open source community projects have driven much of the innovation around containers, many companies lack the skillsets required to implement containers by strictly leveraging an open source platform like Kubernetes. In addition, the complexity around managing the rapid stream of updates and security patches is significant and businesses still need to dedicate considerable resources to keep their systems updated and secure.
Companies often need help from partners and vendors to set up and operate the platforms that containers operate on. Products like Red Hat OpenShift and Pivotal Platform provide all the key functionality, integration, and roadmaps needed for companies to implement a container platform. This allows customers to have a stable and secure operating environment while also being able to tap into the rapid pace of innovation.
The cost, management requirements, and needed skillsets are different for each of the options. The weight of these items can vary based upon the vendors, cloud provider, and more. Organizations that lack the experience and skillsets to manage a container environment may benefit from a vendor-supported option. Larger IT departments with a greater range of skills may be fine with a native open source option.
Coming to the correct decision requires a complete understanding of the key drivers around business needs, skillsets, expense drivers, regulatory requirements, and other key factors that may drive the company direction, as well as the options themselves.
Either click here or fill out the form below to learn more about containers and prepare your business to develop an effective container strategy.