Project 1: SMI Conformance Testing
Description:
Ensure that a service mesh is properly configured and that its behavior conforms to official SMI specifications. Conformance consists of both capabilities and compliance status as outlined in the design specification.
Expected outcomes:
- Automated framework to test conformance of service meshes to the SMI spec.
- Published results of SMI capability and compliance checks.
- Recommended Skills: Golang, Kubernetes
- Expected project size: medium (~175 hour project)
- Mentors: Lee Calcote, Prateek Sahu, Kanishkar J
- Issue: https://github.com/servicemeshinterface/smi-spec/issues/70
Project 2: Distributed Load Testing of Service Meshes
Description:
Many performance benchmarks are limited to single instance load generation (single pod load generator). This limits the amount of traffic that can be generated to the output of a single machine running in or out of a cluster. Overcoming this limitation would allow for more flexible and robust testing. Distributed load testing in parallel poses a challenge when merging results without losing the precision needed to gain insight into the high tail percentiles. Use Meshery’s interface for supporting different load generators (a point of extensibility) to place support for Vegeta. Use of a distributed load generator will aid in the testing of service mesh behavior under real-world conditions.
Expected outcomes:
- Support for distributed load testing via Meshery’s extensibility interface.
- Insights into real-world service mesh performance using Vegeta.
- Recommended Skills: Golang, Kubernetes
- Expected project size: medium (~175 hour project)
- Mentors: Lee Calcote, Prateek Sahu, Kanishkar J
- Issue: https://github.com/envoyproxy/envoy-perf/issues/72