- What is Meshery
- What challenges does Meshery solve?
- Meshery is for Adopters and Operators
- Meshery approach to provide performance Metrics around Service Meshes
- Supported Service Meshes
What is Meshery
A service mesh playground to faciliate learning about functionality and performance of different service meshes. Meshery incorporates the collection and display of metrics from applications running in the playground. Meshery Provides these features below as part of it’s playground.
- the user interface to authenticate users.
- accepts and maintains the Kubernetes cluster config and context.
- enables users to generate load against their applications.
- collects the results of the performance tests from its load generator (Fortio) and stores in the cloud for historical viewing.
- interfaces with the Meshery adapters dynamically and enables users to play with service mesh.
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 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 approach to provide performance Metrics around Service Meshes
- Identify permutations of workloads, infrastructure types, and measurements to use for:
- Data plane testing
- Control plane testing.
- Against a fixed set of:
Supported Service Meshes
Available service mesh adapters - Service mesh adapters that Meshery currently supports:
In-progress service mesh adapters - Service mesh adapters for which community-contributed support has been committed and are currently under development:
Help-wanted service mesh adapters - Service mesh adapters adapters for which we are seeking community-contributed support:
- App Mesh
This project is community-built and welcomes collaboration! Fork here on Github
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.