Azure DevOps Backup and Recovery

I have been asked on a number of occasions if a third-party backup solution for Azure Azure DevOps would be required.

Hopefully this article helps to resolve that mystery, or gives you something more to think about as the answer will depend on your situation.

First of all lets look at the recovery options already available. The table below highlights the key backup and recovery features.

FeatureDetailsUseful Reading
Azure DevOps SLA99.9%https://learn.microsoft.com/en-us/azure/devops/organizations/security/data-protection?view=azure-devops
HAReplicated to regional pair i.e. if the primary location was UK South the replica would be in UK West – the data is not transferred outside of the geographical regions https://learn.microsoft.com/en-us/azure/devops/organizations/security/data-protection?view=azure-devops
HA FailoverMicrosoft Initiated (not automated and can’t be requested)https://learn.microsoft.com/en-us/azure/devops/organizations/security/data-protection?view=azure-devops
Organisation Backup28 Days from the point of deletion https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/recover-your-organization?view=azure-devops
Project Backup28 Days from the point of deletionhttps://learn.microsoft.com/en-us/azure/devops/organizations/projects/delete-project?view=azure-devops&tabs=browser#restore-a-deleted-project
Built-in service asset recovery solution’s:
Pipeline items*30 Days and is restored from the Recycle Bin or YAML imported from Repo https://learn.microsoft.com/en-us/azure/devops/release-notes/2019/pipelines/sprint-147-update#restore-deleted-release-pipelines
Board items*30 Days and is restored from the Recycle Binhttps://learn.microsoft.com/en-us/azure/devops/boards/backlogs/remove-delete-work-items?view=azure-devops
Artifacts*30 Days and is restored from the Recycle Binhttps://learn.microsoft.com/en-us/azure/devops/artifacts/how-to/delete-and-recover-packages?view=azure-devops&tabs=nuget
Test Plan itemsNo
Repo’sGit based revert/commit/Branch TFVC Rollback Changehttps://learn.microsoft.com/en-us/azure/devops/repos/git/undo?view=azure-devops&tabs=visual-studio-2022https://learn.microsoft.com/en-us/azure/devops/repos/tfvc/roll-back-changesets?view=azure-devops

Note: If the user (with the correct level of permissions) enters the recycle bin and selects permanently delete item then the asset/item will be removed and can’t be recovered

What have we learnt. Backups are retained for 28-days after a project or organisation is deleted. Asset recovery is available by using the recycle-bin and is kept for 30-days or your source code can be reverted or rolled back. Therefore your business will need to answer the following questions.

  1. Is it important to be able to restore accidently deleted DevOps Projects and Organisations beyond the 28-day window
  2. Do you need to be able to restore Pipelines and Board Assets/Items beyond the 30-day recycle Bin
  3. Do you need the ability to granularly restore Test Plans?
    1. Note: Although these will be in a deleted Organisation and Project Backup – Granular asset restores are not part of the built in service. so, once a test is deleted it can’t be recovered
  4. For Repos are you looking for a recycle bin restore? rather than using the built in Git capabilities

If you answer yes to any of the questions from points 1-4 then you will need a third-party backup solution from the likes of Keepit (https://www.keepit.com) or Backrightup (https://backrightup.com).