How Do You Update A Live Heavy Traffic Site With Minimum Or Zero Down Time?

Technology CommunityCategory: Software ArchitectureHow Do You Update A Live Heavy Traffic Site With Minimum Or Zero Down Time?
VietMX Staff asked 3 years ago

Deploying a newer version of a live website can be a challenging task specially when a website has high traffic. Any downtime is going to affect the users. There are a few best practices that we can follow:

Before deploying on Production:

  • Thoroughly test the new changes and ensure it working in a test environment which is almost identical to production system.
  • If possible do automation of test cases as much as possible.
  • Create a automated sanity testing script (also called as smoke test) that can be run on production (without affecting real data). These are typically readonly type of test cases. However depending on your application needs you can add more cases to this. Make sure it can be run quickly by keeping it short.
  • Create scripts for all manual tasks(if possible), avoiding any hand typing mistakes during day of deployment.
  • Test the script to make sure they work on a non-production environment.
  • Keep the build artifacts ready. e.g application deployment files, database scripts, config files etc.
  • Create a checklist of things to do on day of deployment.
  • Rehearse. Deploy in a non-prod environment is almost identical to production. Try this with production data volumes(if possible). Make a note of time required for your tasks so you can plan accordingly.

When doing deploying on a production environment:

  • Use Green-Blue deployment technique to reduce down-time risk
  • Keep backup of current site/data to be able to rollback
  • Use sanity test cases before doing a lot of in depth testing