4 ms·
If you're willing to put in extra effort, you never need to have scheduled downtime. A few simple examples. 1) Deploying new code? Spin up a new server behind
by leros 3y ago
If you're willing to put in extra effort, you never need to have scheduled downtime.
A few simple examples.
1) Deploying new code? Spin up a new server behind your load balancer with the new code. At this moment, you have both the old and new code live, so everything needs to still work with both versions out there. This requires extra work. Then you can take down the old server running the old code.
2) Updating a database schema? Fork the database, apply the schema update to the fork. Ensure writes can be applied to both the old and the new schema. Update your code to read from the new schema. Remove the old database schema. Again this process requires extra work.
The analogy for this is "changing the tires on a car while driving down the highway". It's easier to pull over and change a tire, but you could find a way to change a tire while driving if you really needed to.