The course is part of this learning path
This course briefly explains what Microsoft Azure is and the compute services that it offers, including virtual machines, Azure App Service, Azure Container Instances, Azure Kubernetes Service, and Azure Functions.
So what is Microsoft Azure? To put it simply, it’s a collection of online services that organizations can use to build, host, and deliver applications. The best part is that you don’t need to have your own data center or even any servers because Azure runs in Microsoft’s data centers around the world, which your users can access over the internet.
Not only does this approach save you the trouble of having to build and maintain your own on-premises IT infrastructure, but it can also save you money because you only have to pay for what you use, and you can scale your Azure resources up and down as needed.
For most applications, you need three core elements: compute, storage, and networking. Let’s talk about compute. In Azure’s early days, Microsoft offered only one type of compute service: virtual machines, or VMs for short. These are machines that run either Windows or Linux. If you currently have an application running on a Windows or Linux server, then the most straightforward way to migrate it to Azure is to do what’s called a “lift and shift” migration. That is, you simply lift the application from your on-premises server and shift it to a virtual server in the cloud. Azure VMs are known as Infrastructure-as-a-Service because they’re traditional IT infrastructure components that are offered as a service.
Later, Microsoft came out with what’s known as a Platform-as-a-Service offering called Azure App Service. This platform lets you host web and mobile applications without having to worry about the underlying infrastructure. After doing a minor amount of configuration, you can just upload your code to an App Service instance and let Azure take care of the details. In most cases, this is a better solution than using virtual machines, but there are times when it makes more sense to use VMs. For example, if you have an application that’s not a web or mobile app, then you can’t use App Service, so you’ll have to use a VM.
These days, the hottest compute technology is containers. These are self-contained software environments. For example, a container might include a complete application plus all of the third-party packages it needs. Containers are somewhat like virtual machines except they don’t include the operating system. This makes it easy to deploy them because they’re very lightweight compared to virtual machines. In fact, containers run on virtual machines.
Microsoft provides a variety of ways to run containers. The simplest way is to use Azure Container Instances. This service lets you run a container using a single command. If you have a more complex application that involves multiple containers, then you’ll probably want to use Azure Kubernetes Service, which is what’s known as a container orchestrator. It makes it easy to deploy and manage multi-container applications.
Before we move on, I should mention one more compute service. It’s called Azure Functions, and it’s Microsoft’s main “serverless” offering. Azure Functions is kind of like Azure App Service except that it executes individual functions rather than entire applications, and you only pay for it when it gets used. When you provision an App Service instance, it runs until you shut it down, and you pay for it the whole time it’s running. Although it’s possible to configure Azure Functions in the same way, it’s usually better to use the Consumption plan, which means that it only uses resources when a function is running, so you only pay when a function is running.
And that’s it for this brief overview.
Guy launched his first training website in 1995 and he's been helping people learn IT technologies ever since. He has been a sysadmin, instructor, sales engineer, IT manager, and entrepreneur. In his most recent venture, he founded and led a cloud-based training infrastructure company that provided virtual labs for some of the largest software vendors in the world. Guy’s passion is making complex technology easy to understand. His activities outside of work have included riding an elephant and skydiving (although not at the same time).