Month: June 2016

Moving Resources between Resource Groups | Azure

From a best practise point of view, I try to use Resource Groups as containers for all items I consider as part of the same lifecycle.  This allows me to remove, delete and recreate what I need without fear of losing a component and generally allows me to be more efficient.  I like peace of mind.

However, when it comes to best practise sometimes it feels slow and cumbersome.  “This is the Cloud I don’t want to be held back by anything” I shout from the roof tops in my superhero pyjamas!

The truth is best practise and / or procedure shouldn’t get in the way of anything at all but if I’m just spinning up a few resources to test a lab someone has sent me on a payment gateway or vNet to vNet VPN set up, this pyjama wearing superhero isn’t waiting around for anyone.   I therefore plough ahead.

Thankfully for rash people like me the Move-AzureRmResource command comes to the rescue.  https://msdn.microsoft.com/en-us/library/mt652516.aspx

For single resources I would first get the details of the resource you would like to move, this is important because you may have named two resources the same (remember what I was saying about being rash).

Get-AzureRmResource -name "resourcename" -ResourceGroupName "resourcegroupname"

Once you have the details you can then specify the ResourceType in the variable call.

Set up the variable as follows with the ResourceType, ResourceGroupName and ResourceName. Then move the resource.

$Resource = Get-AzureRmResource -ResourceType "Microsoft.Network/virtualNetworks" -ResourceGroupName "resourcegroupname" -ResourceName "resourcename"
Move-AzurermResource -ResourceId $Resource.ResourceId -DestinationResourceGroupName "newresourcegroupname"

Please note: It will move dependencies, for example if you want to move a VM it will move the components such as Public IP and Network Security Group.  As is, you will be prompted that you want to move the resource and the associated resources, if they exist.

Moving resources is simple and easy.  Best practise is important and no Cloud architect should be seen in public in their superhero pyjamas!

Azure Commander over and out……

Disclaimer:  Please note although I work for Microsoft the information provided here does not represent an official Microsoft position and is provided as is.

Public Cloud Availability

If you are in the Australian IT industry it will not have escaped your notice that AWS has had an outage in a single availability zone in Sydney.  This has created a large amount of coverage online, some outrage, some opinion and a lot of WTF moments.

The volume of coverage goes to show how successful public clouds have become.

I cannot comment on the infrastructure of any public cloud let alone AWS. Before I worked at Microsoft I certainly used AWS and am familiar with it.  But I cannot and would not like to comment on how it is built and managed, the truth is like the majority I do not know and to be honest I don’t care. Amazon is a very large, very successful company and therefore it’s easy to assume they do a lot very right indeed.

I’m sure they have fully redundant systems, like all public clouds, and probably more redundant systems than you or I could shake a stick at.  However nothing is 100% and the availability of any system is the aggregate of the provided uptime of each component.  If that aggregate does not meet your business requirements you need to architect in redundancy to meet the accepted risk level the business is prepared to tolerate.

How many of these environments were too reliant upon a single data centre?  Too many by the looks of things.

When natural disasters hit they do tend to impact a city hard.  Look at Sydney today, Brisbane a few years ago.

Your cloud deployments need to be different.  You must architect for cross region redundancy or make the business aware of the risk.  Let the business requirements drive the strategy, cloud, hybrid or multi vendor.  After all it’s what we are here for to drive successful business outcomes.

Disclaimer:  Please note although I work for Microsoft the information provided here does not represent an official Microsoft position and is provided as is.