If you were an early adopter of Microsoft Azure’s cloud computing infrastructure, you are probably well aware that Microsoft is no longer updating their “classic” Azure Service Manager (ASM) portal. While Microsoft is working on tools to migrate from ASM to ARM; there are many businesses that will find themselves in an unsupported migration scenario. For those wondering, migrating a cloud service web or worker roles through PowerShell is not possible. I reached out to Microsoft and their direct response was:

PaaS Cloud Services doesn’t have a v2 version and there are no plans to migrate PaaS cloud services to v2 so customers will need to continue using the v1 services as they have.

Below is a guide that walks through the steps required to migrate two web server virtual machines which are load balanced inside a cloud service and is part of an availability set. If you have anything less, it will still work as long as there are no web or worker roles attached to the same virtual network.

Disclaimer: Please keep in mind the guide below will cause irreversible changes and is provided “AS IS”. It is highly recommended you understand what you’re doing and should do a migration in a test environment prior to doing this in production. Celedon Partners cannot and does not assume any responsibility or liability for any way this information is used.

Step 1 – Launch your Powershell ISE and prepare

Step 2 – Create a new virtual network and migrate the VMs

Step 3 – Migrate the storage of the classic VMs to the new ARM portal

 

Step 4 – Clean up

  • When you login to the new ARM portal, you’ll probably notice newly created resource groups with “-Migrated.” At this point, you will want to create a new resource group and consolidate all the migrated resources back into one group

 

  • Select one of the migrated resource group, click move, select the resources, select the resource group and click OK. Repeat for all migrated groups. It will take a bit of time to move all the resources so be patient.

 

At this point, the migration is complete. All that’s left would be to test the new ARM VMs and address any minor issues as they arise.