Hi… Yes, it’s true, your Machines can be shut down without advance warning—other than the SIGXXX
itself—and this is part and parcel of the normal operating regime of the platform.
(You’re not the first person to guess otherwise, though.)
This inherently holds for all Machine classes, not just shared
, incidentally.
See the following for more background on why this is essential and what constraints you can rely on (esp. when maintaining a database cluster):
https://community.fly.io/t/psa-machine-migration-has-started-again/20265
https://fly.io/docs/reference/machine-migration/
https://fly.io/docs/reference/configuration/#kill_timeout-option
More broadly, Machines aren’t intended to be VPSes, but rather to lean more toward Amazon Lambda in terms of disposability. (This is my understanding from what Fly.io people have said themselves, in the past.) To use the platform effectively, you need to architecture around that…
Hope this helps a little!