Instead of continually patching our web servers we opt to throw them away every two months after provisioning new replacements.
We use AWS to virtualise our public facing servers so building new is not traumatic as it sounds. In fact we’ve gotten it off to such a fine art that we can make a new web server and migrate all data in around 15 minutes.
Timing is everything as we don’t want to lose any orders, so were careful to migrate the database last and validate that we have not lost any data.
The only down time is caused when we regenerate our SSL certificates. This requires a 2-3 minute downtime while we apply the certificates, make the IP address changes and bounce the stack to make sure it all comes online as expected.
So we’ve made this as routine and automated as possible. If you are unlucky enough to see a server error, just try again in two minutes. You’ll probably be connecting to a brand new web server.
We still patch our installation weekly and this can stop the web services for about 15 seconds. This is quite a different process to moving the server and data to a new home though.
In the background we also migrate our server onto a replica of production for testing purposes.
By the time you can read this, the servers will have been migrated.