Coming up
if you're an existing Azure user
we take a look at the new migration service
to help you move your IaaS resources
from classic to Azure Resource Manager without any downtime.
We'll give you a quick recap on the power of Azure Resource Manager
and show you PowerShell and CLI methods
to prepare and commit migration from classic to Azure resources.
Keep watching too
as we also answer some very common migration questions.
Microsoft Mechanics
So Corey, welcome back to the show.
Thanks!
One of the last shows we did was about Azure Resource Manager
and it got quite a lot of interest.
Yeah, it really was an amazing show Rick.
I thought most of it was because of you and me
but it turns out, actually, it was the content
and the very cool technology that we showed.
Last time if you remember
we showed a bunch of ability to create templates
and be able to manage those templates
and since then the community has really blown up
with hundreds and hundreds of templates
to be able to deploy using this great new technology.
You can deploy upwards of a hundred VMs in a single template.
We're seeing solutions from Cloudera, DataStax
all in this very easy to use model.
And, it's been really great to see customers
edit the templates right in the portal experience.
And even export templates that they built in that experience.
Ok but, one of the things that we didn't cover
was how you actually shift from classic mode
over to the Azure Resource Manager mode.
Yeah, that's right Rick while you've been hanging out here in the studio
Some of us have been very hard at work
on this new migration service.
It makes it incredibly easy for you to migrate from classic VM's
into the Azure Resource Manager VMs
So let me give you a little look here.
Before you get in there
a lot of people might still be wondering why
they should shift from classic over to resource manager.
Yeah.
You know there's really no rush for people to switch
The classic API is fantastic
and for people who are deployed there and like it,
they can go ahead and stay.
The main reason why people are moving over to Azure Resource Manager
is some of the features we talked about.
Role-based access control.
Tagging and being able to deploy in templates.
A lot of people are excited to go use that
and that's why they're switching.
We also recently announced the preview of the Azure Stack
This is another great advantage of the new Azure Resource Manager api's.
You can deploy a single template in both places.
A completely consistent experience.
And so it now allows you to build in One
and deploy On-Prem and in the public cloud.
Really great power.
Now let's get back to showing us
what's the best way to get started?
Absolutely.
So let's assume that you've got a set of virtual machines
that are deployed into a virtual network.
And see you can take a look at the existing portal here.
And I've got a set of virtual machines right here in SharePoint farm in fact.
Now, you mentioned virtual network.
Do I have to move the entire virtual network
or can I just move individual subnets of this?
Yeah, to maintain high availability as you move
you will need to move the entire virtual network
and won't be able to go subnet by subnet.
But the nice thing is, as you're doing this migration
there is no down time.
So let me show you.
If I actually look at this
I'm going to look at the same set of virtual machines here deployed
in the new portal.
And so I've got this ad - server - 1 here.
And i can go and take a look,
and this is the Active Directory server.
And I can log in directly into this.
And so if i want to let me just say
this is a cool demo.
ok and I'll go ahead and save that on that box.
This is just running active directory on windows server.
So that allows me to sort of get things ready
for me to go ahead and move forward on this.
So to do this, the first step you need to do is you actually need to
prepare the environment.
Ok, and so if i run this command here
this will actually prepare my environment for starting the migration.
Are we going to just sit here or are you actually going to show us something?
Rick you know prepared does take a little while
and what this is actually doing
this is actually validating whether everything's ready for this migration step.
So this includes looking at every virtual machine.
The configuration that I've used,
all the storage accounts, and so on.
And the goal is to make sure that after this step
we can do the final migration without having any downtime impact.
So a great example of this,
these virtual machines are set up to run in VNET.
But if they were not.
If they were running just outside of that VNET
in this case we would need to warn you
to let you know that this may cause a reboot
as we move these machines into a virtual network.
Creating this simulation does take a bit of time.
If I understood you correctly here with a simulation
are you actually making two copies of the cloud service?
And two copies of the VNET and two copies of the VMs?
What's going on here?
As we're doing this migration,
the interim step here and prepare is actually
creating two different endpoints on the same underlying physical resources.
So as we move from the virtual machine deployed in the classic mode
which has an API access to those virtual machines.
During the preparer step
we actually keep the virtual machine unchanged on the box.
We have classic API accessing it.
We also have the Azure Resource Manager API being able to access it.
So you can see it from both at the same time.
It allows you to validate your scripts.
It allows you to validate that all the tools that you're using will work.
And then from there
if everything looks great you can commit it.
And the classic will go away.
And you'll be able to just access this
using the Azure Resource Manager.
So let me show you actually
what this looks like in the portal experience.
Because you're in the portal right now
am i able to go in and edit all these Azure Resource Manager objects?
Yeah, unfortunately no.
While it's in this interim state,
we're going to keep all of that API access as read-only.
So you can't add a disk.
You can't update the network.
And this is mostly just to validate your system looks good
before you move to commit, and then you can of course go and edit it.
Ok, now if that didn't work great what can I do?
At that point you can abort.
So you see that I completed the preparer here
and I've got things up and running.
And so if I actually click in
you see I have the Active Directory server up and running.
And this is running here as a new virtual machine.
This is not running as a classic.
And as part of this if I connect to this
just like I would connect to any machine.
So this is currently sitting in prepare.
And I type in my password.
If I pull up the previous connection
and type in my password here and connect.
It will actually connect me.
And at that same moment you see the remote desktop got pulled down.
And so this switched me over.
But I connected using now
the new model instead of the classic model.
And so this session ended.
But during this whole period there was no disconnect at all.
Now this is still all read access, right.
You can see that I didn't add any disks.
Once i'm done with all this I can go in and decide and hit commit
and then everything will be locked
and I want to have the previous access there any longer.
One of the cool new features we have with Azure Resource Manager
is the ability to export resource groups.
Can you do that in this kind of environment?
Yeah, you know you finally got one right on this one, Rick.
it's really exciting to be able to in this prepare state
be able to do a direct export of what you've created
in the Azure Resource Manager.
And so you can see here I've actually clicked up the virtual network
that is hosting all of these machines.
And you can see actually the Knicks that have been created.
Now these were all created as part of the prepare.
And so they're created to make that transition possible.
And if I aborted, these would all get cleaned up as a part of that step.
And so if I actually go in here.
And this is the virtual network and click down to this this
export template button available in the portal.
It will pull up this template showing me exactly what this new API looks like.
And so here you can see all those virtual knicks that we've got deployed.
All of the settings.
You can even pull them up in the CLI
and see how to deploy that via the CLI or powershell.
So this is a great way to get a feel for what your application will look like
in the new model without again having committed anything.
I could still abort and go back to the old way.
Now what if I don't have a VNET?
Yeah, you know if you don't have a VNET
unfortunately we do need to migrate you from a cloud services instance to a virtual network.
And the process of that will take a reboot.
Because we need to change their internal IP
as we make that move into a virtual network.
Now if you want to keep your public IP during that process
which you can.
You need to reserve it in the classic mode before you move forward with migration.
Now I know some people are going to watch this and they're going to say
well why doesn't Azure just migrate everything for me?
Yeah you know we could we really could.
The problem is one, we don't feel the need that you have to move off classic
And two, all the things that is going to do in the prepare state
allows you to validate that your scripts work.
That your third-party tools work.
That none of those things are going to break before you go in and move forward with commit
And so the preparer state is really critical
to make sure that things are going to work in the meantime.
Now you mentioned PowerShell.
You give us a little hint there with the Azure CLI.
What if I'm a Mac user or if I'm working with Linux environments.
Is that CLI going to work for this migration process?
You know with the mac or with Linux
you can use the Azure CLI and do everything that I just walked through there as well.
No problem.
So, if I have all these Azure resources and I want to get started
where do I go?
Yeah everything I just showed you you can find clearly described in the link below.
Thanks man.
Well folks that's about all the time that we have for today.
keep on watching Microsoft Mechanics for all the latest updates.
Bye for now.
Microsoft Mechanics
www.microsoft.com/mechanics