Humanitec allows developers to describe their application and its dependencies on resources such as databases and DNS. Developers define Applications which are a collection of related Workloads, Configuration and the Resources that they depend on. Developers can then deploy the application to an Environment. If the environment is new, all the dependent Resources will be provisioned. If an existing Environment is being updated by the deployment, any new dependent Resources will be provisioned. Once everything in the environment is running as expected, all or part of the Workloads and Configuration in the Environment can be promoted to the next Environment.