How Layer5 Tries to Make Kubernetes and Service Mesh Developer-Friendly
When a project grows to a dozen microservices, infrastructure management turns into chaos. Developers write code, operations struggles to make sense of manifests, and when failures happen, everyone passes the blame in circles. A common situation, but not a pleasant one.
At some point, I came across the Layer5 repository. Essentially, it's the flagship project of an organization that develops a whole suite of open-source utilities for working with Kubernetes and service meshes. Their main idea is to make infrastructure visible and give developers visual control over it without the need to manually rewrite hundreds of lines of YAML.
What's Included in the Project
The Layer5 repository serves as a showcase and hub for several independent tools. Each one addresses a specific task in the infrastructure stack.
Meshery
This is a management dashboard for Kubernetes and service meshes like Istio, Linkerd, or Consul. The utility can connect to clusters, read the current topology, validate configurations against best practices, and test network performance.
Kanvas
A visual infrastructure editor. Instead of editing manifests in the terminal, you build your architecture on an interactive canvas. The diagram syncs with the cluster in real time, so changes are immediately visible to the entire team.
Nighthawk
A load testing tool for Layer 7 of the OSI model (HTTP, HTTPS, HTTP/2). It was written in C++ as a load generator for Envoy, and the Layer5 team integrated it into their latency and throughput testing scenarios.
Cloud Native Catalog and Patterns
A catalog of ready-made architectural patterns for Kubernetes. If you need to set up a canary release or split traffic between service versions, you can use a proven template from the catalog instead of reinventing the wheel.
Service Mesh Performance and Sistent
The SMP specification standardizes the collection of service mesh performance metrics, so that test results across different environments can be compared correctly. And Sistent is their own design system and React component library, which all of the company's product web interfaces are built on.
How It Works Under the Hood
Most of the project's services are written in Go and JavaScript. For cluster integration, Meshery Operator is used, which gets installed inside Kubernetes and runs the MeshSync component.
MeshSync listens to Kubernetes API events and forwards resource state to the Meshery server. The whole stack operates under the Apache 2.0 license, so the code is fully open for modification and local deployment.
You can install and launch the Meshery CLI utility on your local machine with a single command:
curl -L https://meshery.io/install | PLATFORM=kubernetes bash -
mesheryctl system start
After startup, a local web interface opens where you can select the desired Service Mesh adapter, connect an existing kubeconfig, and start profiling traffic.
Practical Scenarios
In which situations does the Layer5 toolkit actually save time:
- Comparing Service Mesh solutions before adoption. If your team is choosing between Istio and Linkerd, the built-in benchmarks based on Nighthawk help run identical synthetic loads and compare memory consumption with network latency.
- Onboarding new developers. The visual map in Kanvas helps newcomers understand how services are connected faster, without reading outdated diagrams in Confluence.
- Configuration audits. The pattern catalog suggests where resource limits are missing in manifests or where mTLS security policies are misconfigured.
- Training for cloud technologies. The built-in Layer5 Academy platform contains interactive exercises where you can practice safely without risking taking down a production cluster.
Is It Worth Trying
Layer5 turned out to be a substantial project with a bunch of subprojects. On one hand, due to the abundance of entities, the learning curve may seem steep: you need to figure out where Meshery ends and Kanvas begins. On the other hand, if your team has hit a wall with the complexities of maintaining microservices on Kubernetes, the visual approach to architecture will remove some of the routine work.
The easiest way to get started is with mesheryctl on a local Minikube or k3s. This way you'll immediately see how visualization simplifies diagnosing network problems in your stack.
Related projects