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.
- Linux and Windows containers
- Retrieve and persist state by mounting of Azure Files shares
- Custom sized (resources)
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.
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
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:
- support of Kubernetes RBAC and integration it with Azure AD
- Integrated logging and monitoring
- GPU-enabled nodes for compute-intensive, graphics-intensive, and visualization workloads
- Confidential computing nodes to run containers in a hardware-based, trusted execution environment (enclaves)
- Virtual networks and ingress
- Regulatory compliance for SOC, ISO, PCI DSS, and HIPAA
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.