Idées de solution
Cet article présente une idée de solution. Si vous souhaitez que nous développions le contenu 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, adressez-nous vos commentaires GitHub.
Azure est un cloud de premier ordre pour héberger des machines virtuelles exécutant Windows ou Linux. Que vous utilisiez Java, Node.js, Go ou PHP pour développer vos applications, vous aurez besoin d’un pipeline d’intégration continue et de déploiement continu (CI/CD) pour transmettre automatiquement les modifications à ces machines virtuelles.
Cas d’usage potentiels
Les organisations utilisent cette solution pour certains des avantages qui incluent :
- Modifications apportées au démarrage de l’application avec un push logiciel vers le dépôt de code Git au lieu de se connecter au serveur via SSH.
- Déploiements simplifiés et fiables.
- Tolérance de panne.
- Résolution plus rapide des problèmes.
- Elle tire le meilleur parti du cloud, d’où ses fonctions DevOps légitimes.
Architecture
Téléchargez un fichier Visio de cette architecture.
Dataflow
- Changer le code source de l’application.
- Valider le code dans GitHub.
- Déclencheur d’intégration continue pour Jenkins.
- Jenkins déclenche une génération d’image Packer pour créer une machine virtuelle, et stocke celle-ci en tant qu’image de machine virtuelle à l’aide de disques managés Azure.
- Jenkins déclenche Terraform pour approvisionner un nouveau groupe de machines virtuelles identiques à l’aide de l’image de machine virtuelle de disques managés Azure.
- Azure Log Analytics collecte et analyse les journaux.
- Surveillez l’application et apportez des améliorations.
Composants
- Disques managés : stockage sur disque persistant et sécurisé pour machines virtuelles Azure.
- Virtual Machine Scale Sets : gérer et mettre à l’échelle jusqu’à des milliers de machines virtuelles Windows et Linux.
- Log Analytics : collecter, rechercher et visualiser des données de machine localement et dans le cloud.
- Visual Studio Code : créez et déployer des applications multi-plateformes pour tirer le meilleur parti des services Azure.
Déployer ce scénario
Étapes suivantes
- Utiliser Terraform pour créer un groupe de machines virtuelles identiques à partir d’une image de machine virtuelle de client Packer
- Utiliser Terraform pour planifier et créer un groupe de machines virtuelles identiques avec un disque managé
- Utiliser Log Analytics pour collecter des données à partir d’ordinateurs Linux
- Obtenir le pack d’extensions Azure pour Visual Studio Code