README
ΒΆ
Iter8: Kubernetes Release Optimizer
- Benchmark and validate HTTP and gRPC services
- Compare app/ML model versions using metrics
- Safely promote winning version
- Maximize business value in each release
π― 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.
Simple to use
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 with SLOs.
- Load test, benchmark and validate gRPC services with SLOs.
- Performance testing and SLO validation using Iter8 GitHub Action: HTTP and gRPC.
- Performance testing and SLO validation for Knative services: HTTP and gRPC.
Please see https://iter8.tools for the complete documentation.
π Issues
Iter8 issues are tracked here.
π Contributing
We welcome PRs!
See here for information about ways to contribute, Iter8 community meetings, finding an issue, asking for help, pull-request lifecycle, and more.
πΊ Credits
Iter8 is primarily written in Go
and builds on a few awesome open source projects including:
Documentation
ΒΆ
Overview ΒΆ
Package main is the entry point for the Iter8 CLI. Iter8: Kubernetes release optimizer built for DevOps, MLOps, SRE, and data science teams. Iter8 experiments make it simple to collect performance and business metrics for apps and ML models, assess, compare and validate one or more app/ML model versions, promote the winning version, and maximize business value in each release.
Directories
ΒΆ
Path | Synopsis |
---|---|
Package action contains the logic for each action that Iter8 can perform.
|
Package action contains the logic for each action that Iter8 can perform. |
report
Package report contains primitives for reporting the results of an experiment.
|
Package report contains primitives for reporting the results of an experiment. |
Package base defines Iter8's experiment, task and metric data structures.
|
Package base defines Iter8's experiment, task and metric data structures. |
log
Package log enables logging for Iter8.
|
Package log enables logging for Iter8. |
Package cmd defines the Iter8 CLI commands and their flags.
|
Package cmd defines the Iter8 CLI commands and their flags. |
Package driver enables interaction with experiment resources.
|
Package driver enables interaction with experiment resources. |