Skip to main content
Version: main

Introduction

Kurtosis is a development platform for distributed applications that aims to provide a consistent experience across all stages of distributed app software delivery.

Use cases for Kurtosis include:

  • Running a third-party distributed app, without knowing how to set it up
  • Local prototyping & development on distributed apps
  • Writing integration and end-to-end distributed app tests (e.g. happy path & sad path tests, load tests, performance tests, etc.)
  • Running integration/E2E distributed app tests
  • Debugging distributed apps during development

Why Kurtosis?

Docker and Kubernetes are each great at serving developers in different parts of the development cycle: Docker for development/testing, Kubernetes for production. However, the separation between the two entails different distributed app definitions, and different tooling. In dev/test, this means Docker Compose and Docker observability tooling. In production, this means Helm definitions and manually-configured observability tools like Istio, Datadog, or Honeycomb.

Why Kurtosis

Kurtosis aims at one level of abstraction higher. Developers can define their distributed applications in Kurtosis, and Kurtosis will handle:

  • Running on Docker or Kubernetes
  • Reproduceability
  • Safety
  • Port-forwarding & local development hookups
  • Observability
  • Sharing

If we succeed in our vision, you will be able to use the same distributed application definition from local dev all the way to prod.