- Features
- Pricing
- English
- français
- Deutsche
- Contact us
- Docs
- Login

For the modern platform engineer, the choice isn't whether to use "Infrastructure as Code" (IaC). That battle is won. The real choice is the level of abstraction at which that code operates.
In a DIY world (typically built on a combination of Terraform for provisioning, Helm charts for packaging, and Kubernetes YAML for orchestration) you are coding the "how" of the infrastructure. You are managing primitives. In the Upsun world, you are coding the "what" of the application.
To be clear: well-run Terraform and Kubernetes platforms exist.
They rely on strong conventions, internal modules, golden paths, and a dedicated platform team to keep things sane.
This comparison assumes a competent DIY setup, not a chaotic one.
The question is not whether your team can build it, but whether they should be the ones operating and maintaining it at the primitive layer.
In a DIY setup, a developer or platform engineer is responsible for the entire lifecycle of the infrastructure primitives.
Even with a library of well-maintained Terraform modules, your team must still author and maintain the "glue" that connects them.
To get a standard web application with a database live on a hyperscaler, a typical DIY configuration requires:
The Upsun alternative: the config-to-asset ratio
On Upsun, these primitives are "absorbed" by the platform. Your primary artifact is a version-controlled configuration file (.upsun/config.yaml).
Compared to the fragmented stack of Terraform, Helm, and Kubernetes manifests required to operate a production application, Upsun reduces the amount of configuration your team must author and maintain by an order of magnitude.
When you move the abstraction layer up, you drastically improve your "config-to-asset" ratio. You gain the same infrastructure outcomes with significantly less code.
This reduces the cognitive tax on your senior engineers, allowing them to stop being "YAML mechanics" and return to being application architects.
The greatest risk in DIY infrastructure is "environmental drift." Even with the best intentions, a staging environment in a DIY Kubernetes cluster eventually drifts from production.
The build it yourself reality:
In a DIY stack, creating a full-fidelity production clone with real data typically requires custom scripting, database sanitization pipelines, and manual cleanup. Which is why most teams avoid doing it routinely. Consequently, staging becomes a simplified, lower-resource version of production, leading to the "it worked in staging" failure mode.
The Upsun standard:
Upsun enforces environment parity through Standardized Environments.
Because the infrastructure is defined by the application requirements, every branch is a production-grade clone.
When you create a new environment on Upsun, you aren't just copying code; you are cloning the entire stack, services, configuration, and data, instantly.
This is a platform-native capability that is functionally impossible to replicate in DIY without significant custom engineering and long term maintenance.
| Dimension | DIY Terraform and Kubernetes | Upsun Standardized Environments |
|---|---|---|
| Abstraction level | Infrastructure primitives | Application intent |
| Environment creation | Manual, scripted, or "namespaces" | Instant, platform-native clones |
| Drift prevention | Policy and discipline | Enforced by design |
| Day 2 ownership | Your team (upgrades, OS, security) | Managed by platform |
| Failure recovery | Manual state surgery / kubectl | Platform-automated recovery |
The true cost of DIY infrastructure is "Day 2" operations, the ongoing maintenance required to keep the lights on. In a DIY Kubernetes environment, your team is responsible for cluster upgrades, patching underlying container runtimes, and ensuring provider API compatibility.
In practice, this means your most senior engineers become on-call maintainers for infrastructure they didn’t want to own in the first place.
Upsun treats infrastructure as a managed dependency.
You gain the outcomes people adopt Kubernetes and Terraform for scalability, reproducibility, and automation, without having to operate those systems directly.
Upsun manages the cluster upgrades, the security patching of the underlying runtimes, and the orchestration of the build process. Your team only manages the application.
In a DIY environment, there are "silent" failure modes that have nothing to do with your application code.
If a Terraform state file becomes desynced or locked due to a failed network request, your entire deployment pipeline grinds to a halt. Recovery often requires manual state surgery; a high-risk operation that pulls your best engineers away from product work.
Upsun removes these failure modes from your daily operations.
You aren't responsible for the Kubernetes API version or the state of the underlying network. By moving these responsibilities to the platform layer, you reduce the surface area for failure and eliminate the "infrastructure firefighting" that stalls roadmaps.
For a Senior Platform Engineer, the ROI of Upsun is about reclaimed capacity.
Industry data suggests that up to 80% of developer time is spent on managing the delivery pipeline rather than building features.
By adopting a standardized configuration model, you are buying back 80% of your senior team's capacity.
That reclaimed time doesn't go to more meetings; it goes to architecture, reliability improvements, and product-facing work that actually advances an engineer's career. You transition from a "build and maintain" posture to a "deploy and innovate" posture.
DIY infrastructure offers the illusion of total control, but it often results in total overhead. For teams that need to scale without expanding their DevOps headcount, the choice is clear.
Standardized environments allow you to codify your application intent once and let the platform handle the execution.
For teams that want Kubernetes-level outcomes without Kubernetes-level ownership, standardized environments aren’t a compromise, they’re an upgrade.
Join our monthly newsletter
Compliant and validated