How to migrate web apps to Azure App Service

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
(electric wave whirling) - Welcome to Microsoft Mechanics. The next few minutes, we'll look at the latest options for assessing and migrating your apps and their underlying code into Azure. Now, there are lots of options to migrate your apps and infrastructure into Azure, and we've covered your options for Virtual Machine migration, database migration, Dev-Test migration, and even VDI migration, and if you've missed any of those, you can check those out at aka.ms/MechanicsAzureMigrate to learn more. Now those options for the most part involve managing the underlying infrastructure, the operating systems or database instances. But with Azure App Service there's another option that allows you to bring your code and your containers straight into Azure and connect to integrated databases, whether those are on-premises or in Azure. Now, in many cases, this is going to be the easiest path to migrate your existing .NET apps into Azure. And if you're new to Azure App Service, it's an HTTP-based service for hosting web applications, REST APIs and also mobile back-ends. It's flexible, so you can develop in your favorite language like .NET, .NET Core, Java, Node.js or Python. And the apps run on both Windows and Linux-based environments, and there you can learn more at aka.ms/appservice. And because they run on Azure, they can also auto-scale to meet any demand level and even sudden spikes. We take care of things like: load balancing, automated OS patching, faster version releases, and you can start to take advantage of hybrid and DevOps capabilities, like Continuous Deployment and GitHub actions, as well as connecting to your on-prem resources via VNets, once your app is up and running. So what I want to walk through today is how you'd bring an app that you already have running on-premises into Azure App Service. Now, as with any other migrations that we've covered on Mechanics, migrating .NET apps into Azure, follows those same two primary steps. First, assessment. In this, we're going to look at all the technologies that your app uses, and whether it can be hosted on Azure App Service. Second, migration. This is where you're going to actually migrate your code into Azure App Service, then move your app into production on Azure. So, let's start with our app. So, this is a Parts Unlimited app, and it's an ASP.NET two-tier app that runs on Windows Server 2016 machines with a SQL Server back-end and a web server front-end. Now, to get to the tools that we need for the assessment and migration, we'll do that first by going into the Azure portal. We'll scroll down to Azure Migration Tools, and then you'll see once we're in Azure Migrate, we'll click into Web Apps. Now, here you can see it's already got a couple of tiles for the assessment tools and the migration tools, and to get started, we're going to click on where it says Download the App Service Migration Assistant tool from here. So, we'll go ahead and click on the word, here. And now we're in the Migrate to Azure App Service page, that gives us the ability to assess and also download tooling that we're going to need later. So, we're going to start out by assessing the Microsoft.com website, just to show how we can assess a public-facing website. So, here as we look through the assessment, we can see the frameworks and all the different dock info that we found. All the green that we can see here means everything's ready for migration into Azure App Service. Now, if we go back into our Migrate to Azure App Service page, here's where we can download what we need to migrate our own site that's running on-premises. So, here you can see we're on the Migration Assistant page, and we've got one for both Windows as well as Linux. And note that for Windows, you'll have to be running IIS 7.5, and have admin privileges on that machine to run the tools. So, now we'll go ahead and download our Migration Assistant. There's our licensing terms, we'll accept that and download. And now, once that's been downloaded, we can go ahead and install that on our server. And like any other installer, that's going to go ahead and run. And once that's complete, that will be available for us on our server running our app. So let's go ahead and open up the Migration Assistant. So that's going to drop a link on the desktop. We'll go ahead and open it, elevate again, because we need to be admins. In this case, we'll start the tool, and then run the assessments. So, we're going to click on the Default Web Site, which it found already on the server, and that's going to run a set of assessments. So here, if we expand out Success 13, we can see all the different things that's assessed. It's looking at things like ports, protocols, certificates, authentication, paths, or configurations that might impact compatibility. Now, if you see any errors in your case, you're going to want to address those and resolve them prior to migrating. But in my case, you can see here that all 13 different assessments that were performed were successful. So, I can continue on to the next step in the process. So, I'm going to go ahead and click Next, and here I'll be offered a device code, and I'm going to go ahead and copy that. Because it's going to ask me to authenticate into the Azure portal. So, then I'm going to paste the code in, and it's going to ask me to authenticate with my username and password. So, I'll go ahead and enter my username email address. And once that's done, you'll see that the Azure App Service Migration Assistant has brokered the connection between your server and the Azure service in your subscription. All right, so once I'm authenticated with the right permissions, I can then return to the Migration Assistant, I got to do a couple more things. Let's do that. And here I'm going to add my Azure Migrate project. In this case, I'm going to find mine, I'll scroll down, and I want to use the one that's called AzureMigrateDemo, there it is. Now, here's where I'll enter things like, resource group. In my case, I want to use an existing resource group. So, I'll navigate to the one I want, and I'll give my site a new name, in this case, I'll call it, partsunlimiteddemomechanics. And then we can choose the region that we want to be in. So I'm going to go ahead and navigate down, I want to be in South Central US, there it is. And now here for the database, this is where I need to configure the back-end server connection for my application. So in my case, I'm actually going to set up a hybrid connection to connect to our existing on-prem server. Note that here you can also choose to migrate your database into Azure SQL, and we just published that process at aka.ms/MechanicsAzureMigrate. Now the great thing is, the tool is actually going to find your web.config settings and automatically apply those from your database. So all I have to do now is click on Migrate to continue. Now you'll see the migration starts. This is going to take some time based on the size of your site and also the connection speed that you have. So now we have to set up the hybrid connection from Azure to our on-prem SQL Server. So to do that it's pretty easy. We'll go ahead and download the Hybrid Connection Manager from this page. That's going to download another MSI that will install here. So we'll go ahead and run that. I'll accept the license terms, click Install, and that should automatically find everything we need to complete the process. And there it is, it succeeded, everything's ready. Now from the Migration Results page, we can actually get straight to our new website and check that everything's migrated successfully. And I'll have to do to do that, is click on Go to your website, and you'll see here that everything is running in Azure. There's our partsunlimiteddemomechanics field that we just configured earlier. And right there, our Parts Unlimited website is loading inside of azurewebsites.net, everything's up and running. So as a final step you'll need to redirect your public domain, so DNS knows where to look to get to your public website. Now because your app is running in App Service, you can use all the capabilities I mentioned earlier. Plus I want to point out a few others. First, if we click on Diagnose and solve problems, you'll see here a selection of diagnostics that we can use, such as Availability and Performance, Configuration and Management, SSL and Domains, Diagnostic Tools and Navigator just to name a few. And also, once your site starts to see some traffic, if you click into one of these, you'll see additional diagnostics tools within each one. But because my site here is brand new and has no traffic, that hasn't yet populated, but you'll see more later. And another thing I want to point out is actually the Deployment slots that you can use as well. And this is great if you want to do things like AB testing or site staging. And to add a slot you simply click on Add Slot, and then you can put in a second or third instance of your website for whatever purpose that you need to do. Now another thing I want to show is the Deployment Center. Now here is where you can start to use things like DevOps and Continuous Deployment via GitHub or Azure Repos, and that can be configured right here through App Service. Next, we'll take a look at Authentication/Authorization. So, you'll notice here that as I click on and expand that radio button, we've got multiple different identity providers. So, you can look at things like Azure AD, Microsoft, Facebook, Google and Twitter, just to name a few as part of how you would authenticate your site. I'll click into the Custom domains, and here you can see we can manage the domain directly from the App Service, and then through TLS and SSL settings. A couple things I want to point out. One of my favorites is actually using not just private and public keys, but also creating an App Service Managed Certificate directly from the portal. Now, the last thing I want to show you is Scale out. So, if we do custom auto-scaling, we can go ahead and click on Add a rule. In here you can basically scale to any level of demand using these different metrics that I'm showing here on the right. So when you see peaks in any of these metrics that we're using as the scale trigger, it will automatically scale your site to meet the need. That was a quick walkthrough of how to migrate a .NET app to Azure App Service, and some of the capabilities that you can use once you've migrated. Now, if you'd like to get started with assessing and migrating your apps to Azure, you can learn more at aka.ms/AzureMigratePortal. And of course, you can check out the rest of our Azure Migration series, at aka.ms/mechanicsazuremigrate. That's all the time we have for this show. Thanks for watching, we'll see you next time. (air whooshing) (upbeat music)
Info
Channel: Microsoft Mechanics
Views: 111,737
Rating: 4.9402986 out of 5
Keywords: cloud migration, azure app service, .NET, IIS, Windows Server, hybird sql, github, devops, web app, webapp, web apps, continuous deployment, webapps, services app, azure sql, hosted app data, microsoft web apps, azure web app, azure api, azure web applications, azure web services, azure repos, iis 7.5, app migration, migrate code, migrate to azure app service, continuous development, deployment tools, azurewebsites, azure websites, application migration
Id: 9LBUmkUhmXU
Channel Id: undefined
Length: 9min 52sec (592 seconds)
Published: Tue Jul 21 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.