A multi-service mesh management plane adopting, operating and developing on different service meshes. Meshery faciliates learning about functionality and performance of service meshes and incorporates collection and display of metrics from applications running on or across service meshes. Meshery provides this high-level functionality:
- Performance Benchmarking
- Service Mesh Lifecycle Management
- Service Mesh Interoperability and Federation
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 1) involved and 2) 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.
- By leveraging Meshery you could achieve apples-to-apples performance comparision of service meshes
- Track your service mesh performance from release to release.
- Understand behavioral differences between service meshes.
- 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 testing and benchmarking
Meshery helps users weigh the value of their service mesh dedployment 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.
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.
|Network Service Mesh||stable|
- In-progress service mesh adapters - Service mesh adapters for which community-contributed support has been committed and are currently under development.
|Citrix Service Mesh||beta|
- Help-wanted service mesh adapters - Service mesh adapters adapters for which we are seeking community-contributed support.
This project is community-built and welcomes collaboration! Fork here on Github
- Join weekly community meeting Fridays from 10am to 11am Central.
- Access the community drive (request access).
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 sourcej, 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 factilitating 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 Mixer Prometheus adapter and uses IBM’s proprietary node agent.
- Meshery sources from 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.
- Docker Captains Roundtable 2020
- Cloud Native Austin 2020
- NSMCon 2019 talk (video, deck)
- Service Mesh Day 2019
- DockerCon 2019 Open Source Summit
- KubeCon EU 2019 (video, deck)
- KubeCon EU 2019 Istio Founders Meetup
- Cloud Native Rejekts EU 2019
- Container World 2019