nixfredFLY.IOFIELD GUIDE · BY NIX UNOFFICIAL
REFERENCE / FLY.IO BLOG DIGEST

Fly.io blog digest

The Fly.io blog, one entry per post, with the single fact worth repeating, quoted word for word, and a “use it when” line for field conversations. This file is part 1: the 51 newest posts, 2023-12-18 to 2026-10-23. Pull a proof point, then send the customer the original post.

This page is drawn from https://fly.io/blog/ and each post linked below. Every post listed here was read in the local corpus on 2026-11-04; the corpus copy of each post is the text that was quoted. The blog archive runs back to 2020, and the older posts are digested in the later parts of this page.

How to use this page

  • Quote the post, link the post. Blog posts are Fly.io’s own words, written by named engineers. When a number matters, send the link so the customer reads it in context (https://fly.io/blog/).
  • Posts age. A post shows how a product worked on its date. Where a post and the docs disagree, the docs describe today’s product (https://fly.io/docs/machines/overview/). Prices in particular: the L40S price below is from August 2024 and is history, not a current quote (https://fly.io/blog/cutting-prices-for-l40s-gpus-in-half/).
  • Opinion is opinion. Several posts are essays by Thomas Ptacek, Kurt Mackey or Daniel Botha. Quote them as the author’s view, not as a product commitment (for example https://fly.io/blog/youre-all-nuts/).
  • Beta posts are not GA. The Fly Kubernetes post of 2024-03-07 is about a closed beta (https://fly.io/blog/fks-beta-live/). Check the docs before promising a feature.
  • Say: “Here is what the engineers wrote, with the date.” Ask: “Which part of this matches the workload you are running?”

Start here: five posts to know

  1. The Design & Implementation of Sprites (2026-01-14, Thomas Ptacek). Takeaway: Sprites are Linux VMs with a 100GB durable root filesystem that put themselves to sleep when inactive, built on three decisions that differ from Fly Machines: no container images, object storage for disks, and orchestration from inside the VM (https://fly.io/blog/design-and-implementation/). Use it when: a customer asks how a Sprite differs from a Fly Machine.
  2. Code And Let Live (2026-01-09, Kurt Mackey). Takeaway: the Sprites pitch in one walk-through: create in about a second, checkpoint, sleep, come back days later, restore in about a second (https://fly.io/blog/code-and-let-live/). Use it when: you need a five-minute demo script or a quote on why ephemeral sandboxes fall short.
  3. Our Best Customers Are Now Robots (2025-04-08, Kurt Mackey). Takeaway: the company’s own account of why agent and vibe-coding platforms fit Fly Machines: fast start, stop-and-resume, and incremental build-up (https://fly.io/blog/fuckin-robots/). Use it when: the buyer builds a coding-agent or app-generation product.
  4. Corrosion (2025-10-22, Thomas Ptacek and Peter Cai). Takeaway: how Fly.io keeps its global routing state in sync, including the September 2024 outage it caused, told candidly (https://fly.io/blog/corrosion/). Use it when: a customer asks how Fly Proxy knows where Machines are, or asks for an honest reliability story.
  5. Making Machines Move (2024-07-30, Thomas Ptacek). Takeaway: why a Machine with a volume is anchored to one worker, and how “clone” migration lets Fly.io drain workers anyway (https://fly.io/blog/machine-migrations/). Use it when: a customer asks what happens to a Machine with a volume when its host needs maintenance.

Full list, newest first (2023-12 to 2026-10)

2026-10-23: Feng Shui for Robots: The Fly MCP Server

  • Fact: “In October 2023, AI agents created 0.1% of the databases on Neon. By October 2025 they created 80% of them.” (https://fly.io/blog/feng-shui-for-robots/). The post introduces mcp.fly.io, one MCP server for Sprites and Fly.io apps.
  • Use it when: an agent builder asks how to take a Sprite prototype to production; the post says the usual trigger for moving is needing it always on, and the target is Fly Machines.

2026-10-22: SBD: We Have a Filesystem at Home

  • Fact: “Each one was made durable separately, so each one could be right while the others were wrong.” (https://fly.io/blog/sprites-block-device/). It explains why the JuiceFS-based Sprite disk was replaced by the Sprites Block Device, SBD.
  • Use it when: a customer asks about Sprite storage reliability or what changed since launch.

2026-09-03: Your Agent Speaks MCP. Give It a Computer.

  • Fact: “every Sprite carries machine-readable docs at /.sprite/llm.txt that teach an agent working inside it how the place operates.” (https://fly.io/blog/sprites-mcp/). The post also points agents at sprites.dev/mcp.
  • Use it when: someone asks how a coding agent learns to use a Sprite without a human.

2026-07-24: Turn And Face The Strange

  • Fact: the post says Fly.io raised more money, is “tagging in Scott Johnston as CEO”, and is focusing the company on Sprites (https://fly.io/blog/kurt-scott-money-sprites/).
  • Use it when: a buyer asks about company direction and stability. Send the post itself; it is the company’s own explanation.

2026-06-08: Building Agents that Don’t Break Themselves

  • Fact: “The sandbox does real authenticated work and never holds the credential.” (https://fly.io/blog/building-agents-that-dont-break-themselves/). It describes one Sprite per session and a user token injected for a single command.
  • Use it when: a multi-user agent product needs isolation per user without leaving secrets on disk.

2026-01-29: Litestream Writable VFS

  • Fact: “Sprites launch in under a second, and every one of them boots up with 100GB of durable storage.” (https://fly.io/blog/litestream-writable-vfs/).
  • Use it when: a SQLite user asks what Litestream does inside Sprites, or a Sprites buyer asks how storage starts fast.

2026-01-14: The Design & Implementation of Sprites

  • Fact: “Creating a Fly Machine can take over a minute.” (https://fly.io/blog/design-and-implementation/). That is the stated reason Sprites drop container images.
  • Use it when: a customer asks why Sprites exist next to Fly Machines. See the Start here list above.

2026-01-09: Code And Let Live

  • Fact: “ephemeral sandboxes are obsolete” (https://fly.io/blog/code-and-let-live/), the post’s headline claim, backed by checkpoint and restore on a persistent Sprite.
  • Use it when: a buyer compares Sprites with throwaway code sandboxes. Attribute the claim to Kurt Mackey.

2025-12-11: Litestream VFS

  • Fact: “It runs SQLite hot off an object storage URL.” (https://fly.io/blog/litestream-vfs/). It also shows point-in-time queries with a litestream_time pragma.
  • Use it when: a customer wants to query a backup without restoring it.

2025-11-06: You Should Write An Agent

  • Fact: the author calls the model API “an HTTP API with, like, one important endpoint” and builds a working agent in a few lines of Python (https://fly.io/blog/everyone-write-an-agent/).
  • Use it when: a developer is new to agents and you want a friendly, non-product starting point.

2025-10-22: Corrosion

  • Fact: “Within a few seconds every proxy in our fleet had locked up hard.” (https://fly.io/blog/corrosion/). The post dates that outage to September 1, 2024 and calls it the worst the company had experienced.
  • Use it when: a customer asks about past incidents. Say: “They wrote up the root cause themselves.” Do not retell it from memory; link it.

2025-10-08: Kurt Got Got

  • Fact: “Nothing was at risk other than our Twitter account” (https://fly.io/blog/kurt-got-got/). The post describes a phished company X account and argues for phishing-resistant authentication such as FIDO2 and passkeys.
  • Use it when: a security reviewer asks how the vendor handles its own incidents. Note the scope the post claims: the social account only.

2025-10-02: Litestream v0.5.0 is Here

  • Fact: “Litestream is faster and now supports efficient point-in-time recovery (PITR).” (https://fly.io/blog/litestream-v050-is-here/). It introduces the LTX file format.
  • Use it when: a SQLite customer asks about recovery options for an app on Fly.io.

2025-08-25: Build Better Agents With MorphLLM

  • Fact: the post cites MorphLLM’s own benchmark of “98% accuracy in ~6 seconds per file” for code edits (https://fly.io/blog/build-better-agents-with-morphllm/). It is a partner’s number, not a Fly.io measurement.
  • Use it when: an agent builder complains that whole-file rewrites are slow and costly.

2025-08-18: Calibrated Trust: Trust Calibration for AI Software Builders

2025-08-11: Games as Model Eval: 1-Click Deploy AI Town on Fly.io

  • Fact: the author forked AI Town “to make it absurdly easy to spin up your own AI Town on Fly Machines”, with scale to zero (https://fly.io/blog/games-as-model-eval/).
  • Use it when: someone wants a fun, deployable demo of agents on Machines.

2025-08-08: The Future Isn’t Model Agnostic

2025-06-20: Phoenix.new - The Remote AI Runtime for Phoenix

2025-06-12: What are MCP Servers?

  • Fact: “MCP is an open protocol that standardizes how applications provide context to LLMs.” (https://fly.io/blog/mcps-everywhere/). The post then offers several analogies for it.
  • Use it when: a customer needs MCP explained before the Fly.io tooling makes sense.

2025-06-02: My AI Skeptic Friends Are All Nuts

  • Fact: “You could write an effective coding agent in a weekend.” (https://fly.io/blog/youre-all-nuts/).
  • Use it when: a skeptical engineer wants a peer’s argument. A personal essay by Thomas Ptacek, scoped by the author to software development only.

2025-05-29: Using Kamal 2.0 in Production

  • Fact: “Kamal is just one piece of the puzzle.” (https://fly.io/blog/kamal-in-production/). The post is a checklist for deploying a real Rails project with Kamal.
  • Use it when: a Rails team is weighing Kamal on their own servers against a platform. It is written by Sam Ruby and is not a comparison with Fly.io.

2025-05-28: parking_lot: ffffffffffffffff…

  • Fact: after finding a lock bug in the Rust parking_lot library, the team says “we audited all our catalog locking, got rid of all the iflets, and stopped relying on RAII lock guards.” (https://fly.io/blog/parking-lot-ffffffffffffffff/).
  • Use it when: a customer asks how fly-proxy engineering handles hard bugs. Pairs with the Corrosion post.

2025-05-20: Litestream Revamped: SQLite Replication

  • Fact: “A generation represents a snapshot and a stream of WAL updates, uniquely identified.” (https://fly.io/blog/litestream-revamped/). The post describes the move to LTX and faster point-in-time restores.
  • Use it when: a customer asks how Litestream restores work and why the format changed.

2025-05-19: Launching MCP Servers on Fly.io

  • Fact: “The Model Context Protocol is days away from turning six months old.” (https://fly.io/blog/mcp-launch/). It proposes fly mcp launch to run a local-style MCP server remotely.
  • Use it when: you need the dated origin of fly mcp; check the docs for the current command shape.

2025-05-07: Provisioning Machines using MCPs

  • Fact: “On Monday, I created my first fly volume using an MCP.” (https://fly.io/blog/mcp-provisioning/). Because it wraps flyctl, the author notes destroying a mounted volume would return an error.
  • Use it when: a customer fears an LLM deleting live resources.

2025-04-10: 30 Minutes With MCP and flyctl

  • Fact: “this whole thing is like 90 lines of code” (https://fly.io/blog/30-minute-mcp/). It exposes only fly logs and fly status.
  • Use it when: you want proof that flyctl’s JSON output makes it easy to drive from an agent.

2025-04-08: Our Best Customers Are Now Robots

  • Fact: “Start is lightning fast; substantially faster than booting up even a non-virtualized K8s Pod.” (https://fly.io/blog/fuckin-robots/).
  • Use it when: a vibe-coding or agent platform asks why Machines fit bursty sessions. See Start here.

2025-03-27: Operationalizing Macaroons

  • Fact: “Macaroon tokens are bearer tokens (like JWTs) that use a cute chained-HMAC construction that allows an end-user to take any existing token they have and scope it down, all on their own.” (https://fly.io/blog/operationalizing-macaroons/).
  • Use it when: a security team asks how Fly.io API tokens can be narrowed. For current token commands use the docs, not this post.

2025-02-26: Taming A Voracious Rust Proxy

  • Fact: “Spurious wakeups should be easy to spot, and triggering a metric when they happen should be cheap” (https://fly.io/blog/taming-rust-proxy/). It traces edge fly-proxy CPU spikes to a TLS stream state-machine bug.
  • Use it when: an engineer wants to see how the edge proxy is debugged.

2025-02-14: We Were Wrong About GPUs

  • Fact: “GPUs terrified our security team.” (https://fly.io/blog/wrong-about-gpu/). The post says Fly GPU Machines are not going away but a bigger v2 should not be expected.
  • Use it when: a customer asks about GPU roadmap. Say: “Their own post says not to wait for a v2.” Confirm current GPU availability in the docs before selling.

2025-02-12: JP Phillips leaves: an exit Q&A post

  • Fact: “the P90 for Fly Machine create calls is sub-5-seconds for pretty much every region except for Johannesburg and Hong Kong.” (https://fly.io/blog/the-exit-interview-jp/). This is the engineer’s own statement as of the post date.
  • Use it when: you need a sourced figure for Machine create time. Treat it as dated and engineer-reported.

2025-02-10: Did Semgrep Just Get A Lot More Interesting?

  • Fact: “Cursor kept trying to get Huntley to use Bazel as a build system.” (https://fly.io/blog/semgrep-but-for-real-now/), the setup for letting an LLM write Semgrep rules.
  • Use it when: a security engineer asks about LLM-generated static analysis rules. A short opinion post.

2025-02-10: A Blog, If You Can Keep It

  • Fact: the post describes its own recipe: “Write an EffortPost, which is to say a dense technical piece over 2000 words long” (https://fly.io/blog/a-blog-if-kept/).
  • Use it when: a DevRel peer asks why the blog reads the way it does.

2025-02-07: VSCode’s SSH Agent Is Bananas

  • Fact: VS Code remote editing “runs a Bash snippet stager that downloads an agent, including a binary installation of Node.” (https://fly.io/blog/vscode-ssh-wtf/).
  • Use it when: a security-minded customer asks why Fly.io wants agent loops on a clean, disposable Linux instance.

2024-09-24: AI GPU Clusters, From Your Laptop, With Livebook

2024-08-21: Accident Forgiveness

  • Fact: for customers with a support contract at any level, the post says the next unexpected charge will be met with “refund that charge, (almost) no questions asked.” (https://fly.io/blog/accident-forgiveness/).
  • Use it when: a buyer fears runaway bills. Say: “The post describes this as a support practice from August 2024.” Confirm current terms with billing before promising it [verify].

2024-08-15: We’re Cutting L40S Prices In Half

2024-07-30: Making Machines Move

  • Fact: “Kill, copy, boot is slow. But kill, clone, boot is fast; it can be made asymptotically as fast as stateless migration.” (https://fly.io/blog/machine-migrations/). The mechanism uses the Linux dm-clone feature.
  • Use it when: a customer asks how volumes move between hosts. See Start here.

2024-06-19: AWS without Access Keys

  • Fact: the setup is to “add Fly.io as an Identity Provider in AWS IAM, giving us an ID we can plug into any IAM Role.” (https://fly.io/blog/oidc-cloud-roles/).
  • Use it when: a security team will not hand over AWS keypairs but wants a Fly app to read S3.

2024-05-09: Picture This: Open Source AI for Image Description

  • Fact: the post keeps GPU cost down by “restricting Ollama access to internal requests over Flycast” with Fly Proxy autostop (https://fly.io/blog/llm-image-description/).
  • Use it when: a customer wants a private, scale-to-zero model endpoint, or an accessibility use case.

2024-03-12: JIT WireGuard

  • Fact: “We went from thousands, or hundreds of thousands, of stale WireGuard peers on a gateway to what rounds to none.” (https://fly.io/blog/jit-wireguard-peers/).
  • Use it when: someone asks how flyctl connects to private networks, or why gateways are lighter than before.

2024-03-07: Fly Kubernetes does more now

  • Fact: “it is our managed Kubernetes service” (https://fly.io/blog/fks-beta-live/); the post says customers are onboarded to a closed beta by email.
  • Use it when: a Kubernetes shop asks. Check the current docs for status before promising availability [verify].

2024-02-15: Globally Distributed Object Storage with Tigris

  • Fact: “All of the configuration for the AWS S3 library will be injected into your application for you.” (https://fly.io/blog/tigris-public-beta/). The post says Fly.io partnered rather than building object storage itself.
  • Use it when: a customer needs S3-style storage with a Fly.io-integrated bill.

2024-02-12: GPUs on Fly.io are available to everyone!

  • Fact: “GPUs are now available to everyone!” (https://fly.io/blog/gpu-ga/). It lists a100-40gb, a100-80gb and l40s, set by vm.size.
  • Use it when: dating the GPU launch. Read it with the 2025 GPU post for the later stance.

2024-02-05: Event Driven Machines

  • Fact: “Once the code finishes, the Machine is destroyed.” (https://fly.io/blog/event-driven-machines/). The Lambdo reference project turns queue events into short-lived Machines.
  • Use it when: a customer wants a serverless-style job pattern on Machines.

2024-02-01: Delegating tasks to Fly Machines

  • Fact: the flow is “A request hits an endpoint that does some resource-intensive tasks” and is passed to a larger Machine (https://fly.io/blog/delegate-tasks-to-fly-machines/).
  • Use it when: a web app has occasional heavy work, such as image resizing.

2024-01-31: Macaroons Escalated Quickly

2024-01-08: How Yoko Li makes towns, tamagoes, and tools for local AI

  • Fact: “AI Tamago uses an unmodified version of LLaMA 2 7B” (https://fly.io/blog/how-i-fly-yoko-li/).
  • Use it when: you want a customer-style profile of small AI projects. This is a profile, not a product claim.

2024-01-04: Deploy Your Own (Not) Midjourney Bot on Fly GPUs

  • Fact: “Fly.io has GPUs now!” (https://fly.io/blog/not-midjourney-bot/). It walks through a Discord image bot built on Fooocus and Stable Diffusion.
  • Use it when: a customer wants a hands-on GPU tutorial.

2023-12-21: Fly With Alpine

  • Fact: “Alpine Linux has a smaller ecosystem that the alternatives, particularly when compared to Debian.” (https://fly.io/blog/fly-with-alpine/). The author frames the switch as an engineering trade-off to test.
  • Use it when: a customer wants smaller images and faster startup and asks whether to change base image.

2023-12-18: Introducing Fly Kubernetes

  • Fact: the post says Fly.io is “running over 200,000 applications” (https://fly.io/blog/fks/), the scale behind its argument that a global scheduler did not fit.
  • Use it when: dating the original FKS announcement and its reasoning. The post notes an update in March 2024.

Full list continued (2022-06 to 2023-12)

Newest first. Each entry has the date, the post, one fact quoted word for word from the post, and when to use it. Old posts describe the platform as it was then, so check the docs before you promise a customer anything current (https://fly.io/docs/machines/overview/).

2023

2022

Full list continued (2020-12 to 2022-06)

Each entry has the date, the post, one fact copied verbatim from the post, and a “use it when” line. Many of these posts are 2020 to 2022 history: the platform then ran apps on Nomad and had no Machines API at first, so check the docs before quoting a limit or a price as current.

Full list continued (2020-01 to 2020-11)

These 50 posts are the oldest Fly.io blog posts, from the launch year 2020, newest first. They describe the pre-Machines platform: apps were Docker images, scaling was set with flyctl scale and region pools, and the CLI was still moving from flyctl to fly. Treat every command, limit and feature below as historical and likely out of date. For current behavior, use the docs (https://fly.io/docs/machines/overview/). Use these posts for origin stories and for how did Fly.io get here questions, not for instructions.

← Sources