SYSTEM Cited by 1 source
flaps (Fly Machines API gateway)¶
flaps is the API server behind Fly.io's Machines
API — the front door for POST
/apps/{app_name}/machines, GET /apps/{app_name}/machines/{id},
and the rest of the Machines-API surface. flaps translates
incoming HTTPS requests into RPCs against per-host
flyd processes distributed across Fly.io's
global worker fleet.
Stub page — expand on future flaps-focused sources.
Design properties¶
From JP Phillips's 2025-02-12 Fly.io exit interview:
Yes, all of it. The
flapsAPI server, theflydRPCs it calls, theflydfinite state machine system, the interface to running VMs.… I like that it for the most part doesn't require any central coordination. And I like that the P90 for Fly Machine
createcalls is sub-5-seconds for pretty much every region except for Johannesburg and Hong Kong. (Source: sources/2025-02-12-flyio-the-exit-interview-jp-phillips)
Two load-bearing properties disclosed:
- Decentralised — "for the most part doesn't require any central coordination." flaps routes to per-host flyd processes; those flyd processes own their Machine placement decisions locally.
- Sub-5-second P90 Machine-create latency — globally, with Johannesburg and Hong Kong as the named regional outliers.
Numbers disclosed¶
- P90
machine create: sub-5-seconds for every region except Johannesburg and Hong Kong.
Not disclosed¶
- flaps implementation language (not named in JP's Rust-services list — fly-proxy, corrosion2, pilot — so likely Go).
- Internal routing / discovery mechanism (how flaps finds the right flyd process for a given host).
- Authentication / token model for Machines API calls (external Macaroons, internal service tokens).
- Rate-limiting, quota enforcement, per-org isolation.
- P99 and P99.9 latency.
- Root cause for the Johannesburg + Hong Kong P90 regression (network topology? flyd density? worker fleet size?).
Seen in¶
- sources/2025-02-12-flyio-the-exit-interview-jp-phillips —
JP names flaps as part of "the whole Fly Machines API" and
discloses the sub-5s P90
machine createlatency property.
Related¶
- systems/flyd — flaps's per-host RPC target; the scheduler that owns Machine placement.
- systems/fly-machines — the compute primitive flaps provisions.