Backing up your Salesforce org in a DevOps world
Simon Breslaw on June 5th 2020
For a long time now, Salesforce has actively encouraged teams to have third-party backup solutions in place. We've explored some of the many reasons for this in our recent series of blog posts: why you need backup for Salesforce, why you need backups of both your metadata and data, and what data you need to back up. But when it comes to choosing the right backup tool for your team, there are other things also worth considering. This post sets out the benefits of going for a seamless and automated solution that integrates your backup and restore processes into your existing DevOps workflow and tooling.
A DevOps approach to backups
When disaster strikes, teams who work with mature DevOps processes are able to restore service very quickly. In fact, Google's industry survey for 2019 showed that high-performing DevOps teams restore service in less than an hour on average when there are disruptions, compared to low performers who reported restore times of between one week and one month. It's so easy to underestimate the enormous and potentially crippling cost of such a long downtime. Blocked work means less revenue and wasted staff costs, while your team has extra work to do repairing your org. All of the costs combined quickly amount to thousands of dollars every hour. But why do mature DevOps processes make such a large difference when it comes to recovery times?
Teams using cutting-edge tools and processes for Salesforce DevOps are extremely efficient at deploying metadata along their release pipeline and propagating real data to testing environments from production. These same tools and processes fit together quite naturally with the setup you need to recover quickly from disasters and service disruptions. Your first line of defence for recovering from data loss in these types of incidents are regular automated backups and a backup process that's frequently tested. But that's just one part of the backup and recovery story. As we never tire of saying, backups are only as good as your ability to restore from them. We pointed out in our post on why you need backups of both your metadata and data that restoring your org involves deploying both metadata and data from a backup. And here's where your usual deployment tooling comes in.
Say you want to deploy a large piece of work with lots of risky changes to your data structure, perhaps a large CPQ deployment or changes that use Batch Apex jobs to process thousands of records. In this kind of scenario, you don't just want to know everything is backed up beforehand, you also want to know you can restore that data effortlessly. You will feel so much more secure if you know that you can restore your data easily using the same tools you use to deploy and move data through your development pipeline. And in cases like this when you are about to deploy risky changes, you'd probably want an easy one-click option to kick off an extra backup run manually within your DevOps tool. In Gearset, you can start extra backup runs on demand:
Keeping your backup solution under the same roof as your DevOps tooling makes a lot of sense in other situations too. Not only can you recover your data using your usual deployment process if you make a mistake, but your orgs are all already connected and authorized in development situations. For example, a member of your team might want the option to deploy backup data to a sandbox for testing at any time. And when you do need to restore data, we don't recommend deploying from backups straight to production because you should test everything in a development environment first to avoid errors in your production org. This is easy to do if you're managing backups within your DevOps workflow and have all of your orgs connected already.
Make backups part of your DevOps process
Your backups are more than just a data dump. A backup solution that gives you an object-by-object audit trail of your daily backup history can also help you to monitor and analyse the changing state of the data in your org - you can't always rely on your users or your team to spot potential issues!
The ability to get smart, automated alerts about changes in your data is essential when you need to identify and respond rapidly to unwanted changes or deletions. Gearset continually monitors the changing state of the data in your org because it compares each backup with the data from the previous backup run. You get alerted immediately to any unusual deletions or changes, significantly speeding up your response and restore process. When setting up a backup job, Gearset lets you configure smart alerts that notify you of changes, additions and deletions to your important datasets:
Using the same familiar tool for both DevOps and backups
When time is of the essence in a disaster situation, you don't want your team to have to grapple with a tool that they're not familiar with or don't have access to. A tool that gives all of your team easy access to backup and restore functions from a familiar UI can make all the difference. Similarly, when you're onboarding new team members or reviewing your backup history, having all your DevOps tooling under one roof makes the process easier.
Lastly, managing a single account with one vendor and granting org permissions for one tool just makes things simpler from a purely administrative point of view. So for all of these reasons, a robust backup solution really is the missing piece that completes the Salesforce DevOps puzzle. And given that Salesforce is retiring its last-resort data recovery service on July 31st, there has never been a more pressing time to make sure you've put this final piece in place.
Want to try out an integrated backup solution?
To see for yourself how Gearset's backup solution addresses all of the points above and much more, try out Gearset's backup tool right now from within the app. If you're not already a Gearset customer, just click on the button below for a free trial. Gearset is ISO 27001 certified and has the highest standards of security. Our users' data is stored on our servers hosted on Amazon Web Services (AWS) - the same data centers trusted by Salesforce and Heroku. Get in touch via the live-chat below if you have any questions, or book a consultation with one of our experts.