Skip to content

Autoscaling

You don’t size the fleet — bytetourist does. Capacity is grown, healed, and shrunk automatically based on demand and node health, all without touching the request path.

Nodes are provisioned across multiple clouds — AWS, Fly, Hetzner, E2B, and India-first providers — so your fleet spans providers and regions instead of a single vendor. A desired (region) is mapped to a concrete provider and instance automatically, and new providers can be added without changing how you send requests.

A freshly provisioned node boots and registers itself into the fleet on a short-lived lease. If a node crashes or stops responding, its lease expires and it drops out automatically — no traffic is sent to a node that isn’t there. A node that never comes up within a boot timeout is cleaned up and replaced.

Capacity is evaluated continuously, with cooldowns so the fleet never thrashes:

Trigger Action
A required region is below its minimum capacity Scale up — provision a node for that region
A node goes unhealthy — high error rate or latency Recycle — boot a replacement first, then remove the old node
A node sits idle with no traffic Scale down — remove it

Recycling always provisions the replacement before removing the old node, so there’s no capacity gap while an unhealthy node is swapped out.

A slower background pass double-checks for capacity gaps and cleans up any stragglers — VMs that were provisioned but never joined, or nodes that disappeared without a clean exit — keeping the real fleet and the provider state in sync.