Humanitec is an Internal Developer Platform for Kubernetes based applications. Using Humanitec, developers can self-serve the tech they need in order to deploy and run their apps in fully provisioned environments. Platform or Operations teams configure Humanitec with rules describing how and when to provision resources. This can include fine grained control of how workloads run in Kubernetes through to provisioning out of cluster resources such as databases or DNS.
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.
Platform teams use Humanitec to set baselines for how environments should be provisioned. Platform enable developers to "self-serve" the resources and environments that their applications need. Platform teams create Resource Definitions that describe how different types of Resource are provisioned by Humanitec. This might vary by Application, Type of Environment or other context.