Azure Kubernetes Service is a managed container orchestration service based on the open-source Kubernetes system, which is available on the Microsoft Azure public cloud. AKS simplifies the creation and delivery of cloud-native/container-based applications, which falls between the IaaS and PaaS level. An organization can use AKS to handle critical functionality such as deploying, scaling, and managing Docker containers and container-based applications.
AKS Features and Benefits:
- It helps in managing a hosted Kubernetes setting that supports versatile and fast preparation and management of pack applications.
- It is supports economical provisioning, upgrades, and scaling of resources in step with demand while not taking the applications offline.
- This service gives developers greater flexibility, automation and reduced management overhead for administrators and developers.
- Microsoft Azure offers Azure Kubernetes Service that simplifies managed Kubernetes cluster deployment in the public cloud environment and manages health and monitoring of managed Kubernetes service.
- Customers can create AKS clusters using the Azure portal or Azure CLI and can manage the agent nodes.
- Some additional features such as advanced networking, monitoring, and Azure AD integration can also be configured.
The figure shows the architecture of AKS for microservices deployment. AKS deploys a Kubernetes cluster, taking responsibility for master nodes while allowing users to manage worker nodes. Kubernetes clusters run containers representing backend services and additional containers running utility services such as Prometheus for monitoring. Azure Storage services provide persistent storage outside the Kubernetes cluster.
In this method, Azure load balancer to route traffic to the Kubernetes and pass traffic information to enable smart routing of requests across the cluster. Azure DevOps Pipelines lets development teams push new updates and automatically deploy them to target clusters.
The Architecture Consist of the following Components:
Azure Kubernetes Service – AKS is a managed Kubernetes cluster hosted in the Azure cloud. When using AKS, Azure manages the Kubernetes API service, and you only need to manage the agent nodes.
Azure Load balancer – After creating an AKS cluster, the cluster is ready to use the load balancer. Azure load balancer is created and configured with our public IP address and all the traffic is redirected to azure load balancer and it’s responsible to redirect to specific API Gateway based on the load.
Azure Active Directory – AKS uses an Azure Active Directory (Azure AD) identity to create and manage other Azure resources such as Azure load balancers. Azure AD is also recommended for user authentication in client applications.
API Management – API management provides us a way to expose all APIs behind a single static IP and domain using a subscription key. This is needed simply because the APIs are not exposed on the public Internet. API gateway sits between clients and microservices, it is responsible for redirecting the services request from the clients to the services.
Azure Container Registry – Container Registry to store private Docker images, which are deployed to the cluster. AKS can authenticate with Container Registry using its Azure AD identity.
Virtual network – By default, AKS creates a virtual network into which agent nodes are connected. Which lets you control things like subnet configuration, on-premises connectivity, and IP addressing.
Data Stores – Microservices architecture should not share storage data between one service to another services. Microservices should be independent to each other services so at any point of time any service can be developed, build, and deployed independently. Data should not be stored in the local cluster because it will be lost when we do the deployment always, data should be stored in some external services Azure SQL or Cosmos DB.
Azure Logic Apps – Is a cloud-based platform for creating and running automated workflows that integrate your apps, data, services, and systems. With this platform, you can quickly develop highly scalable integration solutions for your enterprise and business-to-business (B2B) scenarios.
Azure Storage – Highly available, massively scalable, durable, and secure storage for a variety of data objects in the cloud. Azure Storage data objects are accessible from anywhere in the world over HTTP or HTTPS via a REST API.
Azure Monitor – Azure Monitor collects and stores metrics and logs, application telemetry, and platform metrics for the Azure services. Use this data to monitor the application, set up alerts, dashboards, and perform root cause analysis of failures. Azure Monitor integrates with AKS to collect metrics from controllers, nodes, and containers.
SendGrid – strips large scale sending of corporate emails of their complexity and the deliverability of a business’s application-generated email is improved.
Azure Defender – Microsoft Defender for Containers is the cloud-native solution that is used to secure your containers so you can improve, monitor, and maintain the security of your clusters, containers, and their applications.
Azure Pipelines – Azure Pipeline is a cloud service that we can use to build and test our code project automatically. The Azure pipeline has a lot of capabilities such as continuous integration and continuous delivery to regularly and consistently test and builds our code and ship to any target.