Introducing Meshery

The service mesh management plane adopting, operating and developing on different service meshes. Meshery facilitates learning about functionality and performance of service meshes and incorporates the collection and display of metrics from applications running on or across service meshes. Meshery provides this high-level functionality:

  1. Service Mesh Performance Management
  2. Service Mesh Configuration Management
    • Configuration best practices
  3. Service Mesh Lifecycle Management
  4. Service Mesh Interoperability and Federation
Delivered at Service Mesh Day 2019

What challenges does Meshery solve?

Service mesh management - one or multiple service meshes.

Anytime performance questions are to be answered, they are subjective to the specific workload and infrastructure used for measurement. Given this challenge, the Envoy project, for example, refuses to publish performance data because such tests can be:

  • Involved
  • Misinterpreted

Beyond the need for performance and overhead data under a permutation of different workloads (applications) and types and sizes of infrastructure resources, the need for cross-project, apple-to-apple comparisons are also desired in order to facilitate a comparison of behavioral differences between service meshes and selection of their use. Individual projects shy from publishing test results of other, competing service meshes. An independent, unbiased, credible analysis is needed.

Meshery is intended to be a vendor and project-neutral utility for uniformly benchmarking the performance of service meshes. Between service mesh and proxy projects (and surprisingly, within a single project), a number of different tools and results exist. Meshery allows you to pick an efficient set of tools for your ecosystem by providing performance evaluation and metrics.

  1. By leveraging Meshery you could achieve apples-to-apples performance comparison of service meshes
  2. Track your service mesh performance from release to release.
  3. Understand behavioral differences between service meshes.
  4. Track your application performance from version to version.

Meshery is for Adopters and Operators

Whether making a Day 0 adoption choice or maintaining a Day 2 deployment, Meshery has useful capabilities in either circumstance. Targeted audience for Meshery project would be any technology operators that leverage service mesh in their ecosystem; this includes developers, devops engineers, decision makers, architects, and organizations that rely on microservices platform.

Meshery is for performance management: testing and benchmarking

Meshery helps users weigh the value of their service mesh deployment against the overhead incurred in running a service mesh. Meshery provides statistical analysis of the request latency and throughput seen across various permutations of your workload, infrastructure and service mesh configuration. In addition to request latency and throughput, Meshery also tracks memory and CPU overhead in of the nodes in your cluster. Measure your data plane and control plane against different sets of workloads and infrastructures.

Layer5 Service Mesh Community Establish a performance benchmark and track performance against this baseline as your environment changes over time.

Meshery is for any service mesh

Infrastructure diversity is a reality for any enterprise. Whether you’re running a single service mesh or multiple types of service meshes, you’ll find that Meshery supports your infrastructure diversity (or lack thereof).

  • Available service mesh adapters - Service mesh adapters that Meshery currently supports.
Platform                                          Status
Consul stable
Istio stable
Linkerd stable
Network Service Mesh stable
Octarine stable


  • In-progress service mesh adapters - Service mesh adapters for which community-contributed support has been committed and are currently under development.
Platform                                          Status
Citrix Service Mesh beta


  • Help-wanted service mesh adapters - Service mesh adapters adapters for which we are seeking community-contributed support.
Platform                                          Status
App Mesh alpha
Kuma alpha
Maesh alpha
Tanzu SM alpha

Community

This project is community-built and welcomes collaboration! Fork here on Github

FAQ

Why use Meshery?

  • Because its an open source, vendor neutral projects that facilitates testing across meshes.
  • Because fortio is not packaged into a mesh testing utility, but is only a load-generator unto its own.
  • Because regpatrol is closed source, binary is not released, scripted for one mesh, and is produced by a vendor of that mesh.

Why create Meshery and not use another benchmark tool?

Meshery is purpose built for facilitating benchmarking of service meshes and their workloads. Other benchmark tools are not. There are some other tools used for service mesh benchmarking, like regpatrol. Regpatrol is used by IBM is not open source or available in binary form to use and has the following differences from Meshery:

  • Telemetry - regpatrol sources telemetry from the Mixer Prometheus adapter and uses IBM’s proprietary node agent.
  • Meshery sources from the Mixer Prometheus adapter and uses Prometheus node-exporter.
  • Traffic type - regpatrol uses jmeter, which can parse responses and perform functional tests.
  • Meshery is using fortio, which is for load-gen and perf-testing only.

Resources

Meshery Presentations

Other Resources