HPE Ezmeral: Uncut
1753654 Members
5752 Online
108798 Solutions
New Article
MattMaccaux

Struggling with Kubernetes? You need K8sOps

As in many things in technology, it isn’t the technology that tends to hold organizations back from achieving efficient scale, but rather the surrounding sub-optimal processes.

800x533 HPE20200507036_16x9_1600_0_72_RGB.jpg

Back in 2016, Kubernetes (K8s) went mainstream with version 1.2 and became widely accepted as the framework that was finally “enterprise deployable” instead of just a science project for software development teams. Fast-forward to 2020 and Kubernetes has gone from “enterprise deployable” to “enterprise standard”, meaning that organizations are confidently building capabilities and aligning strategies based on the Kubernetes framework.  Over the past 4 years a lot of engineering work has gone into the solution over that time to ease the development, deployment, management, and monitoring of applications using Kubernetes. But as I speak to organizations that have a year or more of experience with the framework, who have graduated past the typical ‘this is hard to scale’ and ‘we don’t have the skills’ -  the most common thing I hear is, “it feels like we have a brand new framework but are doing things the same as we always have, which isn’t making things any better.”

Modern frameworks require modern processes

What does that mean? It means that attempting to use an ultra-modern framework like Kubernetes to streamline and optimize the development and deployment of applications, but without changing the operational processes, has doomed those organizations to K8s sprawl, or even worse failure. What those organizations need is K8sOps – an operational approach that builds on the best practices of other major “Ops” and takes into account the unique requirements of running a Kubernetes platform. Before we dig in, let’s take a quick look at those other “Ops” and the things K8sOps builds upon:

DevOps

The original Ops practice, bringing agile development and infrastructure as code into the mainstream to accelerate the velocity of software development by focusing on high-quality code and automation of the environment.

GitOps

Building on DevOps but taking into account deployments that are orders of magnitude larger and more complex due to microservices-based applications. And taking an approach that uses a single source of truth for building environments and deploying applications.

DevSecOps

Making security a first-class citizen in the development process, sharing the responsibility of building and deploying secure applications across the entire software development lifecycle.

ITOps

Extending the automation in DevOps to the entire data center, focusing on the automated orchestration of IT-centric processes for deploying, monitoring, and maintaining physical and virtual infrastructure.

CloudOps

DevOps + ITOps in the cloud, taking into account a highly abstracted environment with a different consumption and billing model.

AIOps

Using machine-generated data to automate the detection and resolution of IT-centric issues.

DataOps

Optimization of the lifecycle of data from the moment it is generated to how it is processed, transformed, utilized, retained, and destroyed wrapped in governance processes dictated by laws/regulations and enforced by the organization.

MLOps

Acceleration of the operationalization of Data Science models through interactions between Data Scientists, Software Engineers, Operations, and Reporting teams.

Table 1. Major "Ops" and their definitions

Figure 1. K8sOps – an operational approach that builds on the best practices of other major “Ops” and takes into account the unique requirements of running a Kubernetes platform.Figure 1. K8sOps – an operational approach that builds on the best practices of other major “Ops” and takes into account the unique requirements of running a Kubernetes platform.

K8sOps brings best practices of *Ops to Kubernetes

As you can see, all of these Ops are a blend of technology and process and many of these Ops extend or borrow concepts from each other. K8sOps is no different. K8sOps builds on the core principles of DevOps and GitOps for securely developing, testing, and deploying high-quality code in a highly automated manner.  It does this across tens of thousands of environments from edge-to-core-to-cloud while ensuring that the full lifecycle of those applications includes stateful application deployments connecting to external data sources and doing so in a declarative manner for a controlled and easy-to-manage way. That is a mouthful; now imagine if we didn’t take all of those things into consideration and attempted to stitch all of these things together piecemeal!

The challenge with Kubernetes is not that it is too difficult (although there is somewhat of a steep learning curve), but rather that once you’ve gotten the hang of it, things can easily get out of control. Because these applications are portable, it is tempting to think that we can simply lift and shift applications from one environment to another. Although that is technically true, the orchestration of that application’s lifecycle depends on the environment it is deployed into, the connectivity of data (including the lifecycle of the data), and the security requirements for that application accessing that data in that environment. Kubernetes makes all of those things easier to do and it is K8sOps that optimizes and streamlines the processes that allows for true enterprise scale.

If your organization has some experience with Kubernetes but is starting to feel the pain of scaling beyond the initial deployments, I’d urge you to pause and inspect your operational processes. Are you following Dev, Git, and DevSecOps best practices? How automated are your IT and Cloud operations? Is there a data governance practice supporting the Operationalization of Data Science models? If so, you are well on your way to maturing those operational practices into K8sOps. If not, I’d recommend taking a look at where the gaps are and formulating a plan that optimizes the processes in those various areas. As in many things in technology, it isn’t the technology that tends to hold organizations back from achieving efficient scale, but rather the surrounding sub-optimal processes.

To hear more on this topic, check out my HPE Discover Virtual Experience on-demand session: kubectl get *Ops.

Featured articles:

 

I’d also love to hear from you. How far along this journey are you? Have you hit roadblocks or developed best practices? Reach out to me in the comments section below to share/discuss this topic!

 Matt Maccaux

Field CTO, HPE Ezmeral Software

www.hpe.com/us/en/ezmeral

0 Kudos
About the Author

MattMaccaux

As Global Field CTO for HPE enterprise software solutions, Matt brings deep subject-matter expertise in big data analytics and data science, machine learning, blockchain, and IoT as well as cloud, virtualization, and containerization technologies.