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:
- Service Mesh Performance Management
- Service Mesh Configuration Management
- Configuration best practices
- 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:
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 comparison 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 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.
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.
|Meshery Adapter for Consul||stable|
|Meshery Adapter for Istio||stable|
|Meshery Adapter for Linkerd||stable|
|Meshery Adapter for Network Service Mesh||stable|
|Meshery Adapter for Octarine||stable|
- In-progress service mesh adapters - Service mesh adapters for which community-contributed support has been committed and are currently under development.
|Meshery Adapter for Citrix Service Mesh||beta|
|Meshery Adapter for Kuma||beta|
- Help-wanted service mesh adapters - Service mesh adapters adapters for which we are seeking community-contributed support.
|Meshery Adapter for App Mesh||alpha|
|Meshery Adapter for Traefik Mesh||alpha|
|Meshery Adapter for Open Service Mesh||alpha|
|Meshery adapter for Tanzu Service Mesh||alpha|
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 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.
- O’Reilly OSCON 2020
- O’Reilly Infrastructure & Ops 2020
- InnoTech Dallas 2020
- KubeCon EU 2020
- DockerCon 2020 (deck, video)
- Open Source 101 at Home
- 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
- Solving the Service Mesh Adopter’s Dilemma (deck, event,video)