fly.io
is a new type of Platform-as-a-Service (PaaS)
for deploying web Apps/APIs
closer to the people using them.
Much like a
Content Delivery Network
(CDN)
where there are copies of your static
content
stored on "edge" nodes close to the people (devices)
consuming the content,
Fly.io replicates your Application
so that it is closer to the people using it.
On the surface it looks like a great way to deploy Elixir/Phoenix Apps and they are committed to making the experience great.
A new way of deploying Elixir/Phoenix apps that will continue to get better because they hired Chris McCord (creator of Phoenix!!)
Pricing seems "fair", or at least comparable to AWS. See: [learn-devops/issues/72][#72 (comment)]
Fly.io are funded by YCombinator and a few others ... Obviously, we would prefer if they were independent, but we totally understand that building this kind of service requires considerable capital investment in the form of both infrastructure and engineers.
I suspect they are piggy-backing on AWS/GCP/etc rather than running their own servers. But they still have the job of making it all seamless.
Following the "Hands on with Fly" (getting started guide): https://fly.io/docs/hands-on/start/
https://fly.io/docs/hands-on/installing/
I'm using homebrew on mac so:
brew install superfly/tap/flyctl
Followed: https://fly.io/docs/getting-started/elixir/
Created the PR for deploying Hits to Fly.io: dwyl/hits#128 (detailed log in the PR)
The process for deploying a Phoenix App was a bit long ... ⏳ (lots of steps...)
But the docs were good and when I got stuck their forum was useful.
The Fly.io web interface is still very basic: https://fly.io/apps/hits/metrics?range=172800
Fly.io seems to be good so far. My plan is to check-in with the Hits App on Fly on a weekly basis and see how it's doing. Right now I'm just stoked that it's working and has fast response times.