Microservices avec AKS

Container Registry
Azure DevOps
Kubernetes Service
GitHub

Idée de solution

Si vous souhaitez nous voir développer cet article avec d’autres informations, telles que des cas d’usage potentiels, d’autres services, des considérations d’implémentation ou un guide des prix, faites-le nous savoir avec les Commentaires de GitHub.

Utilisez AKS pour simplifier le déploiement et la gestion de l'architecture basée sur les microservices. AKS simplifie la mise à l'échelle horizontale, la réparation spontanée, l'équilibrage de charge et la gestion des secrets.

Architecture

Diagramme d’architecture Télécharger une SVG de cette architecture.

Flux de données

  1. Les développeurs utilisent un IDE comme Visual Studio pour valider les modifications apportées à GitHub.
  2. GitHub déclenche une nouvelle build sur Azure DevOps.
  3. Azure DevOps empaquette les microservices sous forme de conteneurs et les transmet à Azure Container Registry.
  4. Les conteneurs sont déployés sur le cluster AKS.
  5. Les utilisateurs accèdent aux services par le biais d'applications et d'un site web.
  6. Azure Active Directory est utilisé pour sécuriser l'accès aux ressources.
  7. Les microservices utilisent des bases de données pour stocker et récupérer les informations requises.
  8. L'administrateur accède aux données via un portail d'administration distinct.

Components

  • Azure DevOps empaquette les microservices sous forme de conteneurs.
  • Azure Kubernetes Service offre des clusters Kubernetes complètement managés pour le déploiement, la mise à l'échelle et la gestion des applications conteneurisées.
  • Azure Container Registry est un service de registre Docker privé et managé disponible sur Azure. Utilisez Container Registry pour stocker les images Docker privées, qui sont déployées sur le cluster.
  • GitHub Enterprise fournit une plateforme d'hébergement de code qui permet aux développeurs de collaborer sur des projets open source et inner source.
  • Azure Pipelines fait partie d'Azure DevOps Services, et est utilisé pour exécuter des builds, des tests et des déploiements automatisés. Chaque fois que le code est modifié dans le référentiel de code, le pipeline Azure DevOps génère en continu des images de conteneur, transmises à votre instance d'Azure Container Registry. Les manifestes sont ensuite déployés sur votre cluster Azure Kubernetes Service.
  • Azure Active Directory. Lorsqu'AKS est intégré à Azure Active Directory, il permet d'utiliser des utilisateurs, groupes ou principaux de service Azure AD en tant que sujets dans Kubernetes RBAC pour gérer les ressources AKS en toute sécurité.
  • Azure Database pour MySQL est un service de base de données MySQL complètement managé reposant sur Azure et conçu pour stocker les données avec état.
  • Azure SQL Database est un service de base de données relationnelle complètement managé et intelligent, conçu pour le cloud. SQL Database vous permet de créer une couche de stockage de données hautement disponible et très performante pour les applications cloud modernes.
  • Azure Cosmos DB est un service de base de données NoSQL complètement managé pour la création et la modernisation d’applications évolutives haute performance.

Étapes suivantes

Si vous souhaitez actualiser vos connaissances sur Kubernetes, suivez l'Atelier Azure Kubernetes Service pour déployer une application multiconteneur vers Kubernetes sur Azure Kubernetes Service (AKS).