Note: Since this article was written, Salesforce has announced (21/09/21) their own Backup and Restore Service. No pricing information is currently available, but more information can be found here.
In mid-2020 Salesforce announced they were retiring their own Data Recovery Service, a tool that could be used as a last resort for customers that experience otherwise irretrievable data loss. This came as a significant surprise to the Salesforce community and led to very healthy discussions around data governance in general and backup strategies in particular.
The Data Recovery Service costs $10,000 per use and took 6 to 8 weeks to deliver recovered data. So, while it was reassuring to know that Salesforce could save the day if worst came to worst, actually using the service is not a decision to be taken lightly.
Salesforce subsequently announced (March 2021) they were doing a u-turn and reversing their decision to retire this service. Their full statement can be found here.
All of this news triggered increased buzz around companies offering services and solutions to backup your Salesforce data, but which one to choose? The market leader is probably OwnBackup and, while they have an amazing solution, the base cost was off-putting to many of our non-profit customers. However, there are a couple of more affordable options in Spanning and CloudAlly, and we wanted to know how these compared to each other and the native Salesforce Backup (data export) options.
First of all, let's establish some common language for the comparisons:
Salesforce has always and will continue to offer their Data Export option from the Setup Menu. This service is free of any additional charge and, as shown below, allows you to take control of your record data backup.
Once the export has completed, you will be notified via email and the files will remain available for 48 hours for you to download. This presents a small administration overhead as somebody has to physically go to this page and click on each link and download the files.
You’ll also need to store the downloaded data files somewhere, preferably in the Cloud. Amazon, Microsoft, Google, BOX, and Dropbox to name a few, all have quite affordable Cloud Storage offerings.
Restoring the data is a totally manual process. You will need to use one of the Salesforce data import tools (Dataloader or Data Import wizard) to restore data. In practical terms, while this capability does enable you to backup your data relatively easily, any restore activity is going to be laborious and needs careful planning.
Spanning is a Salesforce native solution available to download from the AppExchange. The service entitles you to ‘infinite’ cloud storage, allowing you to store every backup in principle forever, providing you keep up your annual subscription. It’s competitively priced on a Per Active Salesforce User / Per Year basis. They also offer a further discount for Non-Profits and Charities.
Whenever you are storing personal data, there are regional regulations that need to be considered. Spanning has this covered, as you can choose which region your data is stored within, and this can be verified upon request for any audit requirements.
If you already have an Amazon (AWS) Encryption key, Spanning gives you the option to encrypt all your data stored on their platform with your own key for an extra level of security.
The Spanning dashboard can be viewed on a laptop, desktop, tablet, or mobile device, all giving a unified interface with clear graphics for a great user experience. If something did not complete properly or needs your attention, the colour coding in the interface makes it visually clear and highlights these items for action, plus the email notification of course.
Spanning backs up record data and metadata both of which can be restored independently.
When it comes to restoring data, then you can see the data that has changed (updated or deleted) since a particular backup and select records to restore accordingly, either into the production Org or another Org. You can restore child documents as part of this process and you can target specific fields in the record(s) that you are wanting to restore. You can also restore by specific ID(s) if you prefer to target data in that way. It is important to note that the metadata in the target Org must match that of the backup, else any restore will fail.
If you want to restore metadata then you can select numerous types of metadata including Object definitions, Flows, Page Layouts, Reports, Apex, etc. The process allows you to pick specific metadata (although we couldn’t find a way to restore specific fields for an Object, only the whole Object definition). If you want to identify metadata that has changed since a backup then you can run a compare.
Overall restoring data or metadata on Spanning is very straightforward and comprehensive.
The reporting tool and graphs show a concise historical report so you can spot trends and data storage changes (up or down) that may need warrant further investigation. The reporting also covers Spanning’s own Activity and Settings History. You can review when settings or backup changes were made and by whom, giving full audit visibility which is critical when working in a team.
In many ways, CloudAlly is similar to Spanning, but there are some important differences. Unlike Spanning, CloudAlly does not get installed as a Salesforce App. Instead, it is a separate service that sits outside your Org. Although metadata can be backed up and downloaded in a CSV/Excel format, it cannot currently be restored directly via the service. We understand that CloudAlly does plan to implement this functionality, but there is currently no ETA.
CloudAlly is very easy to set up, again using the Salesforce API to perform backups and restores. One of the benefits of not being native to Salesforce is that you can also backup other environments from the same dashboard (see screenshot below). For example, in addition to backing up Salesforce, you could also backup Box, Dropbox, or OneDrive.
You control CloudAlly through a simple dashboard, where you set the schedule for each backup (e.g. daily, every 3 days, or weekly). CloudAlly automatically assigns the correct data storage location for your region, so regional data storage compliance again appears to be handled.
You can compare data between backups, and between backups and your production environment so that you can quickly see what has changed. Also, you can set alerts to inform you when new records are added, changed, or deleted based on various rules.
You can use the backup to push a selection of record data into a different Org. There are various options here from using a full backup through to the use of SQL statements to select specific data. As with Spanning, it is again important to note that the Object metadata has to match that in the target Org. All in all, this does appear to be a very nice way of getting some test data into a Sandbox.
If you need to restore some specific record data back into your production environment, then this can be done either by entering search criteria, or you can just compare data between the production environment and any of your backups. This enables you to identify changes and select specific records to restore or download if you prefer. You cannot select specific fields to restore, so it will restore all data for the record(s) that you have selected. Obviously, if you download instead of directly restoring then you could manipulate the data prior to importing using the various Salesforce data import tools. Again, if you want to restore direct into an existing Org then the metadata of the Objects selected must match.
You can see all of your activity via a simple search and filtering screen, although you can’t easily see storage volumes as you can with Spanning.
CloudAlly is marginally easier to set up as you don’t need to install an App. Also, if you want to backup other environments (e.g. Box or OneDrive) you can do it all from the same screen.
Both are very easy to configure your backups and schedules. This literally takes about 5 minutes.
Both are very easy to restore your backups. Spanning has the advantage of already allowing metadata restoration. While CloudAlly has metadata restore on the roadmap but with no ETA at the moment. This is a particular disadvantage if the metadata of an Object has changed between backup and restore as you will need to either manually revert the metadata back to the state it was in at backup (not advised) or you will need to download the data, manipulate if needed and import manually into Salesforce. In addition, you can target specific fields to restore on Spanning whereas you can’t do this currently on CloudAlly.
For Salesforce backup, the list price for CloudAlly is slightly cheaper at $3 per user per month vs $4 for Spanning. Both offer discounts for non-profits, bringing Spanning down to $3 and CloudAlly to $2.10.
If you are looking for a more efficient backup solution that requires minimal effort and affords simple, but somewhat limited, restore capability, then we would lean towards CloudAlly as our recommendation. It’s slightly cheaper, very easy to set up, and handles backups very well. However, if you need a little more sophistication on restore capability, specifically around metadata options, then you will need to look into Spanning. If you need extensive restore capabilities then OwnBackup (not covered in this blog) may well warrant that extra cost. Spanning is a little bit more complex to set up, but nothing too scary, and once you have the backups running, the ability to restore specific metadata i.e. Page layouts or flows, could be very attractive for certain customers.
A final note is that Spanning has recently been acquired by Unitrends. Unitrends work through a distributor network and we found this process to be pretty challenging when trying to get final quotes and processing an order. Presumably, this will get sorted out, but for the moment at least, CloudAlly was much easier to work with.
This blog has focused on the comparison of backup and restore functionality between Salesforce Backup, Spanning, and CloudAlly. Whilst the different solutions offer different benefits, it should be noted that whenever you need to perform a restore, whether it be of metadata or record data, you must consider the implications of that restore very carefully. Specifically, if your Object metadata has changed since the backup you are restoring from, then you will need to re-align this metadata before restoring, and this may have significant implications. As such, while the paid-for options undoubtedly make data restoration easier, the time saved might be minor compared to the work you need to do to ensure that the data is restored in a way that maintains the overall integrity of your environment. That said, both Spanning and CloudAlly provide very cost-effective and straightforward backup that we would encourage our customers to seriously consider.
If you want to know any more about these solutions or see a demo, please do not hesitate to get in touch.