---
title: "Fly.io"
description: "Global application platform enabling developers to deploy and scale applications with edge computing capabilities."
---

# Fly.io
> Global application platform enabling developers to deploy and scale applications with edge computing capabilities.

## Articles

### [Your Agent Speaks MCP. Give It a Computer.](https://yomu.fyi/post/your-agent-speaks-mcp-give-it-a-computer.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: Sep 3, 2026
- Type: Announcement

Sprites are presented as disposable cloud computers for running coding agents and as tools agents can create for testing, debugging, benchmarking, and multi-service work. The post describes MCP as the transport and authorization layer, while progressive disclosure comes from plugins and skills that reveal capabilities only when needed; CLI, REST, and machine-readable /.sprite/llm.txt remain available. The hosted MCP server returns file reads as MCP resources and attaches safety annotations, marking read-only and destructive operations and flagging exec and service\_start as crossing the Sprite boundary. Agents connect through sprites.dev/mcp and authenticate to a specific Fly.io organization, with configurable scoping, a default five-Sprite cap, and an mcp- name prefix. The design emphasizes durable filesystems, real networks, and near-zero idle cost instead of stateless sandboxes, while the post argues these properties make disposable computers practical for agent workflows.


### [Shared Nothing Architecture](https://yomu.fyi/post/shared-nothing-architecture.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: Sep 2, 2026
- Type: Explainer

Shared-nothing architecture is presented as a scaling model for Showcase, a Ruby on Rails ballroom-competition application that began on a Mac Mini and grew to cloud VMs serving events in multiple regions. Because each event has few geographically concentrated users, a roughly one-megabyte SQLite database, about one transaction per second, and typical response times of 100ms or less, the design keeps state separate rather than sharing databases and Redis across events. The implementation runs an event’s services on one Fly.io VM, repeats that unit across machines or regions, and can place multiple event instances on one server with Phusion Passenger, NGINX, volumes, and a shared Action Cable process. It specifies 1GB machines with 2G swap after observing about 220MB idle and 450MB active RAM, and recommends WireGuard; the conclusion is that local state and fewer network calls suit this workload and can improve throughput and reliability.


### [Turn And Face The Strange](https://yomu.fyi/post/turn-and-face-the-strange.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: Jul 24, 2026
- Type: Announcement

Fly.io announces a strategic shift toward Sprites, its “computers for agents,” after concluding that AI-driven software development changes the needs its public-cloud platform should serve. The company says coding agents increasingly run in cloud-hosted workstations because laptops stop when closed, while conventional cloud resources impose too much commitment for semi-disposable agent workloads. Sprites are designed to be created rapidly in large numbers, retain 100GB durable disks, use metered utility billing that pauses during inactivity, and host Internet-accessible applications. The post says a new iteration adds scaling and orchestration work plus the Sprite Block Device, while Fly Machines and platform-as-a-service features will continue. Fly.io also announces new funding and Scott Johnston as CEO, with the founder moving to an advisor role.


### [Building Agents that Don't Break Themselves](https://yomu.fyi/post/building-agents-that-don-t-break-themselves.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: Jun 8, 2026
- Type: Problem & solution

Agents that call shell commands can damage their host, so the post separates the agent’s durable home from the environment where untrusted code executes. It presents Sprites as disposable, isolated sandboxes, with one Sprite per session for the multi-user SpriteDoc and one persistent Sprite per task for Hermes Agent. SpriteDoc injects each user’s flyctl credential only for the command that needs it, avoiding token storage while preserving the user’s permissions; Hermes can omit approval prompts because the sandbox protects the host. The same separation applies when Hermes itself runs inside a Sprite: its commands are dispatched to another Sprite with a different identity and boot. Copy-on-write checkpoints provide an undo path, restoring deleted files and tools in about nine seconds.


### [Unfortunately, Sprites Now Speak MCP](https://yomu.fyi/post/unfortunately-sprites-now-speak-mcp.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: Mar 10, 2026
- Type: Announcement

Sprites are disposable cloud computers with durable filesystems, near-zero idle cost, and support for running coding agents and agent-managed workloads. The post announces an MCP interface, allowing Claude Desktop and other MCP-compatible agent tools to authenticate to a Fly.io organization and create or manage Sprites. It argues that MCP is aesthetically and operationally inferior to command-line tools and discoverable APIs because loading tool descriptions consumes context and can overemphasize capabilities an agent does not need. For agents that can run shell commands, the recommended pattern is a short skill description backed by progressive CLI or API discovery; MCP sessions remain a fallback for agents without command execution. Session guardrails can restrict the organization, cap Sprite creation, and apply name prefixes, while the broader design favors real filesystems and networks over stateless sandboxes.


### [Litestream Writable VFS](https://yomu.fyi/post/litestream-writable-vfs.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: Jan 29, 2026
- Type: Problem & solution

Litestream’s VFS is being extended to support Sprites, whose storage stack needs SQLite-backed block maps to serve writes immediately during cold starts, before a full database or block map is available. The VFS indexes each database page by file, offset, and size in LTX files, serves reads from object storage, and now optionally buffers writes locally before syncing them roughly every second or on clean shutdown. Write mode assumes a single writer, disables polling, and offers only the same eventual durability already provided by Sprite storage. A separate hydration mode serves remote reads while reconstructing a complete database file in the background, then switches reads to that file; the temporary file is discarded on exit. These features target Sprite-like workloads, while ordinary Litestream sidecar deployments do not require them.


### [The Design & Implementation of Sprites](https://yomu.fyi/post/the-design-implementation-of-sprites.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: Jan 14, 2026
- Type: Explainer

Sprites are Linux virtual machines designed as fast, disposable computers with root access, persistent 100GB durable filesystems, automatic sleeping, and low inactive cost. To make creation feel instantaneous, the platform removes user-facing OCI container images and keeps pools of preloaded standard Fly Machines, so a new Sprite mainly performs startup work rather than pulling and unpacking an image. Its storage stack follows a hacked-up JuiceFS model, splitting immutable data chunks from metadata, keeping metadata durable with Litestream, and using a sparse NVMe volume as a dm-cache-like read-through cache for object storage; checkpoints and restores primarily shuffle metadata. This design supports migration and recovery without depending on local storage, while low-cost sleeping and object-backed disks suit interactive work more than warm, containerized production workloads, and billing applies only to storage blocks actually written.


### [Code And Let Live](https://yomu.fyi/post/code-and-let-live.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: Jan 9, 2026
- Type: Announcement

Code And Let Live argues that read-only, ephemeral sandboxes are the wrong abstraction for coding agents, which need durable computers rather than fresh containers for every task. It introduces Sprites, disposable cloud computers that provide root Linux shells, 100GB of initial capacity, HTTPS through an Anycast network, automatic idle shutdown and metering stops, and persistence until explicitly removed. Sprites can be checkpointed and restored in about a second, allowing interactive recovery after changes while retaining installed software and development state across days or months. The argument extends beyond developer workflows: durable agents can keep realistic application context, observe logs, and support personal software whose development and production environments are the same, although the post says Sprites are unsuitable for applications serving millions of users.


### [Litestream VFS](https://yomu.fyi/post/litestream-vfs.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: Dec 11, 2025
- Type: Explainer

Litestream VFS lets SQLite query a Litestream-backed database directly from object storage, including historical states selected with SQL pragmas, without first downloading the complete database. It is a loadable SQLite VFS plugin: Litestream v0.5 uses the LTX data-shipping format, whose compaction removes superseded page versions, while index trailers map database pages to remote file offsets. The VFS fetches only requested page ranges through S3, uses an LRU cache, and can poll second-level L0 backups to maintain a near-realtime replica. Writes remain handled by the regular Litestream Unix program, and the existing SQLite library is unchanged. The result is fast querying and instantaneous point-in-time recovery from arbitrary relative or absolute timestamps, while the optional VFS preserves Litestream’s conventional backup and restore workflow.


### [You Should Write An Agent](https://yomu.fyi/post/you-should-write-an-agent.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: Nov 6, 2025
- Type: Tutorial

Thomas Ptacek argues that people should build an LLM agent before forming strong opinions about the technology, because implementation reveals how simple and surprising the underlying system can be. The example starts with a Python loop around the OpenAI Responses API, storing user and assistant messages in a context list to simulate conversation with a stateless model. Adding a JSON-defined ping function and a tool-calling loop lets the model choose and execute multiple network checks, demonstrating behavior not explicitly hard-coded in the loop. The discussion extends this pattern to coding agents, contexts persisted in SQLite, sub-agents, and design choices involving nondeterminism, ground truth, interchange formats, and token costs. It concludes that these remain open software-engineering problems whose practical behavior can be understood by building and iterating on agents.


### [Corrosion](https://yomu.fyi/post/corrosion.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: Oct 22, 2025
- Type: Explainer

Corrosion is Fly.io’s open-source service discovery and state synchronization system, built to distribute routing data across globally deployed edge proxies and worker servers. It replaces centralized consensus-oriented designs with a Rust program that propagates a SQLite database through SWIM-based gossip and QUIC, using cr-sqlite’s CRDT tables and logical timestamps to reconcile updates without locking, a central server, or distributed consensus. The system’s design follows link-state routing ideas and exploits Fly.io’s fully connected WireGuard mesh, while worker-owned state keeps conflicts uncommon. The post also documents failures, including a contagious Rust RWLock deadlock, a nullable-column migration that triggered large-scale reconciliation, and the need for backups, whole-dataset republishing, testing, and regionalization to reduce blast radius. Corrosion now converges in seconds across thousands of workers.


### [Kurt Got Got](https://yomu.fyi/post/kurt-got-got.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: Oct 8, 2025
- Type: Incident / postmortem

Fly.io recounts the takeover of its X/Twitter account after CEO Kurt Mackey entered credentials on members-x.com in response to a phishing email from alerts-x.com. The attackers revoked existing tokens, configured new 2FA, changed the account email, and used it for a crypto scam; the company says no customer systems or accounts were at risk, though the incident caused more than 15 hours of brand damage. Fly.io attributes the exposure to treating the shared social account as a legacy exception rather than protecting it through its normal Google IdP and phishing-resistant MFA. The post explains how FIDO2, U2F, and Passkeys prevent fake sites from receiving real credentials, while noting that the 1Password browser plugin could also have flagged the mismatched domain. The account is now protected with Passkeys.


### [Litestream v0.5.0 is Here](https://yomu.fyi/post/litestream-v0-5-0-is-here.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: Oct 2, 2025
- Type: Announcement

Litestream v0.5.0 updates the SQLite backup and restore tool with faster operation and efficient point-in-time recovery (PITR). It replaces WAL segment generations with LTX files, an interchange format for ordered page ranges that supports compaction and monotonically incrementing transaction IDs. Hierarchical compaction combines changes across 30-second, five-minute, and hourly levels, allowing restoration to any point in time using only about a dozen files on average and performance limited by I/O throughput. The release keeps old v0.3.x WAL files intact and preserves configuration compatibility, but permits only one replica destination per database and renames litestream wal to litestream ltx. It also adds per-page compression and indexing, removes CGO through modernc.org/sqlite, supports NATS JetStream replicas, updates cloud-storage clients, and previews a VFS for read replicas that can fetch pages from S3 while hydration continues.


### [The Region Consolidation Project](https://yomu.fyi/post/the-region-consolidation-project.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: Sep 9, 2025
- Type: Announcement

Fly.io is consolidating its region map and deprecating 17 regions across North America, Europe, Asia-Pacific, South America, and Africa. The announcement lists 17 deprecated locations, including Madrid, Bucharest, Warsaw, Atlanta, Boston, Denver, Guadalajara, Miami, Phoenix, Querétaro, Seattle, Montreal, Bogotá, Ezeiza, Rio de Janeiro, Santiago, and Hong Kong, and names 18 consolidated regions: seven in North America, five in Europe, four in Asia-Pacific, and one each in South America and Africa. For apps migrated by Fly.io, most moves should be seamless, although applications with region-specific logic must be updated to use the new region. Manual moves generally require changing primary\_region in fly.toml, scaling up in the destination with fly scale count, and scaling down in the original region. If volumes are involved, the guidance recommends stopping existing machines, forking volumes into the new region, and creating machines from those forks; support is offered for issues that arise.


### [Build Better Agents With MorphLLM](https://yomu.fyi/post/build-better-agents-with-morphllm.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: Aug 25, 2025
- Type: Problem & solution

The post addresses a bottleneck in AI agents that write or edit code: correcting a small change can trigger a full-file rewrite, consuming tokens and causing formatting failures, silent omissions, and unreliable results. MorphLLM’s Morph Fast Apply is presented as a semantic, structure-aware edit merge tool: an agent emits small edit\_file snippets with //...existing code... placeholders, while the Apply API merges them against the codebase context before the edited file is written back. The post reports over 4,500 tokens per second, 98% accuracy in about six seconds per file, and about four seconds for files up to 9k tokens, compared with 35 seconds and 86% accuracy for traditional search-and-replace with error corrections. It also states that MorphLLM is API-compatible with OpenAI, Vercel AI SDK, MCP, and OpenRouter, and can run in the cloud, self-hosted, or on-premises.


### [Trust Calibration for AI Software Builders](https://yomu.fyi/post/trust-calibration-for-ai-software-builders.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: Aug 18, 2025
- Type: Explainer

Trust calibration means aligning users’ trust in an AI product with its actual capabilities, avoiding both dangerous over-reliance and unnecessary rejection. Drawing on a 2023 review of more than 1,000 papers on trust in human/automated systems, the article distinguishes cooperative tools, where users accept or reject suggestions, from delegative systems, which replace human action and need stronger boundaries, fallbacks, and capability communication. It recommends calibrating expectations before and during interaction through capability-focused onboarding, context-sensitive feedback, visible suggestion boundaries, confirmation friction for high-stakes actions, and layered performance and process information; post-interaction reflection can still support learning. The article concludes that adaptive calibration is more effective than static approaches, anthropomorphic design can create unwarranted trust, explanations can overload users, and builders need measurements beyond satisfaction or adoption.


### [Games as Model Eval: 1-Click Deploy AI Town on Fly.io](https://yomu.fyi/post/games-as-model-eval-1-click-deploy-ai-town-on-fly-io.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: Aug 11, 2025
- Type: Announcement

Daniel Botha argues that conventional benchmarks reveal little about how models behave in long-context, interactive situations or whether they deliver the tone a product requires. He presents games as a more observable evaluation setting, because success signals are unambiguous and gameplay exposes strategic reasoning, long-term planning, and adaptation with opponents or collaborators. The post focuses on a fork of a16z-infra’s AI Town, a pixel-art simulation inspired by Generative Agents: Interactive Simulacra of Human Behavior, where characters remember conversations, maintain relationships, react to events, and stay in character. A single deploy script runs the project on Fly Machines with scale to zero, cost and performance optimizations, and support for OpenAI-compatible services, Together.ai models, and custom embedding models configured through secrets.


### [The Future Isn't Model Agnostic](https://yomu.fyi/post/the-future-isn-t-model-agnostic.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: Aug 8, 2025
- Type: Explainer

The post argues that AI product teams should stop treating model agnosticism as a default priority because users value reliable, familiar behavior more than model flexibility. It says improving models are converging, while differentiation shifts to product experiences shaped by prompts, edge-case handling, workflows, and model-specific behavior. Swapping models therefore means more than changing an endpoint: teams must rewrite prompts, rerun evaluations, and absorb changes users notice in how the product feels. Claude Code and Qwen 3 Coder, which the post says outperforms Claude in benchmarks, illustrate how tightly model behavior, interface, rituals, trust, and expectations can become coupled. The recommended approach is to choose one model, specialize deeply, and treat evaluation as architecture, with games such as an AI Town environment offered as a way to test models.


### [Phoenix.new – The Remote AI Runtime for Phoenix](https://yomu.fyi/post/phoenix-new-the-remote-ai-runtime-for-phoenix.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: Jun 20, 2025
- Type: Announcement

Phoenix.new is presented as a batteries-included, fully online coding agent designed for Elixir and Phoenix, after an initial weekend project grew into a system that generated Phoenix applications and drove an in-browser IDE. It runs in an ephemeral Fly Machine, giving the agent and user a shared root shell while isolating local machines; applications launch in the cloud with preview URLs, GitHub integration, and Fly.io infrastructure guardrails. A headless Chrome browser lets the agent inspect page content and JavaScript state, interact with front ends, and correlate changes with server-side logs while testing applications. The system already handles full-stack applications using WebSockets, Phoenix Presence, and real databases, can work with other installed languages and frameworks, and is being used to triage GitHub issues and produce pull requests asynchronously.


### [What are MCP Servers?](https://yomu.fyi/post/what-are-mcp-servers.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: Jun 12, 2025
- Type: Explainer

This explainer clarifies what Model Context Protocol (MCP) servers do and where they differ from conventional APIs, serverless functions, and standalone appliances. It frames MCP servers as Alexa Skills that connect capabilities to an LLM, then as JSON-based APIs with multiplexing, server push, and built-in introspection for discovering tools, arguments, and usage descriptions. The post cautions that blindly generating an MCP server from an OpenAPI schema may expose low-level calls rather than agent-oriented workflows, and notes that MCP servers have a long-lived initialization, operation, and shutdown lifecycle rather than a serverless one. It also argues that MCP is not inherently secure or private, recommending remotely hosted servers protected by revocable bearer tokens, and envisions customized MCP-based agents becoming family-like assistants rather than mere appliances.


[Older posts](https://yomu.fyi/company/fly-io/page/2.md)
