How to Manage Enterprise-wide Containerization
How to Manage Enterprise-wide Containerization
Containerization provides a consistent way to package application components and their dependencies into a single object that can run in any environment. Containers provide the flexibility needed for scaling applications and building workflows in hybrid on-premise and cloud environments. But with numerous containers deployed throughout your organization, you may start to feel that you have too much of a good thing. That's when an Enterprise Container Management (ECM) tool becomes an essential part of your IT strategy. Kubernetes is the standard for open-source, cloud container orchestration, providing a platform for automating deployment and allowing large numbers of containers across multiple clusters of hosts to work together. Originally developed by Google and now managed by the Cloud Native Computing Foundation (CNCF), it reduces your operational burdens and the time and perils of putting new software into production.
Building Your Strategy
- Conduct an audit of your current containerization usage
- Understand your drivers for containerization
- Document the reasons for central management of containers
- Identify your internal resources and blockers to adoption
- Consider central versus decentralized ownership and hosted versus in-house management
Don't be surprised if you're using dozens of clusters across public clouds and company data centers. Any team using Amazon Web Services (AWS), Google Cloud Platform (CNP), or Microsoft Azure can provision a Kubernetes cluster (a set of nodes that run a containerized application) in minutes. Start by identifying what's at play in your organization…and why.
For Kubernetes and containers to be the primary platform for running applications across any infrastructure, IT managers will need to collaborate with development and operations (DevOps) to develop a plan and strategy that meets the needs of both groups. Prioritize your goals for Kubernetes by deciding whether the primary driver is to reduce infrastructure costs or to accelerate innovation. Both, right? Lay the groundwork to easily provision and manage multiple Kubernetes clusters running in many different places. Establish a foundation for flexibility and the ability to take advantage of the advanced tooling that comes with Kubernetes, including new databases big data tools, artificial intelligence (AI), and analytics.
Here's your first requirement. Your central IT department is tasked with ensuring compliance with your organization's policies across the technology environment. No surprise, security is the highest concern—you don't want deployed clusters that are left unpatched and unmanaged. And to manage these clusters, you need to identify owners and establish access and permission roles. Don't forget about storage capacity—Kubernetes namespaces can be used to provide shared access to large clusters of infrastructure, segment cluster resources, and define usage quotas and resource limits.
As you perform your enterprise audit, be on the lookout for individuals who already have expertise in containerization. These early adopters will be critical in adoption and should be represented as you develop your strategy. They will help validate your approach, avoid oversimplification, and ensure you aren't creating too many constraints to adoption.
Two teams that often lead Kubernetes strategy are the Shared Services team, responsible for supporting developers and DevOps, and the central IT team, responsible for all computing platforms across the organization. Regardless of who owns your strategy, one of the critical concerns is how much standardization is possible without impacting the flexibility for innovative uses of the technology. You'll ask similar questions when if you consider a hosted, managed ECM. Is it a shared workspace or dedicated to your organization? Can you move off the platform if your requirements change down the road?
Leveraging the flexibility in the Kubernetes platform is essential to delivering value. Central IT will need visibility into all provisioned clusters. At the same time, DevOps teams should not be forced into using a set of preapproved clusters in a specified way, unless you establish policies for exceptions and customization. You tackled these same concerns when you first moved to the cloud. Containerization and Kubernetes are the next phase in a process that started with the emergence of visualization and expanded with cloud computing.
For a more detailed analysis, download our white paper, "How to Build an Enterprise Kubernetes Strategy: A Definitive Guide for Government IT Leaders," or contact Rancher Government Solutions.