Kubernetes is no longer a technology under consideration — it is in mainstream adoption and an industry-standard as a container orchestration platform. Kubernetes helps to focus on building business-centric capabilities by providing a standard platform deployable to the public or hybrid cloud environment.
Gartner predicts that by 2022, more than 75% of global organizations will be running containerized applications in production, up from less than 30% today.
With the rise of Kubernetes as a standard platform, the industry is evolving with a new set of challenges in terms of applying it at an enterprise level. As the larger enterprise have a slower adoption rate of cloud-native technologies because of legacy reasons, they have an advantage of learning from the aggressive players already running large-scale Kubernetes in production. This article highlights 5 lessons learned from applying Kubernetes in the enterprise context for successful rollout and implementation.
#1 — Align Stakeholders For Applying Kubernetes At The Enterprise Level
What comes easy won’t last, what lasts won’t come easy.
While it is easier for a technologist to understand the benefits and nuances of Kubernetes at scale, you need to ensure the relevant stakeholders also understand the business and technical benefits of it. Key guidelines are:
- Top-down, Bottom-up Approach: Ensure not only people at the CxO level are aligned, but also LOB architects and managers understand the significance and can resonate with the problems at hand.
- No Silver Bullet: Don’t try to sell the same idea in all organizations — understand the context and accordingly build the right Kubernetes strategy as per the organizational need (for example — if an organization does not have the right skill set to manage a complex Kubernetes setup, a Managed Kubernetes or Serverless Strategy is a better fit)
#2 — Formulate Enterprise Kubernetes Strategy
Rowing harder does not help if the boat is headed in the wrong direction.
While the strategy might sound like heavyweight terminology, the majority of times it fails as we don’t visualize the big picture. While it is contextual to what goes into the formulation of strategy, key guidelines are to:
- Do The Gap Analysis: Understand the current capabilities and desired capabilities in terms of building the Kubernetes platform at scale. Gap Analysis helps to build required capabilities and also helps to establish the incremental path towards achieving the same.
- Understand Where You Are in Architecture Continuum: Based on the above analysis, you will be visualizing the current state of where you understand in terms of Kubernetes strategy. An illustrative example below:
- Establish Kubernetes Deployment Strategy: Based on the organization context, establish the path which you are planning to take towards Kubernetes deployment. An illustrative decision tree below —
#3 — Build The Developer Platform Using Kubernetes
Things that are complex are not useful, Things that are useful are not simple.
As developers are the primary consumers of the development platform, building a developer platform using Kubernetes is a key enabler. It helps to ensure that there is an enterprise-level consistency in terms of handling capabilities like security, logging, monitoring, tracing, etc. as outlined below:
#4 — Kubernetes Governance At Scale
Efficiency is doing things right; effectiveness is doing the right things.
While governance gets interpreted as a hindrance to flexibility, the balance is what we need particularly in an enterprise. Foster creativity but keeping things in check is a key mantra for a successful Kubernetes implementation.
Providing technical enablers and foundational capabilities (diagram below) as part of building the developer platform helps to ensure that certain aspects do not require any manual governance. Additionally, automation plays a major role to avoid any manual intervention — for example, using OpenShift as a self-service platform, Helm as a package manager, Kubespray for deployment flexibility, Kubescape for automated Kubernetes security testing, etc.
#5 —Continuous Learning Goes The Long Way
Stay Hungry, Stay Foolish
Finally, it is a continuous process to learn about the innovation and exploration happening in the Kubernetes ecosystem. CNCF landscape is a great starting point to be aware of the emerging tools and technologies. Additionally, creating the culture of building the skill-set within the team for Kubernetes and related technologies help to experiment and troubleshoot as needed.
Additionally, based on the learning culture — Establishing a Platform Team — helps to consolidate the learning, best practices, and guidelines into accelerators. The idea is not the centralize the knowledge but to act as an enabler in the enterprise for functional teams as depicted below:
To conclude, as it goes — “Rome wasn’t built in a day” — it takes time to implement Kubernetes in an enterprise but applying the experiences from industry practitioners help to make the path easier. Hopefully these 5 lessons learned from applying Kubernetes In the Enterprise will help you in your journey towards Kubernetes adoption at scale.
Keep sharing your learning and engage with the Cloud-native community to learn more!