Many organizations are now leveraging containers instead of virtual machines (VMs) for new digital initiatives. Modern software development has shifted from updating monolithic applications to refactoring or creating new apps with modular, loosely coupled microservices running as containers. In order for these containerized application architectures to run successfully in production, they are typically orchestrated by Kubernetes (K8s).
Selecting where to run these containerized apps with a version of K8s depends on different factors and can significantly impact the business value of a particular initiative. Cost, time to value, security, and end user experience all play a role in the business value of a solution. Consider running containerization in each of the following environments and why a hybrid cloud platform might be the best choice for enterprise containerization:
- Public Cloud
- Bare Metal
- Hybrid Cloud
Containerization in Public Clouds
Running containerized applications in public cloud environments provides an easy way to get started without any upfront investment in infrastructure. Underlying technologies and compute power that runs the apps can be subscribed to for a monthly subscription fee and consumed on demand if necessary. There is no worry about managing infrastructure that you have to deploy, manage and secure whether it is bare metal or a virtualization technology.
Public cloud deployments can be risky. A spike in demand or subscribing to additional storage or load balancing services will easily rack up a bill that is unexpectedly high. Applications built in public clouds run according to whatever approach is decided by the developer. As an organization grows, DevOps teams and developers will start having different ways of deploying the same application unless the processes that have been designed are more standardized across the organization. Anyone can go to an open source distribution of an application and start using it as they see fit.
Unplanned expenses and a lack of control by central IT will cause IT leaders to rethink how they want to go to market with new digital initiatives. Scenarios where “repatriating” or even developing new digital services will be better served if back on-premises. Bare metal alternatives will also be considered with the perception that containers could run more efficiently.
Containerization on Bare Metal
A bare-metal system for running containers does not have the added layer of hypervisor technology. At first, this might be perceived as more efficient. Bare metal means that the containerization platform is tied to a physical server host operating system instead of the hypervisor operating system that sits on top of the bare metal infrastructure.
Bare metal options are available on-premises, from a service provider, or in a public cloud. They typically run specialized workloads that require ultra-low latency and more allocated memory. The K8s distribution can be “bring-your-own” as the public cloud native K8s solution or whatever distribution might be available might not necessarily be the best fit for the manually configured bare metal settings in this environment. Containerization that requires networking, as well as persistent storage outside the bare metal environment, might also pose specific challenges.
CapEx or OpEx requirements can also influence the decision to host containerization on bare metal. Investing in a solution on-premises will take more planning and sizing considerations so that the speed of getting the resulting digital value of containerization in production will most likely take longer.
Hybrid Cloud Containerization Platform
Instead of public clouds or bare metal, consider a containerization platform as a hybrid cloud platform that has on-premises components as well as access to one or more public clouds as needed. Containerization in production must scale to meet new demands for performance while not exposing unnecessary risks of downtime, availability and security. What better way to manage all of this than from one’s own data center?
The evolution of cloud native containerization is also a factor. At first, containerized apps were envisioned to be stateless without the need to consider the scale and cost of persistent storage. The goal was to share reusable code across many different environments if necessary. That need has become less important as organizations shift their mission-critical apps to containerized architectures. Instead, stateful containerized apps must access volumes of data services from dedicated data sources. The portability of containers takes a back seat to the critical need for stateful apps to access specific data sources in production.
Having unified data available for stateful containerized apps that can scale can be achieved with a containerization platform that spans private data center storage and public clouds as needed. Features of a hybrid cloud containerization platform include:
- Easy for central IT to govern and manage but easy for developers and DevOps teams to access and use with APIs and command-line access.
- Access to standardized DevOps tools and resources across the organization.
- Integrates with existing investments in infrastructure and virtualization technologies.
- Provides enterprise backup and disaster recovery capabilities.
Before going to a public cloud or a “do-it-yourself” bare-metal approach, consider that a hybrid cloud containerization platform running on modern hyperconverged infrastructure (HCI) provides the benefits of both as well as other enterprise features.
Feature image via Pixabay.