This course will provide you with the practical knowledge and experience needed to master the Designing Web Apps section of the Architecting Microsoft Azure Solutions 70-534 certification exam. In addition to full coverage of all exam topics, this session will focus on the key competencies tested by the exam. We will start by creating a Web App, and we will discuss designing and deploying web apps for scalability and performance as well as the business continuity issues of Web App design.
Welcome back. In this lesson we're going to be talking about Web Apps at a high level before we dive into actually creating a web app in our next lesson.
Azure Web Apps are what's known as a Platform as a Service, or PaaS. The key difference between a web app and managing and running your own server is that a web app removes the concerns of managing your own infrastructure. It allows you to scale up and out very easily without having to actually upgrade your server or provision additional servers. Also, the infrastructure that supports Azure Web Apps already complies with various laws, standards, and regulations that many institutions around the world must adhere to.
Here we have a basic outline of the components that go into hosting a web application. The Platform as a Service part of this picture includes the server, which is typically a virtual machine, the operating system, as well as the supporting software, such as the web server and common libraries and services.
A key benefit of Paas is that you don't have to set up and run your own virtual machines or physical servers. You don't need to worry about hosting the server in a data center or think about where it lives. You don't need to configure and maintain the operating system or ensure that it's up to date with security patches and the like. And importantly, you don't have to worry about managing the server during scheduled down time for patching and dealing with physical maintenance, so that's a pretty good thing. Lastly, you don't need to worry about any maintenance or updates required by the supporting software. Now, this may include updates to the latest version of Frameworks you're using, such as .NET, PHP, or even bug and security fixes for things like IIS. You can instead commit all of that saved time into your web app and its features and functionality, because time spent innovating on the things that matter to your users adds much more value to the product.
Okay. With your app hosted in Azure Cloud, scaling and resilience become very easy to manage. Creating additional instances, or scaling out, to handle additional workloads as your web apps grow can be done automatically or manually. And at a certain point scaling out will become the only sustainable option since scaling up will eventually hit a hardware cap. Scaling up, which involves increasing the features and capacity of your service, is something Azure makes easy to do, and it's something that will be shown later in the course.
Now, we have talked about Azure-hosted web apps. However, the logical question then becomes when would we want to use them, typically in cases where we just want to use an IIS hosted application, in some cases where we don't need to customize the server or install custom software. Azure Web Apps provide an inexpensive way to host your web applications with room to grow in the future. Web Apps also support a variety of different programming languages, providing flexibility and the opportunity to utilize existing skills.
If you need to have the option of installing software on the operating system, or maybe some IIS extensions, then you may want to look at Iaas VMs. That's Infrastructure as a Service. With Iaas VMs you'll have a lot more work to do in order to handle all of the tasks that Apps service handles for you.
Now, there is another option out there that you may see. It's called Cloud Services, and it's a legacy service. I don't recommend using it for new apps, however it's worth knowing that it's a thing that exists so you might run into it.
Okay. Armed with all of our high level knowledge of Web Apps, let's actually get into creating an app in our next lesson. So, if you're ready then let's get started.
About the Author
Ben Lambert is a software engineer and was previously the lead author for DevOps and Microsoft Azure training content at Cloud Academy. His courses and learning paths covered Cloud Ecosystem technologies such as DC/OS, configuration management tools, and containers. As a software engineer, Ben’s experience includes building highly available web and mobile apps. When he’s not building software, he’s hiking, camping, or creating video games.