Creating and deploying Web Apps
Now that you understand App Services and App Service
plans, I’ll show you what a Web App is, discuss some of its features, and then
talk about the various options you have for creating one. Then, I’ll show you
how to use a couple of those options to create and deploy a Web App.
What is
a Web App?
A Web App
is a web application that is hosted in an App Service. The App Service is the
managed service in Azure that enables you to deploy a web application and make
it available to your customers on the Internet in a very short amount of time.
As noted above, you don’t directly support the VMs on which your web app runs;
they are managed for you. In fact, you don’t have access to those underlying
VMs.
Supported
languages include .NET, Java, PHP, Node.js, and Python. In addition to creating
your own web app, there are several web applications available to use as a
starting point, such as WordPress, Umbraco, Joomla!, and Drupal.
You can
use continuous deployment with Team Foundation Server (TFS), GitHub, TeamCity,
Jenkins, or BitBucket so that every time you commit a change, a new version of
the web app is deployed.
Scaling is
done by scaling the App Service plan to which the web app belongs. You can
scale the number of instances in and out on demand. You can configure auto scaling
so Azure will scale it in or out for you depending on specific performance
measures such as CPU percentage. You can also publish your website to multiple locations
and use the Azure Traffic Manager to handle the routing of the traffic to the
location nearest to your customer.
For
diagnostics, you can gather performance statistics, application logging, web server
logging, IIS logs, and IIS Failed Request logs. If you’re using Microsoft
Visual Studio, you can even remotely debug your application while it is running
in the cloud.
In short,
there are many features available when using Web Apps to make it easy for you
to deploy, manage, and troubleshoot a web application.
Options
for creating Web Apps
There are
multiple options for creating a Web App and deploying the content to an app
service. Let’s look at a few of these, including the following.
Azure
Marketplace This contains all of the resources you can deploy in Azure.
I’ll show you how you can use this to create Web Apps from preexisting
templates such as WordPress.
Visual
Studio Code This
is a free, open source, cross-platform code editor with debugging capabilities.
Visual
Studio This is Microsoft’s full-featured development IDE.
Marketplace
There are many pre-created websites and templates in
the Azure Marketplace that you can use. To see all of the options available,
log into the Azure portal and click New > Web + Mobile > See All. This
shows the Marketplace blade filtered for Web and Mobile apps, as displayed in
Figure 2-7.
Figure 2-7
Options in the Azure Marketplace for Web and Mobile apps.
If you
scroll down on the page, you can see the categories. At the end of any row,
clicking More will show additional options in that category. Here are just a
few of the choices available:
Web Apps Web App, Web App + SQL, Web App + MySQL, WordPress, and Umbraco
CMS
Blogs + CMSs Joomla!, Drupal, DNN, Orchard CMS, Umbraco CMS, and MonoX
Starter
Web Apps ASP.NET, HTML5, Node.js, PHP, Apache Tomcat, and some
examples
like the Bakery web app and the Java Coffee Shop web app
Visual
Studio Code
Visual
Studio Code (VS Code) is a free, open source code editor with support for
development operations such as debugging, task running, and version control. It
runs on Windows, OS X, and Linux.
VS Code
makes debugging easier, providing IntelliSense code completion and easy code
refactoring. It integrates with Git and also package managers, repositories,
and various build tools.
VS Code
has built-in support for Node.js, JavaScript, and TypeScript. Using extensions,
you can use VS Code to debug languages such as C#, C++, Python, Ruby, and
PowerShell. There is also tooling for web technologies such as HTML, CSS, JSON,
and Markdown.
Using the Azure portal, you can set your web app to
get the source code from OneDrive, Dropbox, or a local code repository such as
GitHub or Visual Studio Team Service. If you enable continuous deployment for
your WebApp, updates will be published .
automatically
when changes are made to your source repository.
You can
download Visual Studio Code for Windows, Linux, or Mac here:
https://code.visualstudio.com/#alt-downloads.
Visual
Studio
Visual
Studio is a full development environment, giving you the ability to create many
different kinds of applications including, but not limited to, ASP.NET MVC
applications, .NET client applications, Windows Communication Foundation (WCF)
services, Web APIs, and Cloud Services, using languages such as C#, C++, VB,
F#, and XAML.
With Visual Studio, you can create a new web application and publish it to an app service in Azure. I’ll show you how to do this in an upcoming demo.
