Iter8 is the Kubernetes release optimizer built for DevOps, MLOps, SRE and data science teams. Iter8 makes it easy to ensure that Kubernetes apps and ML models perform well and maximize business value.
Iter8 supports the following use-cases:
- Performance testing of HTTP services.
- Performance testing of gRPC services.
- A/B/n testing of applications and ML models
- Reliable and automated routing: blue-green and canary
Iter8 introduces a set of tasks which which can be composed in order to conduct a variety of performance tests.
Iter8 packs a number of powerful features that facilitate Kubernetes app testing. They include the following.
- Generating load and collecting built-in metrics for HTTP and gRPC services. Simplifies performance testing by eliminating the need to setup and use metrics databases.
- Readiness check. The performance testing portion can be configured to start only after the service is ready.
- Test anywhere. Iter8 performance tests can be launched inside a Kubernetes cluster, in local environments, or inside a GitHub Actions pipeline.
- Traffic controller. Automatically and dynamically reconfigures routing resources based on the state of Kubernetes apps/ML models.
- Client-side SDK. Facilitates routing and metrics collection task associated with distributed (i.e., client-server architecture-based) A/B/n testing in Kubernetes.
Please see https://iter8.tools for the complete documentation.
Iter8 issues are tracked here.
We welcome PRs!
See here for information about ways to contribute, finding an issue, asking for help, pull-request lifecycle, and more.
Iter8 is primarily written in Go
and builds on a few awesome open source projects including: