418 karma · joined March 1, 2009
[ my public key: https://keybase.io/michaeldwan; my proof: https://keybase.io/michaeldwan/sigs/nuRkP0cbBY0W8gQIIKRUBJK6b8SBbxGT5MxpzBi6iN4 ]
Your push example is interesting. We don't have a way to connect to redis from outside fly, but you could certainly boot up a tiny app on fly that acts as a proxy from external apps into the fly redis.
As you said, they're both going deep for JavaScript apps (and doing an awesome job at it!) and we're focusing on being an awesome place to run full stack apps and exotic (non-http) servers.
You should also checkout something like FaunaDB.
We've gotten so many comments about the docs, I wish we could open source something but it's tightly coupled to other things that aren't useful to anyone else.
Our main Rails app does a bunch of things that can't run globally and it takes a long time to build while the customer facing app is a lightweight Rails app that consolidated several static and single page react apps into one less gross place.
- image, video, audio processing near consumers
- game or video chat servers running near the centroid of people in a session
- server side rendering of single page js apps
- route users to regional data centers for compliance
- graphql stitching / caching (we do this!)
- pass through cache for s3, or just minio as a global s3 (we do this!)
- buildkite / GitHub Action agents (we do this!)
- tensorflow prediction / DDoS & bot detection
- load balance between spot instances on AWS/GCP
- TLS termination for custom domains
- authentication proxy / api gateway (we do this!)
- IoT stream processing near devices
CloudFlare Workers is a fantastic serverless function runtime, but we're a layer lower than that. You can actually build it on top of fly.edit: formatting
It seems like no two apps have the same scaling needs, so if you have any questions or can't make something work let us know and we'll help!
You're exactly right about the Heroku deploy. We convert your app's slug to a Docker image and launch the web process in it. DB & other dynos still run on Heroku.
We don't have any hard connection limits on the redis cache. It's usually not an issue anyway since apps are often distributed across many regions and many redis servers.