The main advantage is, that I don't have to worry about hosting and the simplicity of deploying Phoenix applications (I don't know how well Fly.io works with other stacks).
The CLI is dead simple, and as with any other 3rd party services: if it works, you're in heaven - if doesn't you're in hell.
The reason I went with Fly.io was the following:
- It's pretty cheap (e.g. <5$ is free), I have been using it for a few months, and just hit the 5$ limit
- It's easy to migrate to a different service, if Fly gets expensive (again for my elixir / phoenix projects)
- The community support is great!
Some improvements Fly.io could make:
- I had an issue with blocked ports on my side and ended up wasting half a day to figure out why certain commands worked and others didn't. Again this is on my side. The error message could be better than saying: "Error tunnel unavailable: failed probing "personal": context deadline exceeded"
- Once in a while the something is down ([1])
- The billing is not very clear (e.g. split by projects could be useful, then instead getting an overall usage)