Introduction & Overview
Creating an App Service Web App
Creating Web Service Containers
Configuring a Web App
The course is part of these learning pathsSee 2 more
You’ve got an idea for a great web app, or maybe you’ve already started building it. The next question is how are you going to get it out there on the Internet?
In this course, you will learn how you can quickly and easily set up a website and publish your app to the world with Azure App Service. Of course, web apps are a lot more complex and varied than just HTML pages and we will see how App Service supports a range of programming languages, frameworks, and even operating systems. We will explore features that greatly simplify application deployment and management, as well as those that will increase your app’s functionality like authentication and accessing on-premise data. App Service as with other Azure products has a raft of tools for monitoring and logging so you can make sure your app is performing optimally.
For any feedback, queries, or suggestions relating to this course, please contact us at firstname.lastname@example.org.
- Deploy apps using the Azure App Service
- Create a web app using the Azure Portal
- Create a web app using Visual Studio
- Understand the configuration and diagnostic capabilities available from Azure App Service
- Understand the advanced features of the service such as container deployment and deployment slots
This is a beginner level course suited developers or anyone wanting to know how to deploy web apps to the Azure cloud.
To get the most from this course, you should have a basic understanding of the software development lifecycle, while knowing how to code would be a plus.
Course source code
Visual 2019 with .NET Core 3.1 was used for the demonstrations in this course.
In this first series of lectures, we will look at creating an App Service resource through the Azure portal and the various ways to deploy or publish an app to that service. We will start by deploying a web API application that connects to an Azure SQL database by using the Visual Studio IDE. While a detailed look Azure SQL is outside the course’s scope, we will touch on how to set up a single database instance through the Azure portal so an app can access its data. Next, we will look at how App Service integrates with an Azure DevOps code repository so you can implement a continuous integration and deployment pipeline. As we’ve seen Azure supports more than just windows deployments, so we will see how to deploy a Linux Docker container image. Finally, we will take a look at deployment slots.
In this first demonstration, I want to create the most basic web app possible using the Azure portal. Let's start by logging into the portal and creating a new resource. I'm going to search for the Web App template. As you can see, I have the option of a Web App or a Web App with a MySQL database. For this first demo, I'll pick Web App without a database. Selecting the web app option will take you to the create Web App template page where we click the create button. On the Basics page, we select our Azure subscription if we have more than one followed by an existing Resource Group or create a new resource group with the link.
A detailed explanation of Resource Groups is beyond the scope of this lecture, but as the name suggests, it allows you to associate Azure resources like apps, databases, storage, and the like that share a common function or purpose and lifecycle, even if those resources are provisioned in different regions. Prior to Resource Groups, Azure didn't allow you to group and manage resources from different regions as one. While you can have resources from different regions in one group, you should set up different groups for development, test, and production.
Next, we're going to specify the name of our web app, which will be its unique URL within the azrewebsites.net domain. Your app name will be checked for uniqueness as you type. Next, we select our runtime stack or framework - in this case, it will be Net Core 3.1. I'm just going to publish the code on Windows, and I'll select Australia Southeast as my region. Next, I'll create a new App Service Plan. An App Service Plan determines what kind of computing resources your app has available to it, and by extension, what those resources will cost. The change size link lets you choose the type and size of App Service plan. For a free plan, cost isn't an issue, but you are currently limited to 10 apps per plan, and hardware features are limited. Within the Dev/Test workloads, you get progressively more features and compute power as the price increases. Within the Production workload, the standard plan is limited to 100 apps, and all other plans don't limit the apps you can have in a plan. Having said that, the apps in a plan all share the same resources, so you could potentially save money by putting lots of apps in one plan, but there are no free lunches, so performance may become an issue as compute and infrastructure resources are shared between many apps. Another consideration is that not all features are available to all plans. For example, Deployment Slots are only available in standard or above plans. As performance isn't a consideration for this demo, I'm going to select the free plan.
I'll go with Application Insights monitoring, that we'll look at in more detail later. Tags get populated into the Azure billing statement, so can be a useful way of tracking project costs, but as this is a free plan, I'm not going to bother with tags. After Azure validates my web app parameters as OK, I can hit the create button. After a few seconds, the web app is created, and I can go to the app service management page. The overview page displays important web app metrics like server errors, data in and out, the number of requests, and response times. The menu on the left allows you to configure an extensive range of settings, some of which we shall look at later. If you need more compute power or more features, you can seamlessly scale up the app service from here. The URL link at the top right takes us to the public-facing or home page of your web app.
I think it's fair to say we haven't actually created a web app, but a place for our web app to be hosted. So, the next step is to get our code running instead of the default placeholder page.
Hallam is a software architect with over 20 years experience across a wide range of industries. He began his software career as a Delphi/Interbase disciple but changed his allegiance to Microsoft with its deep and broad ecosystem. While Hallam has designed and crafted custom software utilizing web, mobile and desktop technologies, good quality reliable data is the key to a successful solution. The challenge of quickly turning data into useful information for digestion by humans and machines has led Hallam to specialize in database design and process automation. Showing customers how leverage new technology to change and improve their business processes is one of the key drivers keeping Hallam coming back to the keyboard.