Bursting from AKS with ACI

Container Instances
Container Registry
Kubernetes Service

Solution ideas

This article is a solution idea. If you'd like us to expand the content with more information, such as potential use cases, alternative services, implementation considerations, or pricing guidance, let us know by providing GitHub feedback.

Use the AKS virtual node to provision pods inside ACI that start in seconds. This enables AKS to run with just enough capacity for your average workload. As you run out of capacity in your AKS cluster, scale out additional pods in ACI, without any additional servers to manage.

Potential use cases

Organizations utilize this solution so they don't need extra servers to perform this type of scaling.

Architecture

Architecture diagram shows users to Azure Container Registry to A K S, then to A K S virtual node and S Q L database, then to A C I. Download an SVG of this architecture.

Dataflow

  1. User registers a container in Azure Container Registry.
  2. Container images are pulled from the Azure Container Registry.
  3. AKS virtual node, a Virtual Kubelet implementation, provisions pods inside ACI from AKS, when traffic comes in spikes.
  4. AKS and ACI containers write to a shared data store.

Components

  • Azure Kubernetes Service offers fully managed Kubernetes clusters for deployment, scaling, and management of containerized applications.
  • Azure Container Registry is a managed, private Docker registry service on Azure. Use Container Registry to store private Docker images, which are deployed to the cluster.
  • Azure Container Instances offers the fastest and simplest way to run a container in Azure, without having to manage any virtual machines and without having to adopt a higher-level service. Azure Kubernetes Service (AKS) can use the Virtual Kubelet to provision pods inside Azure Container Instance(ACI) that start in seconds. This enables AKS to run with just enough capacity for your average workload. As you run out of capacity in your AKS cluster, scale out more pods in ACI without any extra servers to manage.
  • Azure SQL Database is a fully managed and intelligent relational database service built for the cloud. With SQL Database, you can create a highly available and high-performance data storage layer for modern cloud applications.

Contributors

This article is maintained by Microsoft. It was originally written by the following contributors.

Principal author:

Next steps

If you need a refresher in Kubernetes, complete the Introduction to Kubernetes on Azure learning path.