Fly.io just formalized the most significant overhaul of its compute primitives in its history. The platform's refreshed Fly Machines architecture ships hardware-virtualized containers with sub-1-second cold starts, per-second billing, and a new class of sandbox called Sprites: hardware-isolated execution environments purpose-built for untrusted or AI-generated code. If you're still mentally categorizing Fly as "Heroku but cheaper," that model is now obsolete. This isn't a pricing tweak or a regional expansion. It's a fundamental repositioning: Fly is making a direct play for the workloads that currently require stitching together Lambda for serverless, Fargate or EC2 for heavier VMs, and S3/RDS for persistence. The bet is that a single control plane, with VM-grade isolation and global placement baked in, is worth more to small-to-medium engineering teams than the flexibility of assembling AWS primitives yourself.
What Actually Shipped
The Machines refresh redraws the line between "container" and "VM" in a way that actually matters operationally. Fly Machines run KVM-based hardware virtualization under the hood, but the developer experience looks like any container workflow: push an image, configure resources, deploy. Cold start times are under 1 second, which is the threshold that separates "viable for request-latency workloads" from "not." Billing is per-second for actual CPU and memory consumed, with small always-on workloads or heavy short bursts running around the $1 range. You're not paying for headroom you provisioned six months ago.
The more interesting announcement is Sprites. Fly is formalizing hardware-isolated sandboxes specifically designed for running untrusted code: user-submitted scripts, AI agent outputs, plugin execution environments, ephemeral data pipelines. Each Sprite launches in under a second, supports full-environment snapshot and restore, and provides KVM-level isolation rather than the namespace and cgroup separation you get in a typical multi-tenant container runtime. That distinction is not academic. It's the difference between "we namespace your code away from other tenants" and "your code runs in a hardware boundary that requires a hypervisor exit to cross."
Completing the picture: 30+ regions with fast local NVMe storage and globally durable object storage means you can colocate your app, database, and cache in the same region without routing reads through a separate cloud zone. For latency-sensitive workloads, that architectural simplification alone can cut p99 response times significantly.
Why This Matters for AI Workloads Specifically
The timing is not coincidental. Engineering teams in 2026 are increasingly shipping systems where user-provided logic, agent-generated code, or third-party plugins execute at runtime. The security surface for those workloads is completely different from a traditional web app. Existing options for secure code execution in production are either expensive to operate (roll your own Firecracker fleet, maintain a Nomad cluster with hardened networking) or weak on isolation (most PaaS container runtimes, Lambda's shared microVM model). Sprites are positioned in the gap: hardware isolation without the operational overhead of managing your own virtualization layer. If you're building any of the following, this architecture is directly relevant:
- •AI agent systems where the agent can write and execute code on user data
- •Competitive programming or code-interview platforms running arbitrary submissions
- •Internal developer platforms offering ephemeral compute to data scientists or analysts
- •Plugin marketplaces where third-party JavaScript or Python runs in a customer's context
The snapshot and restore capability on Sprites deserves attention. The ability to checkpoint a full execution environment and resume from it is non-trivial to build. It enables patterns like: run a sandboxed agent session, snapshot state before a risky operation, restore if the operation fails or produces bad output. That's a meaningful capability for agentic workloads and has historically required significant custom infrastructure.
The Competitive Position, Honestly
Here is where Fly sits relative to the realistic alternatives:
| Capability | Fly Machines/Sprites | Railway/Render |
|---|---|---|
| Hardware VM isolation | ✅ | ❌ |
| Sub-1s cold start | ✅ | ❌ |
| Per-second billing | ✅ | ❌ |
| Colocated stateful DBs | ✅ | ✅ |
| Snapshot/restore sandboxes | ✅ | ❌ |
| 30+ global regions | ✅ | ❌ |
| Ecosystem maturity | ❌ | ✅ |
Cloudflare Workers is the most interesting competitor here, not AWS. Workers runs at the edge with near-zero cold starts and genuinely excellent global distribution. But the isolation model is V8 isolates, not hardware virtualization: strong for untrusted JavaScript but not for arbitrary code execution with system-level capabilities. D1 and R2 give you colocated storage, and the Cloudflare ecosystem is significantly more mature than Fly's. If your workloads are JavaScript-only and you don't need VM-grade isolation, Workers is a legitimate alternative.
AWS Lambda+Fargate gives you VM-grade isolation and a massive ecosystem, but the operational complexity of composing multiple services (Lambda for functions, Fargate for containers, RDS for databases, separate regions for each) is real. For a five-person engineering team, that complexity has a cost measured in engineering hours, not just dollars. Fly's pitch is that the unified control plane is worth the trade-off on ecosystem depth. Railway and Render are the closest DX competitors, but neither offers hardware-isolated sandboxes or the same level of first-class stateful colocation. They're excellent for straightforward web app deployments, weaker for the security-sensitive workloads where Sprites are specifically designed. The most honest framing: Fly has real differentiators, particularly around VM isolation plus serverless DX plus stateful colocation in a single platform. The risk is vendor maturity. Fly is not AWS. Betting core systems on a smaller platform requires explicit risk assessment, not just a benchmark comparison.
What Internal Platform Teams Should Actually Think About
There's an underappreciated implication here for teams that have built bespoke compute infrastructure. Many internal platform engineering teams built Kubernetes clusters, Firecracker setups, or Nomad-based environments specifically to safely run untrusted or ephemeral workloads. The engineering investment was justified when no credible third-party option existed with sufficient isolation guarantees. That calculus is shifting. If Fly Sprites deliver reliably on the hardware-isolation and snapshot-restore claims, the engineering cost of maintaining in-house sandboxing infrastructure needs to be re-evaluated against the governance cost of relying on a third-party vendor. Managing a Firecracker fleet carries real SRE overhead: patching, capacity planning, incident response, and the organizational knowledge risk when the engineers who built it move on. The trade-off is not free. Moving sandboxing primitives to Fly means accepting a dependency on their availability, their security incident response posture, and their pricing trajectory. For regulated industries or workloads with strict data sovereignty requirements, that dependency may be a blocker. For growth-stage companies and teams that are currently understaffed for the infrastructure they're managing, it may be the right call.
Concrete Recommendations
The right move here depends on where your team currently sits.
If you're evaluating Fly for the first time:
Start with 1-2 latency-sensitive services, not your core data path. Deploy a background job processor or an API layer to a Fly region close to your user concentration, measure actual p50/p99 latency against your current setup, and stress-test cold start behavior under your real traffic patterns.
Validate data locality requirements before committing stateful workloads. Fly's NVMe-local storage is fast, but "globally durable object storage" has specific consistency and latency characteristics you need to test against your SLOs.
Review Fly's incident history and status page cadence. This isn't skepticism, it's due diligence for any infrastructure decision. Their blog publishes post-mortems, which is a good sign.
If you're building AI agent or untrusted-code execution systems:
Prototype Sprites immediately. The combination of hardware isolation, sub-1-second launch, and snapshot/restore is genuinely hard to replicate with DIY infrastructure at comparable DX.
Define your failure mode tolerance before you deploy. What happens if a Sprite fails mid-execution? What are your retry semantics? Test these explicitly, not in production.
Evaluate whether your compliance posture allows the dependency. SOC 2, HIPAA, and similar frameworks have specific requirements around execution environment isolation and vendor controls. Confirm Fly's current certifications against your requirements.
If you're currently running AWS Lambda+Fargate+RDS and questioning the complexity:
Compare all-in TCO across a representative workload: not just compute billing, but engineering hours spent on IAM, VPC configuration, cross-service latency debugging, and capacity planning. Fly's per-second billing and unified control plane can reduce overprovisioning materially, but migration has real switching costs. A realistic pilot looks like migrating one non-critical service, running it in parallel for 30 days, and measuring both cost and operational incident rate.
The Strategic Picture
Fly is making a coherent architectural argument: the right abstraction for modern compute is not a function, not a raw VM, and not a container in a shared namespace. It's a hardware-isolated, globally placed, per-second-billed machine that can run anything and colocate with its data. That argument is strongest for teams that are currently glued together on multiple platforms and absorbing the coordination cost daily. It's weakest for teams with deep AWS expertise, existing tooling investment, and compliance requirements that favor hyperscaler vendors.
What's new in 2026 is that Sprites make Fly's argument specifically credible for AI workloads, which is the category generating the most new infrastructure requirements right now. Engineering teams shipping agentic systems need hardware isolation, they need speed, and they need global placement. Fly now offers all three in a single platform. Whether its operational maturity has caught up with that architectural ambition is the question that only production traffic will answer. Start a prototype. The only way to find out is to run the experiment.
Want global speed and reliability?
Join modern teams using Fly's cloud platform to deploy anywhere, scale effortlessly, and simplify infrastructure management.
