Azure – Migrating resources between different Azure subscriptions

azurecloudcloud computingcloud-hosting

I have a few questions for the Azure gurus out there. I work for a software development house and I have been asked with coming up with our Azure infrastructure. The idea I had is to set up three Pay-As-You-Go subcriptions for the following departments:

1) Production (live environment).
2) Quality Assurance.
3) Testing.

My questions are:

1) When creating resources such as websites; virtual machines et al, can they be migrated between the various subscriptions? Here's a scenario: let's say we're launching a new application but first we need to test it. So we first place it in Testing. Once rigorous testing has been carried out, we move it to Quality Assurance. Afterwards, we move it to Production (live environment) when all quality checks have been exhausted.
2) I am also developing a security matrix where a user in one department cannot alter anything in another department.

What say you ladies & gents? Is it feasible?

Best Answer

Michael - the migration process you use will depend very much on the underlying infrastructure / service you are using.

As a starting point I'd suggest looking at how you can use build services to auto-deploy software you build. The MSDN documentation is a good starting point.

  • Websites and Cloud Services (Web or Worker Roles): you will need to re-deploy your code to the appropriate instance in the right subscription. You can't "move" the underlying hosting infrastructure.
  • Services hosted on Virtual Machines: you can move VMs between subscriptions but it requires a fair amount of effort depending on what other dependencies you have (networks, databases, etc). Your best bet is to try and take the same approach you would for websites / cloud services.
  • Azure SQL Database: you need to backup / restore the database between the subscriptions.
  • Other Azure Services: will depend very much on what is deployed (sorry if this one is vague but there's a lot of moving pieces in Azure).

Typically finding ways to script or automate the deployment / redeployment of any solutions you build would be time well spent in your scenario.

Related Topic