Microservices with AKS and Azure DevOps

Container Registry
Azure DevOps
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.

Potential use cases

Use AKS to simplify the deployment and management of microservices-based architecture. AKS streamlines horizontal scaling, self-healing, load balancing, and secret management.


Architecture Diagram Download a Visio file of this architecture.


  1. Developer uses an IDE, such as Visual Studio, to commit changes to GitHub.
  2. GitHub triggers a new build on Azure DevOps.
  3. Azure DevOps packages the microservices as containers and pushes them to the Azure Container Registry.
  4. Containers are deployed to the AKS cluster.
  5. Users access services via apps and a website.
  6. Azure Active Directory is used to secure access to the resources.
  7. Microservices use databases to store and retrieve information.
  8. Administrator accesses via a separate admin portal.


  • Azure DevOps packages the microservices as containers.
  • 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.
  • GitHub Enterprise provides a code-hosting platform that developers can use for collaborating on both open-source and inner-source projects.
  • Azure Pipelines Pipelines is part of Azure DevOps Services that is used to run automated builds, tests, and deployments. Every time code is changed in the code repository, Azure DevOps pipeline continuously builds container images, pushed to your Azure Container Registry, and the manifests are then deployed to your Azure Kubernetes Service cluster.
  • Azure Active Directory. When AKS is integrated with Azure Active Directory, it allows you to use Azure AD users, groups, or service principals as subjects in Kubernetes RBAC to manage AKS resources securely.
  • Azure Database for MySQL is a fully managed MySQL Database service on Azure to store stateful data.
  • 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.
  • Azure Cosmos DB is a fully managed NoSQL database service for building and modernizing scalable, high performance applications.

Next steps