Skip to content

Instantly share code, notes, and snippets.

@archmangler
Last active September 22, 2018 17:38
Show Gist options
  • Save archmangler/2aa72c917c788e7fd335c80bad8d866b to your computer and use it in GitHub Desktop.
Save archmangler/2aa72c917c788e7fd335c80bad8d866b to your computer and use it in GitHub Desktop.
AzureRM Recovery Services Vault High Level Design Questions
AzureRM Recovery Services Vault
===============================
Key Questions before deploying?
===============================
1. What is it (purpose, and architecture)?
1.1 what is it:
- A Recovery Services vault is a storage entity in Azure that houses data.
1.2 What use cases apply to it?
- You can use Recovery Services vaults to hold backup data for various Azure services such as IaaS VMs (Linux or Windows) and Azure SQL databases.
- point in time recovery of VMs
- file recovery of VMs (without having to recover the entire VM!)
1.3 What is its default deployment architecture?
- no deployment architecture: It's a service
- Inbuilt into the cloud platform
1.4 What (feature) benefits does it provide?
Overall: "Recovery Services vaults make it easy to organize your backup data, while minimizing management overhead."
- Secure backup vault
- Monitoring of backups
- RBAC
- point in time recovery of VMs.
- recovery of specific files in VMs
1.5 What artifacts does it operate on?
- The data is typically copies of data, or configuration information for virtual machines (VMs), workloads, servers, or workstations.
2. What is good for (When is it best used)?
- When secure backups in the cloud are required for DB and VMs
- When point in time VM recovery is needed
- When granular file level recovery is needed
- Where backups with RBAC are required
- Including monitoring (including monitoring of on-premise backups - hybrid cloud characteristics)
3. How to use it (in the context of the Enterprise)?
- How do you integrate this into a comprehensive "Disaster Recovery Solution"
- What procedures are required to make use of this in a DR context?
4. What are the (Technical) best practices for implementing AzureRM Recovery Services Vault?
6. What are the failure modes of this solution?
7. How does one recover from an AzureRM Recovery Services Vault failure?
8. How do you scale this solution?
- Within an Azure subscription, you can create up to 500 Recovery Services vaults per subscription per region.
9. How to automate deployment and and management (what does the terraform code look like)?
10. What are the economics around it (OPEX)?
11. What are the alternatives (how does it stack up against the alternatives)?
12. What should it integrate with and how should it be integrated?
- Recovery Services vaults support System Center DPM, Windows Server, Azure Backup Server, and more.
13. Reading References and resources:
- Terraform:
- Deploy or Import a RSV:
- https://www.terraform.io/docs/providers/azurerm/r/recovery_services_vault.html
- Running feature request: Support AzureRM VM backups In Terraform
- https://github.com/terraform-providers/terraform-provider-azurerm/issues/1143
- https://github.com/terraform-providers/terraform-provider-azurerm/issues/460
- Ongoing work on RSV support in Terraform: https://github.com/JamesDLD/terraform
- Workarounds:
- Using ARM templates:
- RSV backup policy with ARM template: https://adinermie.com/terraform-is-not-the-cloud-agnostic-platform-you-think-it-is/
- Using Powershell and local-exec provisioner:
- https://gist.github.com/archmangler/3ca8a5d3e7cf7e4cc7e2e68ff903be62
14. Issue list
(Issues encountered during implementation)
- Terraform doesn't seem to support (native) VM creation with an option for backup to existing Azure RSV, at this time (22/09/2018). Are there alternatives e.g ARM template?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment