Seven years ago I started a ClusterOps SIG to build a Kubernetes community for operators. While the underlying network, compute and storage components now are stable, running infrastructure has (thankfully) changed over that time. So all these years later, has Kubernetes reshaped ops?
The history of Kubernetes and ops
Some say Kubernetes is driving a new wave of thinking in operations. It’s hard to say if that’s the case, but we do know Kubernetes adoption is growing. So it is imperative for infrastructure-focused IT operations people to embrace cloud-native DevOps approaches.
Infrastructure as Code (IaC) is what provides the framework to treat automation in a much more code-like, systemic way. DevOps approaches are encapsulated in the practice of IaC.
The following concepts are five of the ways Kubernetes has reshaped ops. I’ve also included Kubernetes-related terms you may hear when discussing each concept.
1. Declarative
Declarative means the focus is on declaring the target state of a system and expecting the automation to pull the system into that configuration. If the target changes, the system should apply the changes. This ensures we build automation that is goal oriented instead of a list of sequential steps.
This is very different from proving all the configuration upfront and pushing the process along. For traditional operations folk, this means automating backwards.
Related terms: reconciler pattern, YAML, gitops, target state
2. Immutable
An immutable system is one that is always in a known and repeatable state. This means operators must avoid changing, updating and patching (aka mutating) systems. Instead, they should perform complete create and destroy cycles from source artifacts. This ensures systems are always in a known and repeatable state.
The ability to definitively identify what is deployed and eliminate human adjustments to systems is critical to creating immutable systems. This ability also makes it easier to duplicate systems and replicate setups.
Related Terms: artifacts, sha, git, images, containers
3. API-driven
An API-driven environment means there is a comprehensive computer-to-computer communication path for all systems. API-driven designs assume that interconnection with other systems is the first priority because people should not be in the middle of the process. This can make it more cumbersome for human operators in the short term because the APIs do not focus on UX and click-by-click work.
Related Terms: self-service, integration, REST, CLI
4. Pipelines
Pipelines connect together multiple tools and services into a seamless process chain. For this to succeed, the pipeline framework must be able to capture and share data and state between the various tools in use.
Pipelines provide a degree of tool abstraction so that teams can replace, share and migrate between duplicative utilities. Pipelines are one of the best ways to create fast automation silo-busting wins that can be grown over time since they can be implemented in small steps.
Related Terms: workflow, life-cycle, CI/CD, Shift-Left
5. Service oriented
Service oriented means that the concepts above are used to remove toil from managing infrastructure. Providing a service interface is more than just making the typical on/off controls available via an API. A robust service oriented approach delivers and maintains infrastructure that is ready-to-run and self-maintaining.
It also encourages more dynamic consumption models: for example, creating, resizing and destroying fully built clusters on request eliminates the friction of having to allocate, configure and maintain the underlying infrastructure. Our goal for service oriented infrastructure frees the end users from management (which means that you, the operator, needs to have tools and visibility to do this on for them).
Related Terms: CRDs, microservices, SaaS
Real Talk
If you have been building systems for a while but are new to the Kubernetes, we know the vocabulary can be confusing. That’s why we put together this Kubernetes Ops Bingo Card. Use it at Kubecon to get your bearings!
If these IaC concepts excite you, check out RackN! We’ve been building platforms and tooling for cloud-native operators for nearly a decade. Our platform, Digital Rebar, delivers an unmatched IaC approach for Infrastructure Pipelines and Orchestration.
Photo by Spike Cuizon