Fly.ioAnnouncement
Launching Redis by Upstash
Summary
Fly.io and Upstash launched a managed Redis service positioned close to Fly.io applications, with global replicas, a free tier, and private encrypted IPv6 connectivity. The integration uses Flycast, Machines API, WireGuard networking, and PROXY protocol headers: flyctl provisions a Flycast IP, routes it through global proxies to the nearest healthy Redis instance, and lets multitenant Redis identify the customer database without exposing its password. Applications can add replicas and write forwarding through flyctl while retaining a single Redis URI; writes go to the primary and reads and writes use geographically nearest replicas. The post illustrates edge HTML caching for a Rails recipe app, reporting low-millisecond global time to first byte for cached GET requests. It also describes read-your-own-write handling, including a 500ms replication wait and fallback reads from the source of truth.
Context
The integration targets globally deployed applications that need low-latency Redis without exposing the service to the internet. Its design also addresses secure connectivity between customer applications and Upstash's isolated, multitenant Fly.io deployment, while supporting read-your-own-write consistency across replicas.
Approach / What changed
Upstash Redis runs as a standard Fly.io application in multiple regions. Flycast assigns a private address and proxies connections to the nearest healthy instance; a PROXY protocol header carries the destination address so multitenant Redis can select the database. Replicas forward writes to the primary and track replication to provide read-your-own-write behavior.
Takeaways
flyctl can create a Redis database with a primary region, optional replica regions, eviction, and an Upstash plan, including a 100 MB free tier.
A single Redis URI supports geographically nearest reads and writes, with writes forwarded to the primary and read-your-write consistency maintained across replicas.
For delayed replication, a replica waits up to 500ms, then may serve a tracked write locally or forward the read to the primary source of truth.
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.