GuidesAPI Reference
Log In

Architecture and Concepts



The Application is a collection of related Services with the same Release constraints.

Release Channels can be used to create environments or slices of an Application such as alpha or beta.

Services are jobs or programs that are materialized into a Release Channel and run on a Runtime.

Protections are Kubernetes jobs that 0 or 1 and are used to control progression of a deployment.

Runtimes are where services you create are run. Examples are Kubernetes clusters, serverless systems, or other job-running frameworks.

Integrations are 3rd party systems you wish to use in control flows for managing your application. Examples are monitoring and observability systems, Docker registries, ticketing systems, etc.

Custom Runtimes are runtimes for custom workloads.

Convergence Extensions are custom steps during a convergence that are used to run an apply() only kubernetes job. For example a database migration.

Desired State

A desired state is composed by looking at your configuration including all Protections, Runtimes, Runtime Extensions, and Delivery Extensions. These are compiled into a graph of your environment which is passed to the Convergence Engine.

convergence is the action Prodvana takes to bring your current state to the desired state. Convergence runs continuously. The convergence engine takes this action on your behalf on a regular basis to ensure your Desired State. The apply occurs via the Runtime implementation.