Managing application configuration across multiple different environments can easily become complex. Especially when the application is composed of a number of different (micro-)services. Drift in the application configuration can cause lengthy debug sessions. An Internal Developer Platform is an ideal solution to stop this drift and simply App Configuration Management.
Traditionally application configurations are written in YML files and stored (and versioned) in version control systems. In Kubernetes, you can use tools like Kustomize to manage those configurations across different environments. Still, there are a couple of challenges:
Versions are hard to govern and maintain.
The setup is hardly fully self-serving for developers.
It can be tricky to align the versioned configurations with the infrastructure orchestration.
Humanitec uses a different approach. Every Workload in Humanitec is deployed using a Baseline Configuration. This Baseline Configuration is called Profile. You can think of a Profile as a specifically structured Helm Chart. Humanitec is exposing all widely used parameters (e.g., CPU and memory limits, probes, service accounts) directly to the DevOps team and the developer. This significantly simplifies understanding and managing Application Configuration.
While we aim to encapsulate the complexity of Kubernetes deployments as much as possible we are fully aware that there are very specific requirements teams might have. That's why we allow DevOps experts to provide their own Profiles to change or enhance the Humanitec standard Profile. This feature is currently in closed beta.