Microsoft Azure: Container Services

As part of the Microsoft Enterprise Skills Initiative I am looking into different topics in Azure and summarize my learnings. This post is about Container Services

Azure Container Instances or Azure Kubernetes Service

Azure Container Instances is a PaaS service, that allows you to run containers.

Azure Kubernetes Service or AKS is a container orchestration service to deploy large volumes of containers. When you create an AKS cluster, a control plane is automatically created and configured at no cost. You only pay for the nodes attached to the AKS cluster. The control plane and its resources reside only on the region where you created the cluster.

aks control plane and nodes
Kubernetes control plane and nodes in AKS (c) Microsoft

To run your workload you need a node. An AKS cluster has at least one node, an Azure virtual machine (VM) that runs the Kubernetes node components and container runtime. The size of this VM defines the storage CPUs, memory, size, and type available. AKS clusters using Kubernetes version 1.19+ for Linux node pools use containerd.

aks components
Kubernetes components in AKS (c) Microsoft

Even so AKS offers managed clusters, you are the one responsible to do the lifecycle of your cluster and performing periodic upgrades to the latest Kubernetes version - see also Upgrade an Azure Kubernetes Service (AKS) cluster.

In addition to managed control plane, AKS also provides some interesting features:

Azure Red Hat OpenShift is a PaaS service that offers RedHat OpenShift, which extends Kubernetes by simplify the management of IT resources as application install, update and failover through the use of Operators.