Turboku is a tool for launching Heroku web dynos on fast infrastructure. It works by giving you modern SSL + http2 and launching dedicated micro VMs on physical hardware.
Fly is the quintessential low bar high ceiling service. It can greatly reduce round trip time for any apps and is one click easy for Heroku— but if you dig a little you will realize you can move pretty big tasks to the edge too: for example image rescaling on demand, dynamic request routing with your logic, or really anything you might want to do at the app server level, just faster. This team has built the future of web infrastructure.
Interesting idea!
I've been a long time Heroku customer (very long time) and I'm curious how it would work vs some addons, the most important being the hosted Postgres database, database backups, etc.
I don't see anything about that in the doc, at first.
What would the migration path look for someone like me with multiple process types (web, sidekiq, cron/clock, etc), a PG database, a Redis database?
And do you have a single server farm or multiple ones with redundancy?
Don't get me wrong, I really love the idea. I'm just trying to figure out what could be the first steps of an eventual migration :)
Cheers
@jipiboily It's actually relatively simple, we just run the web dynos. The workers/dbs/etc all just stay where they are. If your Heroku app is in the US, we launch them on servers in Virginia. If it's in Europe, we launch them on servers in Amsterdam. Config variables are synced on each deploy, so you don't have to manage the app separately once it's deployed.
You can actually scale your app to a bunch of regions after it's launched, if you want: `flyctl scale hkg=1 sjc=1 ams=1` would run one process on 3 different continents.
We have a lot of servers, multiple per city. If our Viriginia site gets hit with a meteor your app will boot in New Jersey, which is worse for latency to your DB but a nice fallback anyway.
Howdy hunters! We really love the Heroku developer UX. We also love fast, full stack applications. We were bantering about this one night and someone said "what if we could just pull apps straight from Heroku and run them on better infrastructure?"
So we fiddled with it for a few days, and were a little surprised to discover it would work.
Turboku grabs a build tarball from Heroku's API and generates a Docker image, which we launch as micro VMs on our physical servers. Our routing layer is a bit more modern than Heroku's, so web dynos on fly.io get the benefit of global TLS termination, http2, and brotli compression. These things all add up! Most Heroku apps on Fly respond 400-500ms faster to users.
Devs can make them _even faster_ by running them in more regions. Even full stack apps can run globally with a little elbow grease!
We're really happy you all are looking at this, please let us know if you have any questions.