Fly.ioAnnouncement
The Exit Interview: JP Phillips
Summary
JP Phillips leaves after four years at Fly.io, saying the company’s increasing focus on Managed Postgres and LLMs does not match the direction he hoped to see: a move toward cloud provision and larger established customers. He says his original goal—building Fly Machines to replace HashiCorp Nomad—has been accomplished, with the platform now capable of supporting the next iteration of products. His central engineering contribution was the Fly Machines API and flyd, an independently running orchestrator whose finite-state-machine invocations use deterministic, durable execution and log each step in BoltDB. He also discusses corrosion2, a Rust service that uses SWIM gossip and a CRDT-structured SQLite database to distribute near-real-time machine state. Phillips criticizes GraphQL, Elixir, inconsistent communication and shifting priorities, while defending BoltDB and praising Rust’s productivity.
Context
Phillips says his view of where Fly.io should be in three to four years—more directly positioned as a cloud provider and serving larger established companies—does not match the company’s current direction, particularly its focus on Managed Postgres and LLMs. He also says inconsistent communication, shifting priorities and unclear accountability made it difficult to identify valuable work and see projects through.
Approach / What changed
Phillips describes building the Fly Machines API and flyd orchestrator, which runs on worker servers without central coordination. flyd represents operations as finite-state-machine invocations with callbacks and per-step logging in BoltDB, enabling deterministic, durable execution that can resume after deployments. He also discusses corrosion2, which propagates worker state using SWIM gossip into a CRDT-structured SQLite database.
Takeaways
flyd runs independently across thousands of worker servers and uses finite-state-machine invocations for operations such as creating, starting and cordoning Fly Machines.
Phillips says BoltDB was preferable to SQLite for flyd because its narrower storage interface reduced the scope of possible state changes and avoided SQL updates across a host or fleet.
corrosion2 uses SWIM gossip and a CRDT-structured SQLite database to make near-real-time information about Fly Machines available to platform components.
Source and freshness
- Source
- fly.io
- Published
- Added to Yomu
- Last updated
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.