I spoke with @kurt some weeks ago and he mentioned Fly was planning to phase out the included Redis. It’s not even in the docs anymore…
I totally get that I can create a Fly app with Redis on it, but it was so damn convenient to just add a REDIS_URL env var to my app and be done with it.
I also get that giving Redis for free is not a sustainable model, but why not make it a paid service like you do with the certificates or IPs?
We hear ya. Postgres is our first foray into managed databases, but after that we’d like to offer others, redis being one. Until then the keydb launcher is a quick way to get a private HA redis cluster. The shared redis will stick around for a while, at least until we have a seamless replacement.
For what it’s worth, there are two things at play here:
We shouldn’t be building multitenant shared databases, it’s not what we’re good for!
People have discovered this pattern of running one VM per region and doing caching in memory
#2 is really interesting to me, because not using redis is a great simplifier for some apps. It’s one less thing to break. In app caching is fast, simple, easy to test, etc.
FWIW my Fly app is written in Go and I do in memory caching w/ golang-lru. The app also calls a Heroku hosted Redis server for reporting various metrics. So personally I never considered using the built-in Fly Redis instance. There’s no shortage of existing third party hosting providers.