This course covers the Design Azure Web and Mobile Apps part of the 70-534 exam, which is worth 5–10% of the exam. The intent of the course is to help fill in an knowledge gaps that you might have, and help to prepare you for the exam.
Welcome back in this lesson we're going to be talking about Web Apps in a high level, before we dive into actually creating a web app in our next lesson.
As your 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 as your 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 figure and maintain the operating system or insure 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 downtime 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 save time into your web app and its features and functionalities. 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 workload 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 out will eventually hit a hardware cap. Scaling up which involves increasing the features and capacity of your service is something that Azure makes easy to do and it's something that will be shown later in the course.
Now we've 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 IaaS hosted application, in some cases where we don't need to customize the server or install custom software.
As your 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 IaaS 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 app service handles for you.
Now there is another option out there that you may see it 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 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.