Hosting Infrastructure


Course Introduction
Course Conclusion
Hosting Infrastructure

This course provides you with the foundational knowledge required to design an infrastructure and configuration management strategy. It starts by looking at hosting infrastructure — IaaS, PaaS, FaaS, and some modern native app options — before moving on to look at Infrastructure-as-Code. You’ll learn what Infrastructure-as-Code means and the tools and technologies that are used to deploy and manage it.

Next, you'll learn about some of the more common Infrastructure-as-Code tools and technologies: Terraform, Azure Resource Manager, Chef, Puppet, and more. You'll also learn about technical debt and how to deal with it in templates. The course then covers transient infrastructure and its role in the delivery lifecycle, before finishing off by looking at the mitigation of infrastructure state drift.

If you have any feedback relating to this course, please contact us at

Learning Objectives

  • Understand the main compute options available to host your infrastructure
  • Have a solid grasp of Infrastructure-as-Code (IaC) and its related tools and technologies 
  • Learn about technical debt and how to deal with it in templates
  • Learn about transient infrastructure and how it can speed up projects and reduce costs

Intended Audience

This course is intended for those preparing for Microsoft's AZ-400 exam, or anybody who wants to learn about designing an infrastructure and configuration management strategy in Azure.


To get the most from this course, you should have a basic understanding of Microsoft Azure and of DevOps concepts.


Hello and welcome to Hosting Infrastructure. In this lesson, I’m going to introduce you to the main compute options that are available for hosting your infrastructure. We’ll take a look at Infrastructure as a service options, platform as a service options, functions as a service options, and at some modern native app options.

Let’s start with the easy one, infrastructure as a service, because, really, there is only one main compute option available as infrastructure as a service – and that’s the virtual machine option.

Azure virtual machines are pretty self-explanatory. They allow you to deploy and manage virtual servers that are connected to an Azure Virtual Network. 

Under the platform as a service umbrella, we have the azure app service, azure container instances, and azure cloud services.

The Azure App service is a managed offering. You’d typically use the azure app service to host web apps, mobile app back-ends, and automated business processes. You can also host RESTful APIs on the azure app service.

Azure Container Instances is another platform as a service offering that you can use to host your infrastructure. This service provides the fastest and easiest way to run containers in Azure. It allows you to do so without needing to provision any virtual machines.

Azure Cloud services is yet another managed platform as a service offering. This service is designed for hosting and running cloud applications.

In the functions as a service bucket, we find azure functions and azure batch. 

Azure Functions is a managed FaaS service that allows you to run small pieces of code, which are called functions, without the need to deal with application infrastructure. When you leverage Azure Functions, you get the benefit of all the up-to-date servers you need to run and scale your applications. Azure handles the maintenance and updating of the underlying servers.

Azure Batch is another functions-as-a-service offering. This service is typically used to run large-scale parallel and HPC applications. What Azure Batch does is create and manage a pool of underlying VMs (or compute nodes) and then installs the applications that you want to run. It then schedules jobs to run on the compute nodes. You don’t have to worry about clusters or installing job scheduler software. What you do, instead, is use Batch APIs, tools, command-line scripts, or even the Azure portal to configure, manage, and monitor your jobs.

Some modern native cloud app options that are available include microservices, azure service fabric, and the Azure Kubernetes service.

Microservices are used to provide massive scale and distribution, while Azure Service Fabric is a distributed systems platform that can run in Azure or on-prem. It’s essentially an orchestrator of microservices that are running across a cluster of machines. The azure service fabric allows you to more easily package, deploy, and manage scalable and reliable microservices and containers.

AKS, or Azure Kubernetes Service, is another modern native cloud app option. Leveraging AKS allows you to create, configure, and manage cluster of virtual machines that are preconfigured to run containerized applications.

Because there are so many ways to host your application code in Azure, choosing the right option can be challenging. Lucky for you, you have this handy-dandy flowchart that can tell you which compute service you should use to host your application. 

As you can see, there are lots of factors to consider – especially when every application has its own unique requirements.

When choosing a hosting platform, be sure to perform a detailed evaluation of your needs. Be sure to consider things like necessary feature sets, service limits, and associated costs. You might also want to factor in SLAs and regional availability as well.

As a matter of fact, if the application that you need to host consists of multiple workloads, you may even want to evaluate each of those workloads separately. As a result, some hosting solutions may consist of more than one compute service.


About the Author
Learning Paths

Tom is a 25+ year veteran of the IT industry, having worked in environments as large as 40k seats and as small as 50 seats. Throughout the course of a long an interesting career, he has built an in-depth skillset that spans numerous IT disciplines. Tom has designed and architected small, large, and global IT solutions.

In addition to the Cloud Platform and Infrastructure MCSE certification, Tom also carries several other Microsoft certifications. His ability to see things from a strategic perspective allows Tom to architect solutions that closely align with business needs.

In his spare time, Tom enjoys camping, fishing, and playing poker.