Manage Environments​Manage ​Environments

Kestra users can manage their environments with different levels of granularity. Kestra has three main concepts: instance, tenant, and namespace.

When to use multiple instances

An instance is a full deployment of Kestra. A best practice is to have at least two separate instances: one for development and one for production.

The development instance serves as a sandbox for testing and experimentation, while the production instance supports critical operations and should only be accessible to administrators.

Large organizations sometimes have three or four environments. In such cases, it's best to use the Kestra Enterprise Edition to manage all instances effectively, benefiting from improved governance, security, and scalability.

When to use multiple tenants

A tenant is a logical separation within an instance. You can think of tenants as isolated Kestra projects that share instance resources. A single instance can have multiple tenants.

Tenants are useful when Kestra manages operations for different customers or teams. For example, a company with ten customers could assign each one to a separate tenant. Similarly, an international organization could use tenants to separate workflows by country.

Tenants can also be used to isolate environments for different engineering teams within the same development instance.

When to use multiple namespaces

Namespaces are useful for organizing your flows. They can help structure projects by domain or team.

Namespaces can also be used as lightweight “environments” for getting started, especially for open-source users who don’t need to manage multiple instances. However, this approach is not recommended for critical operations, since an issue in one namespace could impact production flows.

Was this page helpful?