3 ms·
It's simpler then that: "zero downtime" isn't free, and has a direct cost to implement - one you potentially pay every single migration, for which you do not ne
by XorNot 5y ago
It's simpler then that: "zero downtime" isn't free, and has a direct cost to implement - one you potentially pay every single migration, for which you do not necessarily make enough or any money back on.
In particular most SaaS providers with a subscription model would be hard-pressed to care: they're not selling ads per click, so provided you don't lose users over it, there's zero value. In fact it's probably more valuable to take the downtime and use the savings in dev time and effort to ensure you have an expedient rollback and recovery strategy - that will cost you users.
- KiranRao0 5y ago> "zero downtime" isn't free, and has a direct cost to implement Thank you for writing this. I was implicitly trying to convey this in the article, but glad to have it be explicit.
- WJW 5y agoAt least for Rails there are several gems available (ie https://github.com/WeTransfer/ghost_adapter https://github.com/WeTransfer/ghost_adapter or https://github.com/departurerb/departure https://github.com/departurerb/departure) that seamlessly hook into the existing migration system and will run all eligible migrations through gh-ost or pt-osc as needed. You're right that it's not free but it isn't all that far off either. That said, online schema migrations are a specialized tool designed for very big tables that take hours to run an ALTER TABLE on. If all your tables are small enough that alterations take less than a second or so, don't bother and just block the table for a bit. It's fine.