As the Kubernetes ecosystem evolves, analysts are starting to talk about the “second wave” of cloud-native computing. A recent piece in Forbes highlights the increasing emphasis on cloud toolchains: “In the second wave of adoption … most companies find they have a swelling portfolio of cloud tools … and they need a plan to help contend with fragmented cloud environments and accommodate rapid cloud growth.”
I’d like to add to that “second wave” sentiment. We’ve been making a case for containers and Kubernetes for some time now, and adoption is growing at a rapid rate. But as Kubernetes continues to mature, companies realize that the complexity of spinning up their first clusters was only the tip of the iceberg. Kubernetes clusters require constant maintenance and oversight; while applications running inside Kubernetes can be individually trusted to start, scale and stop healthily, your cluster as a whole is an ever-evolving ecosystem.
Kubernetes Open Source Tools
To alleviate the burden of maintaining, monitoring and deploying to an active Kubernetes cluster, DevOps teams increasingly are exploring products, tools and features that help with day-two operations. Below are some of the “second wave” products that decision-makers should be familiar with. I’ve put them into three categories:
Kubernetes management tools provide a birds-eye view into your cluster, as well as a point-and-click interface for maintenance and debugging. While your typical DevOps engineer will be comfortable just using kubectl on the command line, managers and decision-makers often want a higher level, more digestible user interface.
Rancher is one of the more common management tools out there. It does a great job of easing the learning curve when getting up and running with Kubernetes for the first time and is ideal for small engineering teams that are comfortable with an opinionated setup. Rancher can run on top of cloud providers’ Kubernetes services (such as Google’s GKE and Amazon’s EKS) and is a great way to unify cluster management across cloud providers.
Visibility and auditing tools are generally focused on a single need, such as security or cost management. They give an in-depth insight into the health of your cluster and will recommend ways to make things more secure, scalable and efficient.
For example, Polaris is an open source project that validates and enforces best practices in workload configuration. Polaris runs nearly 20 separate checks to ensure workloads are configured using a set of industry-standard best practices—patterns we’ve developed after managing hundreds of deployments. It presents a built-in dashboard that scores your cluster’s overall health and provides detailed reports for each workload. This helps engineers address issues before they turn into outages and security breaches.
Heptio’s Sonobuoy is another great auditing tool. Sonobuoy runs end-to-end conformance tests to help discover and diagnose cluster-level issues (rather than issues with individual workloads). This way, you can be sure that your particular Kubernetes distribution adheres to best practices.
Developer Experience (DX)
One of the hardest pieces of the Kubernetes puzzle is figuring out the handoff between development and operations. The typical developer doesn’t want to spend time thinking about Kubernetes internals; they just want to push their code and see it running in production. Kubernetes development tools aim to give your developers a simpler, safer interface to the Kubernetes API.
A great example is Rio, an open source microPaaS that can be layered on top of any standard Kubernetes cluster. With Rio, developers can easily deploy services to Kubernetes and automatically get continuous delivery, DNS, HTTPS, routing, monitoring, autoscaling, canary deployments, git-triggered builds and more.
Rio itself is built on knative, which provides a more fundamental set of developer-friendly primitives for creating and managing Kubernetes deployments.
Kubernetes and the Second Wave
As day-two operations become increasingly important to Kubernetes operators, finding products and software that address each of these core areas will be critical. Management platforms will give leadership a stronger birds-eye view of your clusters, auditing dashboards will ensure your clusters remain healthy and DX tools will keep your developers happy and productive. Add some smart products and software to your Kubernetes toolchain and choose the right partners to help you ride the “second wave” of cloud-native computing, and you’ll keep your clusters sailing smoothly.