Software studio · Product engineering
Tombasoft
Per-branch environments that appear on push and disappear on merge, on a build fleet sized for the worst ten minutes of the day rather than the average.
The problem
- Hard constraints
- A review environment must be reachable within minutes of a push, not hours.
- Builds must not be able to starve anything a human is currently looking at.
- A failed deployment has to roll back without a person editing configuration under pressure.
- Environment count moves with the branch count, so the cost of an idle environment has to be near zero.
Tombasoft ships several products with different release rhythms, and reviews happen against running software rather than screenshots. That means an environment per branch, created on demand, and it means deployments that do not wait for a weekly window.
Their previous arrangement was a single large machine doing everything: builds, review environments and staging on the same box. A heavy build made the review environments unusable, and a broken review environment could take staging with it.
Build times were also the wrong shape. Most of the pipeline parallelises across cores; two stages do not, and those two stages were setting the pace for everyone.
Architecture
Edge
Review environments
4 ×Super VPS Launch
Build
Parallel build fleet
1 ×Apex 4
Build
Single-thread runner
1 ×Forge 2
Application
Staging and production
2 ×Forge 4
What it runs on
Edge
Review environments
2 vCore · 4 GB · 40 GB NVME
A pool of small virtual servers, one per open branch. They are cheap enough to be disposable, which is the property that makes per-branch environments work at all.
From $14.99 per month
Build
Parallel build fleet
1 ×Apex 4
AMD EPYC 4584PX · 128 GB · 2× 960 GB NVMe + 2× 1.92 TB NVMe
Thirty-two threads at 4.2 GHz with 128 GB, because the compile and test matrix is embarrassingly parallel and the whole point is to finish the wide part of the pipeline fast — without giving up the clock the narrow part needs.
From $375.00 per month, $374.00 one-time setup
Build
Single-thread runner
1 ×Forge 2
Intel Core i7-7700K · 64 GB · 2× 450 GB NVMe
The two stages that refuse to parallelise are pinned to a four-core part clocked at 4.2 GHz, with 64 GB behind it. Adding cores would have done nothing for them; adding megahertz did.
From $75.00 per month, $75.00 one-time setup
Application
Staging and production
2 ×Forge 4
Model varies — clock and cores guaranteed · 32 GB DDR4 · 2× 2 TB NVMe
Two matched machines so a release can be cut over between them and rolled back by pointing at the other one. Identical hardware means staging actually predicts production.
From $93.00 per month
Techniques worth naming
Ephemeral per-branch environments
Opening a branch provisions an environment from a base image; merging or deleting the branch destroys it. Nothing is hand-maintained, so nothing drifts, and a stale environment cannot quietly become the one everybody tests against.
Immutable build artefacts
The artefact promoted to production is byte-for-byte the artefact that passed review. Nothing is rebuilt at deploy time, which removes the entire category of "it worked in staging".
Blue/green cutover
A release is deployed to the idle machine, health-checked while still dark, and only then given traffic. Rollback is the same switch in reverse and takes as long as a DNS-free reload.
Workload-shaped hardware
The pipeline was measured before anything was bought. Wide stages went to the many-core machine, narrow stages to the high-clock one. This is only possible when the CPU model is published before you order.
NVMe-resident build cache
Dependency and compiler caches live on local NVMe rather than a network mount. A cold build is rare; a warm one does not spend its time waiting on a filesystem.
Root access as a requirement
Toolchains, kernel parameters and container runtimes are all pinned by the team. A managed platform that decides these for you is not a smaller problem, it is a different one.
What changed
- Review happens against a running environment on every branch, and the environment goes away by itself when the branch does.
- Builds and human-facing environments no longer share a machine, so a heavy pipeline run is invisible to whoever is reviewing.
- Deployments are ad hoc by design rather than by exception — the rollback path is the same mechanism as the deploy path, so shipping on a Friday is not a policy question.
- Capacity is a decision they revisit deliberately, not one that upstream makes for them during a busy week.
No performance percentages appear on this page. We publish figures we have measured under a named method, and these deployments are described by their architecture instead.
Ready when you are
Bring us a workload, not a shopping list
Tell us what the thing actually does and we will tell you which machines fit — including when the answer is a cheaper one than you asked for.
Virtual from $14.99/moBare metal from $24.00/mo