Microservices with Azure Kubernetes Service(AKS) - Architecture

Azure Kubernetes Service is currently competing with both Amazon Elastic Kubernetes Service (EKS) and Google Kubernetes Engine (GKE). Use AKS to simplify the deployment and management of microservices-predicated architecture. AKS streamlines horizontal scaling, self-healing, load balancing, secret management.

Architecture 


Data Flow

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

Components - Quick overview

Azure Container Registry: A container image is engendered from the code in source control and is then pushed to an Azure Container Registry.

Azure Active Directory: Azure Active Directory (Azure AD) is Microsoft’s cloud-predicated identity and access management service, which avails our employees to sign in and access resources.

Azure Kubernetes Service: Azure Kubernetes Service (AKS) offers serverless Kubernetes, an integrated continuous integration and continuous distribution (CI/CD) experience, and enterprise-grade security and governance.

Azure DevOps: 
          
DevOps - Architecture



This scenario covers a DevOps pipeline for a Spring web application and database back end. The data permeates the scenario as follows:
  1. A developer makes changes to the Spring web application source code.
  2. The code change is committed to a source control repository, such as BitBucket.
  3. To commence the continuous integration (CI) process, a BitBucket webhook triggers a Jenkins project build.
  4. The Jenkins build job utilizes a dynamic build agent in Azure Kubernetes Service to perform a container build process.
  5. A container image is engendered from the code in source control and is then pushed to an Azure Container Registry.
  6. Through continuous deployment (CD), Jenkins deploys this updated container image to the Kubernetes cluster.
  7. The Spring web application uses Azure SQL as its back end. Both Azure SQL DB and Azure Kubernetes Service report metrics to Azure Monitor.
  8. A Grafana instance provides visual dashboards of the application performance predicated on the data from Azure Monitor.

More...

Popular posts from this blog

Spring boot video streaming example-HTML5

DataTable-Pagination example with Spring boot, jQuery and ajax

10 Best Job Posting Sites 2021-2022

Spring boot web project free download:User Registration System

Spring Boot + JPA/Hibernate One to Many mapping example

5 Hardest Puzzle,100% fail answers

Java security AES,SHA256,SHA512,MD5-Spring Boot Project Free Download

Spring Boot-AngularJS-Bootstrap-JPA-CRUD

ReactJS - Bootstrap - Buttons

Spring Boot file upload/download example