Back up the complete database and website files before every update. At minimum, preserve private/env.php, uploads, private stored files, every v7 custom theme source directory, and each custom theme compiled build directory. Store the backup outside the live web root and confirm that it can be restored.