BrandPosts are written and edited by members of our sponsor community. BrandPosts create an opportunity for an individual sponsor to provide insight and commentary from their point-of-view directly to our audience. The editorial team does not participate in the writing or editing of BrandPosts.
By Matt Maccaux
In 2016 Kubernetes (K8s) went mainstream with version 1.2, finally heralded as ready for the enterprise – instead of just a science project for software development teams. Fast-forward to 2020, and Kubernetes has gone from enterprise deployable to enterprise standard, as organizations confidently build capabilities and align strategies based on the Kubernetes framework.
Over the years. substantial engineering work has gone into the solution to ease the development, deployment, management, and monitoring of applications using Kubernetes. Yet, as I speak to organizations with significant experience using the framework, I hear a common refrain: “It feels like we have a brand-new framework, but we’re doing things the same old way, which isn’t making anything better.”
Modern frameworks require modern processes
What’s happening to Kubernetes deployments that make people feel this way?
The problem is we are attempting to use an ultra-modern framework like Kubernetes to streamline and optimize the development and deployment of applications, but without changing our operational processes. This problem has doomed 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 initiatives 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 I am referring to.
The original Ops practice brings 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.
Builds on DevOps but allows deployments that are orders of magnitude larger and more complex due to microservices-based applications. It also takes an approach that uses a single source of truth for building environments and deploying applications.
Makes security a first-class citizen in the development process, sharing the responsibility of building and deploying secure applications across the entire software development lifecycle.
Extends 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.
DevOps + ITOps in the cloud, allows for a highly abstracted environment with a different consumption and billing model.
Uses machine-generated data to automate the detection and resolution of IT-centric issues.
Optimizes lifecycle data from the moment it is generated to how it is processed, transformed, utilized, retained, and destroyed. This Ops is also wrapped in governance processes dictated by laws/regulations and enforced by the organization.
Accelerates the operationalization of data science models through interactions between data scientists, software engineers, operations, and reporting teams.
Table 1. Major Ops and their definitions
K8sOps brings best practices of *Ops to Kubernetes
As you can see, all 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 – all while ensuring the full lifecycle of those applications includes stateful application deployments connecting to external data sources. And, it does so in a declarative manner for a controlled and easy-to-manage way.
The challenge with Kubernetes is not that it is too difficult (although it does have a steep learning curve). Instead, the problem is that once you’ve gotten the hang of it, things can easily spiral 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 concept 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 those things easier to do; yet, it is K8sOps that optimizes and streamlines the processes that allows for true enterprise scale.
Get the most out of Kubernetes with K8sOps
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, look at where the gaps are and optimize 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; it’s the surrounding sub-optimal processes.
As Global Field CTO for HPE Ezmeral software, Matt brings deep subject-matter expertise in big data analytics and data science, machine learning, application development & modernization, and IoT as well as cloud, virtualization, and containerization technologies.