I spent a bit of time looking over the docs of Fly.io.
It caught my attention a few days ago due to a blog post that mentioned their very fast VM start times:
https://fly.io/blog/fly-machines/
Having fast-starting #Firecracker #VM managed by somebody else is catnip for me: it's perfect for safely running https://dropserver.org appspaces.
@b0rk tried to DIY a setup but it's hard to do well: https://jvns.ca/blog/2021/01/23/firecracker--start-a-vm-in-less-than-a-second/
Unfortunately, taken as a whole, I found some issues with the Fly.io offering:
1/
The biggest issue is the limitations around volumes. If you want to write files to a local disk in such a way that the data persists, then you have to use a volume.
Unfortunately, Volumes are not replicated. Drive breaks? bye bye files.
https://fly.io/docs/reference/volumes/#volumes-and-redundancy
Therefore you have to have multiple volumes. But the synchronization of data between volumes is entirely up to you.
2/
Doing that sync is a lot of additional work, and it's not clear how to implement that at all, since you can only attach one volume to one machine at a time.
So that cooled my enthusiasm significantly for now.
But maybe there are other options? Maybe I can use object storage of some sort? Will the latency be OK?
Or maybe one day they'll offer something like #Linode's block storage:
https://www.linode.com/products/block-storage/
It's "Resilient and Fault Tolerant" as one would expect for such things.
3/3