European-only alternative to Fly.io.
Fly.io ("Fly") is a US-headquartered edge compute platform that runs Firecracker microVMs in 30+ regions including Amsterdam, Frankfurt, Paris, Madrid and Stockholm. Fly Inc. is a Delaware corporation, the EU regions are EU-located but US-controlled, and the CLOUD Act applies. Fly's technical approach (microVMs at the edge, near-instant cold start, simple `fly deploy`) is genuinely innovative; replacing it with a sovereign EU stack means trading that specific multi-region edge model for either a region-fixed deployment or a self-managed equivalent on EU infrastructure.
- Provider
- Fly.io
- Headquarters
- Chicago, IL
- Jurisdiction
- United States
- Legal regime
- CLOUD Act, FISA 702
"EU region" is not sovereignty. Four questions decide it.
Data residency tells you where the bits sit. Sovereignty tells you which legal system can compel access. The answer must hold on all four - or the stack is not sovereign.
- Residency
-
Where is the data physically stored?
Not "in the cloud" - which datacenter, in which country, under which jurisdiction.
- Subprocessors
-
Who else is in your data path?
Every vendor that touches the data: the CDN, the email relay, the error tracker, the analytics pipe.
- Jurisdiction
-
Whose laws can compel disclosure?
A US-headquartered provider falls under FISA 702 and the CLOUD Act - even when the bits sit in Frankfurt.
- Key custody
-
Who actually holds the encryption keys?
If the cloud provider holds both the data and the keys, the data is readable by them - regardless of any DPA.
Fails on jurisdiction and key custody.
EU bits, US-headquartered parent, US subprocessors in the default path, provider-managed keys.
Passes on all four.
EU-hosted on EU-headquartered infrastructure. Zero US subprocessors in the default path. Customer-held or EU-KMS keys. Listed by name in your Article 28 DPA.
Why teams are exiting Fly.io
Fly.io exits we have scoped come from regulated workloads (healthcare SaaS, fintech) where the multi-region edge pattern was nice-to-have but the US-jurisdictional processor was a blocker. The honest answer for these workloads: most don't actually need 30 regions, they need 2-3 EU regions with low latency. That requirement is met by two of our EU regions, with a CDN like Bunny.net for static assets - which collectively serves EU users with sub-50ms latency and full EU jurisdiction.
Fly.io services and their EU-only equivalents
A migration is not "swap one box for another". The mapping below is what we run for clients leaving Fly.io on Schrems II grounds - full EU jurisdiction, no US parent in the data path.
Fly Machines (microVMs)
- What we run instead
- Binadit Managed Cloud Platform. KVM virtual machines on Debian or Ubuntu, provisioned with Terraform and configured with Ansible.
- Engineering note
- For most workloads, regular VMs with multi-region deployment via DNS GeoIP cover the use case. For true microVM-per-request, self-hosted Firecracker on EU compute is the sovereign answer.
Fly Apps (PaaS layer)
- What we run instead
- Binadit Managed Cloud Platform. Docker images built in GitLab CI and deployed to Kubernetes, with review environments per branch.
- Engineering note
- Coolify's multi-server feature handles multi-region deployment patterns.
Fly Postgres (clustered)
- What we run instead
- Binadit Managed Cloud Platform. PostgreSQL or MySQL with Patroni for failover and pgBackRest for point-in-time recovery.
- Engineering note
- Patroni on EU compute is the open-source pattern that powers Fly's own Postgres offering.
Fly Redis (Upstash)
- What we run instead
- Binadit Managed Cloud Platform. Redis or Valkey, with Sentinel for failover.
- Engineering note
- Note: Upstash itself is US-headquartered, so Fly Redis is US-on-US.
Fly Volumes
- What we run instead
- Binadit Managed Cloud Platform. Ceph RBD, or Longhorn for Kubernetes-native volumes.
- Engineering note
- Standard NVMe-backed volumes; size-equivalent.
Fly Proxy (Anycast)
- What we run instead
- Binadit Managed Cloud Platform. HAProxy or Nginx, with keepalived for failover.
- Engineering note
- Health checks, connection draining and sticky sessions all carry over. TLS terminates here with certificates renewed automatically.
Fly Postgres failover (multi-region)
- What we run instead
- Binadit Managed Cloud Platform. Patroni-managed PostgreSQL failover across nodes, with automatic promotion.
- Engineering note
- For EU-only multi-region (e.g. NL + DE active-active with regional failover), Patroni handles it.
Fly Secrets
- What we run instead
- Binadit Managed Cloud Platform. HashiCorp Vault or Infisical, self-hosted, with automatic lease rotation.
- Engineering note
- Vault is the production-grade answer for any non-trivial secrets workload.
flyctl / fly deploy DX
- What we run instead
- Binadit DevOps & Support. kubectl, Terraform and GitLab CI, with project-specific wrappers where they help.
- Engineering note
- The DX gap is real but closeable. Coolify's `coolify deploy` is the closest equivalent.
Fly LiteFS (replicated SQLite)
- What we run instead
- Binadit Managed Cloud Platform. PostgreSQL with read replicas, or Litestream where the SQLite model genuinely fits.
- Engineering note
- Replicated SQLite is elegant for read-heavy single-writer applications. Where the write path is contended, PostgreSQL is the safer landing.
How we migrate off Fly.io
A typical mid-market migration runs in three phases. The numbers below assume a 6-10 person engineering team and a moderately complex application stack.
-
Days 1-3
Region strategy decision
Audit which Fly regions you actually use and which ones serve real traffic. For most EU-customer-facing apps, 2-3 EU regions cover it; for global apps, decide on the multi-region pattern (DNS GeoIP, Anycast, regional failover).
-
Days 4-10
Database + storage migration
Fly Postgres replicated to EU managed PostgreSQL or Patroni cluster. Volumes mirrored. Secrets moved to Vault.
-
Weeks 2-4
App cutover
Apps redeployed on Kubernetes on Binadit. DNS migrated to GeoIP routing if multi-region needed. Fly account decommissioned after verification window.
5-year TCO on Fly exits varies more than other US-cloud exits because Fly's pricing model is unusual (per-second microVM billing). For steady-state workloads, EU infrastructure is dramatically cheaper. For very spiky workloads with long idle periods, Fly's scale-to-zero is hard to match cost-effectively in the EU sovereign space without a scale-to-zero container platform.
Frequently asked questions
Fly's "no surveillance" marketing - does it actually mean sovereignty?
How do we replace the "microVM cold start" feature?
What about LiteFS for SQLite at the edge?
How long does a Fly.io exit take?
Are there any genuinely Fly-like EU options?
What about Fly's GPU offering?
Plan your exit from Fly.io.
30-minute scoping call. We map your stack against EU-only alternatives, estimate the migration effort, and tell you whether it is the right call.