1
00:00:00,940 --> 00:00:04,900
In this demonstration, we'll learn to use the App Service Migration Assistant.

2
00:00:04,900 --> 00:00:06,130
Let's see, what are we looking at?

3
00:00:06,130 --> 00:00:09,970
We're looking at the desktop of a Windows Server 2022

4
00:00:09,970 --> 00:00:11,660
member server, it's a web server.

5
00:00:11,660 --> 00:00:14,140
If I bring up the IIS Manager,

6
00:00:14,140 --> 00:00:17,970
I just have used the default website here in the manager,

7
00:00:17,970 --> 00:00:19,970
and I've already got the site loaded up.

8
00:00:19,970 --> 00:00:24,070
It's just, you know, a relatively simple Blazor Pages app here.

9
00:00:24,070 --> 00:00:27,350
I've customized it a little bit, as you can see.

10
00:00:27,350 --> 00:00:29,300
It's got a couple of pages in it, you know,

11
00:00:29,300 --> 00:00:33,330
it's just something to give us something to work with in terms of

12
00:00:33,330 --> 00:00:36,200
proof of concept given the scope of what we're doing.

13
00:00:36,200 --> 00:00:39,950
Now, you can download the App Service Migration Assistant.

14
00:00:39,950 --> 00:00:41,540
Just do a Google search for it,

15
00:00:41,540 --> 00:00:44,400
and you can find it at the Microsoft Download Center.

16
00:00:44,400 --> 00:00:47,450
It's a free download, it installs in just a minute,

17
00:00:47,450 --> 00:00:49,400
it's a desktop app, and here it is.

18
00:00:49,400 --> 00:00:51,840
I apologize that the text is kind of small.

19
00:00:51,840 --> 00:00:55,920
I record at 1020 and depending upon what your form factor is,

20
00:00:55,920 --> 00:00:58,870
this is all the more reason frankly for you to install

21
00:00:58,870 --> 00:01:00,500
it in your own test environment.

22
00:01:00,500 --> 00:01:04,940
So, as you can see on the left here, we first choose a site.

23
00:01:04,940 --> 00:01:08,240
These are sites that are detected on the local computer.

24
00:01:08,240 --> 00:01:11,020
We'll then do an assessment, login to Azure,

25
00:01:11,020 --> 00:01:14,350
tie into Azure Migrate, and go on from there.

26
00:01:14,350 --> 00:01:19,010
So let's just select the Default Web Site and click Next to continue.

27
00:01:19,010 --> 00:01:19,580
All right,

28
00:01:19,580 --> 00:01:24,410
it says here that there's errors that block automatic migration using this tool,

29
00:01:24,410 --> 00:01:29,860
however you may continue and send the results to an Azure Migrate Project.

30
00:01:29,860 --> 00:01:36,070
So we'll want to look at the successes, one warning that we are using HTTP,

31
00:01:36,070 --> 00:01:39,240
but it's a bogus certificate.

32
00:01:39,240 --> 00:01:45,060
It looks like the error is TCP port bindings are not supported.

33
00:01:45,060 --> 00:01:47,110
Ah, that's my problem.

34
00:01:47,110 --> 00:01:53,240
Yeah, I'm using 7070, I forgot to update the port binding to 443,

35
00:01:53,240 --> 00:01:55,920
and that's not allowed in App Service,

36
00:01:55,920 --> 00:01:59,330
so that's a good example anyway of a real‑world situation.

37
00:01:59,330 --> 00:02:03,060
Now notice you can save this resulting report and

38
00:02:03,060 --> 00:02:05,260
load it back into the interface, and so on,

39
00:02:05,260 --> 00:02:05,890
and so forth.

40
00:02:05,890 --> 00:02:07,000
Let's go next,

41
00:02:07,000 --> 00:02:12,450
and here we have a browser code flow to sign into our Azure subscription.

42
00:02:12,450 --> 00:02:15,450
So I'm going to copy the code, open a browser,

43
00:02:15,450 --> 00:02:21,710
paste the code in here, sign in with an administrative account, yes,

44
00:02:21,710 --> 00:02:25,650
I'm trying to sign in to Azure App Service Migration Assistant.

45
00:02:25,650 --> 00:02:30,040
We can close the window and come back to the tool.

46
00:02:30,040 --> 00:02:33,890
Now what's cool about this is that you can see any

47
00:02:33,890 --> 00:02:37,340
previously created Azure Migrate Projects.

48
00:02:37,340 --> 00:02:40,130
We also can create a new one right on the fly.

49
00:02:40,130 --> 00:02:41,840
I like that a whole lot.

50
00:02:41,840 --> 00:02:46,060
I'm going to see if I can shoehorn this into my ps‑migrate project

51
00:02:46,060 --> 00:02:49,530
that I've created and used elsewhere in this course.

52
00:02:49,530 --> 00:02:55,340
And it's really as simple as sending the assessment data into the project,

53
00:02:55,340 --> 00:02:58,670
that Azure Migrate is such a wonderful one‑stop shop.

54
00:02:58,670 --> 00:03:00,620
While that data's being transferred,

55
00:03:00,620 --> 00:03:05,040
with no need for site‑to‑site VPN or anything like that,

56
00:03:05,040 --> 00:03:06,700
we can go right over the internet.

57
00:03:06,700 --> 00:03:10,970
Let's go to Azure Migrate, and if we look at our Web apps component here,

58
00:03:10,970 --> 00:03:14,370
I've already got the ps‑migrate project in here.

59
00:03:14,370 --> 00:03:16,800
And I just realized that we're going to,

60
00:03:16,800 --> 00:03:17,250
I'm sure,

61
00:03:17,250 --> 00:03:20,470
see an error back in the application because I forgot to

62
00:03:20,470 --> 00:03:22,740
add assessment and migration tools.

63
00:03:22,740 --> 00:03:24,230
That's totally okay here,

64
00:03:24,230 --> 00:03:27,740
and it's all part of our learning. Something that you've seen elsewhere in this

65
00:03:27,740 --> 00:03:32,290
course when we looked at using Azure Migrate, we used it specifically in the

66
00:03:32,290 --> 00:03:35,890
module on server migration is that it's a two phase,

67
00:03:35,890 --> 00:03:37,400
well, three‑phase operation.

68
00:03:37,400 --> 00:03:39,590
You have your project at the top level,

69
00:03:39,590 --> 00:03:42,700
then within that project you have your assessment phase,

70
00:03:42,700 --> 00:03:46,840
and then your migration phase, so let's add in an assessment tool.

71
00:03:46,840 --> 00:03:50,940
This is just the built in, first‑party Azure Migrate Assessment,

72
00:03:50,940 --> 00:03:54,130
supports .NET, Java, and PHP,

73
00:03:54,130 --> 00:03:57,350
so it looks like this ecosystem has changed a little bit

74
00:03:57,350 --> 00:04:00,940
even since the last time I was in here.

75
00:04:00,940 --> 00:04:04,940
It's amazing how fast the Microsoft team works with that.

76
00:04:04,940 --> 00:04:06,730
So here we can see at this time,

77
00:04:06,730 --> 00:04:11,640
no web servers or websites or anything ready for migration yet.

78
00:04:11,640 --> 00:04:12,680
We come back,

79
00:04:12,680 --> 00:04:16,340
we can push those changes from the Azure App Service

80
00:04:16,340 --> 00:04:17,960
Migration Assistant in a moment.

81
00:04:17,960 --> 00:04:20,440
As far as the migration tool, again,

82
00:04:20,440 --> 00:04:24,040
the only option at this point is Microsoft's own,

83
00:04:24,040 --> 00:04:28,660
so we've got support for .NET, Java, and PHP, like I said before.

84
00:04:28,660 --> 00:04:30,640
I think the reason for the Java,

85
00:04:30,640 --> 00:04:34,110
it just occurred to me, is that this is involving the

86
00:04:34,110 --> 00:04:37,550
containerization and the App Service stuff,

87
00:04:37,550 --> 00:04:42,780
so I guess what I said earlier is still valid that the three stacks are .NET,

88
00:04:42,780 --> 00:04:44,730
ASP.NET, and Java.

89
00:04:44,730 --> 00:04:49,870
It says it right up here, containerize your .NET in Java to AKS,

90
00:04:49,870 --> 00:04:53,620
discover and assess ASP.NET, and go to Azure App Service.

91
00:04:53,620 --> 00:04:54,540
There you go.

92
00:04:54,540 --> 00:04:58,510
So let's come back to the tool, and let's send in our assessment data.

93
00:04:58,510 --> 00:05:01,300
Let's give that another try, didn't like that.

94
00:05:01,300 --> 00:05:07,000
Well, let's see if I can quickly start over. Let's come back.