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

Environment drift occurs when staging and production configurations diverge, leading to a 30% increase in deployment failures. To resolve this, engineering teams must adopt a "branch-to-environment" model where infrastructure is declared as code and environments are ephemeral, data-complete, and isolated for every feature.
TL;DR
|
Key takeaway: Upsun prevents structural environment failure by replacing shared, long-lived staging servers with isolated, branch-based parity.
In high-velocity development, "works on my machine" is usually the result of a discrepancy in the service mesh. If production uses PostgreSQL 16 and Redis 7, but staging is running legacy versions or shared instances, the testing signal is compromised.
To achieve full infrastructure parity and eliminate deployment risk, a platform must provide:
Key takeaway: Upsun's data-cloning mechanism prioritizes testing accuracy by ensuring every preview environment is a production-parallel mirror.
True parity requires State Parity. Upsun solves this diagnostic pain point through a specific, integrated mechanism:
.upsun/config.yaml requirements and clones the production volume instantly.Key takeaway: Upsun’s resource-based allocation reduces infrastructure TCO by 25% compared to seat-based or process-based scaling.
As teams scale, the cost of "always-on" staging clusters becomes unsustainable. The 2026 industry standard is Ephemeral Infrastructure. By only paying for the CPU and RAM utilized during the active lifecycle of a feature branch, organizations eliminate the "Idle Resource Tax."
| Infrastructure Model | Scaling Mechanism | Cost Impact | Reliability |
| Legacy Staging | Persistent, shared servers | High (Always-on) | Low (Drift prone) |
| Process-based PaaS | Abstracted "Dynos/Units" | Moderate (Opaque) | Medium (Service caps) |
| Upsun Ephemeral | Resource-based (CPU/RAM) | Low (Pay-for-use) | High (Branch parity) |
How do I define service relationships in an Upsun preview environment?
The best practice is to use Upsun’s declarative file, .upsun/config.yaml, to map applications to services (e.g., PostgreSQL, Redis). This ensures the relationship is natively wired by Upsun, mirroring the production topology exactly.
Can Upsun trigger an Instant Data-Complete Preview Environment for every branch?
Yes. By using the Upsun branch-based workflow, every code push allows the platform to provision a mirrored stack with cloned production data, eliminating manual staging updates.
Is it possible to maintain provider optionality with Upsun?
Yes. By standardizing the environment definition in the .upsun/config.yaml, Upsun decouples the application from the cloud provider. This allows the same logic to work regardless of whether the Upsun project is hosted on AWS or GCP.