<aside> 💡 Compute is the possibility to run code in the cloud.

</aside>

Azure Virtual Machines

It’s a software-based computer (guest) that runs on a physical computer, which is the host and provides the underlying physical components such as disk space, memory, cpu power, networking and so on.

Azure Virtual Desktop

It’s a desktop and application virtualization service that runs on the cloud, enabling you to use a cloud-hosted version of windows from any location. It’s a PaaS offering.

<aside> 💡 Data and apps are separated from the local hardware, they are running in the cloud, so there’s no risk of confidential data being left on a personal device.

</aside>

Azure containers

These are a virtualization environment, used to make it easier to shift apps into new environments. They are created using a zipped version of an app called an image which includes everything the app needs to run, like a database engine or a web server. This image can be deployed to any environment that supports containers and then start a container using the image do the app can run in it.

<aside> 💡 In order to run a containerized app, a computer needs to have a container runtime (engine) installed, such as Docker.

</aside>

<aside> 💡 Each container operates in an isolated environment, so it has its own network, storage and so on, and other containers on the same machine can’t access the data and system used by another container.

</aside>

Azure Container Instances (ACI)

It’s a PaaS service that offers the ability to run containerized apps easily in Azure, you just upload the container’s image, add some basic configuration for the VM you want the container to run on (size of the VM) and the service runs them for you.

<aside> 💡 Simplest and quickest form to deploy a container, but you can’t scale it up to hundreds of machines.

</aside>

<aside> 💡 Not a good choice if you have an app that is used heavily by many people and that might need scaling. Instead use AKS.

</aside>

Azure Kubernetes Service (AKS)

Kubernetes is a container orchestration service, meaning it’s responsible for monitoring containers and ensure that they’re always running (manages the lifecycle of containers). In AKS all you have to do is deploy your containers in Azure and you’re up and running with a managed kubernetes cluster (set of nodes (computers) where the containers are running)

<aside> 💡 It’s known as an enterprise grade, it requires a cluster of machines, you can’t run kubernetes on a single machine.

</aside>

<aside> 💡 You can simply scale and upgrade a cluster using the Azure portal menu options, as well as get detailed information on your cluster and each node running in it. You only pay for the resources you use within your cluster.

</aside>