I have two new
fly deploy improvements to share:
This can be helpful for complex, multi-process apps with distinct workloads, for example heavier, stateful machines running alongside lightweight, stateless, auto-scaled machines. In some cases, you may want to quickly deploy updates or configuration changes to the lightweight service while leaving the heavier one unmodified, whether it’s to complete deploy more quickly or to minimize the impact of restarting machines in a process group. This is now possible using the
As of flyctl v0.1.119, deploying to machines with auto-scaled services (with either
auto_start_machines enabled) will no longer restart machines currently in the
stopped state. Previously,
fly deploy would restart all machines in the app, effectively scaling your service up to its max count on every deploy. Now with this change, all machines will still be updated with the new app configuration, but machines associated with an auto-scaling service will remain stopped so your service will continue running at its current scale. This change should make deploys to auto-scaled services quicker, and allow for smoother scaling across deploys.
Hope these changes are helpful! Please let me know if you have any related questions or feedback.