Beginner's guide to Azure core Fundamentals - Part 2 (Compute Services)
Tags: azure, beginners, devops, aws
Published: 2022-06-18 06:31:50

In my previous article, we introduced Cloud computing, Microsoft Azure and highlighted the services Azure provides

I'll reiterate the services, so we can continue: Remember, I'll be explaining the most common services in each category.

## 1. Compute Services
Compute Services offer a variety of hosting choices for apps and services. This is one of the key reasons for enterprises migrating to the Azure platform. 


**Some common services in this category and their Functions:**

**Virtual Machines in Azure:** Virtual machines are computer simulations that run on software. Virtual machines (VMs) run an operating system and allow you to install and run software much like a real computer. You can use and operate the virtual machine as if you were sitting in front of it while utilizing a remote desktop client. Virtual machines are useful when you need complete control over an operating system and its surroundings, they can run on Windows or Linux and hosted in Azure.

**Scale Sets for Azure Virtual Machines:** This can be hosted on Windows or Linux VMs.
Scale sets are an Azure compute resource that may be used to deploy and manage a group of identical virtual machines. Virtual machine scale sets are meant to provide real auto-scale when all VMs are setup the same. Virtual machines do not need to be pre-provisioned. As a result, developing large-scale services for big computing, big data, and containerized workloads is easy. More VM instances can be added as demand grows. VM instances can be withdrawn when demand decreases.


**App Services:** You can swiftly design, deploy, and scale enterprise-grade web, mobile, and API apps on any platform with Azure App Service. When you use a fully managed platform to execute infrastructure maintenance, you can meet stringent performance, scalability, security, and compliance requirements. App Service is a PaaS (platform as a service) solution.

**Azure Functions:** When you simply care about the code that runs your service and not the underlying platform or infrastructure, functions are very handy. They're frequently used when you need to respond to an event via a REST request, a timer, or a message from another Azure service, and the task can be accomplished rapidly, in seconds or less.

**Azure Container Instances:** This provides the quickest and most straightforward way to start a container on Azure without the need to manage virtual machines or use extra services. It's a platform as a service (PaaS) that lets you upload containers and have them operate for you. Containerized apps run on Azure without provisioning servers or VMs

**Azure Kubernetes Service:** This is a service that allows you to run Kubernetes cluster management for containerized services running on VMs. You can leverage Azure compute resources like Container Instances and Azure Kubernetes Service to deploy and manage containers. Think of Kubernetes as an orchestration of a cluster of container instances

Okay, let's clear the air a little bit: 

**What is a Container?**
Containers are virtualized application environments that are lightweight. They're built to be dynamically formed, scaled out, and stopped. On a single host machine, you can run many instances of a containerized application.

See this screenshot below:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/njejqtqsi6ba72hledzc.png)

**As a side note:**

There are 3 types of Services offered by Microsoft Azure: 

**SaaS, PaaS and IaaS** 
I'd like to use an everyday analogy to explain this, I learnt this analogy from my instructor once and it has helped me to differentiate the concepts greatly.

All the services Azure offers falls into one of the aforementioned types. Look out for the Analogy in my next article.


P.s: Our next Azure cloud Service Category will be the **NETWORKING**