Iter8: Kubernetes Release Optimizer

Kubernetes release optimizer built for DevOps, MLOps, SRE and data science teams.
Use Iter8 experiments to safely rollout apps and ML models, and maximize business value with each release. Use with any app/serverless/ML framework.
Quick start
Install Iter8 CLI. See here for more ways to install.
brew tap iter8-tools/iter8
brew install [email protected]
Benchmark an HTTP service
iter8 launch -c load-test-http --set url=https://httpbin.org/get
iter8 report
Benchmark a gRPC service
Start a sample gRPC service in a separate terminal.
docker run -p 50051:50051 docker.io/grpc/java-example-hostname:latest
Launch Iter8 experiment.
iter8 launch -c load-test-grpc \
--set host="127.0.0.1:50051" \
--set call="helloworld.Greeter.SayHello" \
--set protoURL="https://raw.githubusercontent.com/grpc/grpc-go/master/examples/helloworld/helloworld/helloworld.proto"
iter8 report
Features at a glance
-
Load testing with SLOs
Iter8 experiments can generate requests for HTTP and gRPC services, collect built-in latency and error-related metrics, and validate SLOs.
-
A/B(/n) testing
Grow your business with every release. Iter8 experiments can compare multiple versions based on business value and identify a winner.
-
Use anywhere
Get started with Iter8 in seconds using pre-packaged experiment charts. Run Iter8 experiments locally, inside Kubernetes, or inside your CI/CD/GitOps pipelines.
-
App frameworks
Use with any app, serverless, or ML framework. Iter8 works with Kubernetes deployments, statefulsets, Knative services, KServe/Seldon ML deployments, or other custom Kubernetes resource types.
Usage Examples
- Load test, benchmark and validate HTTP services.
- Load test, benchmark and validate gRPC services.
- Load test, benchmark and validate Knative services: HTTP and gRPC
Documentation
Iter8 documentation is available at https://iter8.tools.
Credits
Iter8 is primarily written in Go
and builds on a few awesome open source projects including:
Contributing
See here for information about ways to contribute, Iter8 community meetings, finding an issue, asking for help, pull-request lifecycle, and more.