Skip to content
Use cases
Autopilotplanned
AutopilotComputeplanned

Move a job when a cheaper region opens

The same work can cost less in another region. Autopilot spots the gap, prices the move against what you pay now, and waits for your yes before it relocates anything.

Everything below describes what this is being built to do. It needs Autopilot and Compute, which you can look around today but cannot yet use for the whole of this job. The problems are real now; the answers are the part still being built.

The same work can cost less in another region, and the saving sits there unclaimed because nobody is comparing prices at 3am.

Why it is hard

  • Prices move faster than you can watch

    Regional capacity and rates shift by the hour. The window where a move pays for itself opens and closes without anyone in the loop to catch it.

  • A move mid-run is risky by hand

    Relocating a live job means matching the card, the data and the state, and getting one of them wrong is worse than paying the higher rate.

  • The saving is hard to prove after

    Once you have moved, the counterfactual is gone. You cannot see what the old region would have cost unless something recorded it first.

What answers it

  • It reads the gap continuously

    Autopilot compares what each job costs where it runs against identical capacity elsewhere, on the same euro ledger that produces your invoice.

  • It shows the move before it makes it

    What the last period would have cost in the cheaper region, against what it did cost, so the recommendation is something you can check rather than trust.

  • Nothing relocates without your yes

    Region moves ship ask-first. Give the policy room and it acts within a heartbeat; leave it and every move waits for approval.

How billing works

usage_eventsbilled per second, EURlaunchmeter starts with the containerheartbeat10s at the price frozen at matchstopmeter stops, nothing after
heartbeatsent twiceusage_eventsledger_entriescharge · provider_share 85%account_balancesa view: sums, never a columnone fresh row, summedthe retry: unchangedunique(instance_id, seq)

per second, to the microeuro · no minimum · no egress fee · idle costs nothing

Metering starts when the container does and stops when it stops. The rate is frozen the moment you match, so a provider re-pricing cannot change a running rental, and an aborted run costs what it used.

Set region moves to ask-first, read a week of them, and open the gate when you trust the numbers.