Upgrading system and applications are important and major part of a DevOps role. Below are the general guideline to take while performing an upgrade.
Take a snapshot
Take a snapshot, create a backup, or image before an upgrade is very important in case we need to rollback.
Practice the upgrade process
Work out the process on a development environment, staging or test box before doing the actual upgrade, especially if it is for production environment.
Automate as much as you can
Try to automate the upgrade as much as you can, so we can repeat the process on other boxes or environment.
Take notes especially on things that we cannot automate .
Have a runbook
List all the automation and manual steps to run in a runbook, which we can follow during the upgrade process
Prepare a rollback strategy
Ensure we know the steps to rollback if needed
Have peer reviews
Get peers or seniors to review the automated steps and runbook.
Have a helpline or support ready
Have a helpline or support ready during upgrade in case things go south during upgrade