Intégration continue et livraison continue (création d’applications cloud Real-World avec Azure)
par Rick Anderson, Tom Dykstra
Télécharger corriger le projet ou télécharger le livre électronique
Le livre électronique Building Real World Cloud Apps with Azure est basé sur une présentation développée par Scott Guthrie. Il explique 13 modèles et pratiques qui peuvent vous aider à développer des applications web pour le cloud. Pour plus d’informations sur le livre électronique, consultez le premier chapitre.
Les deux premiers modèles de processus de développement recommandés étaient Automatiser tout et Contrôle de code source, et le troisième modèle de processus les combine. L’intégration continue (CI) signifie que chaque fois qu’un développeur archive du code dans le référentiel source, une build est automatiquement déclenchée. La livraison continue (CD) va encore plus loin : une fois qu’une génération et des tests unitaires automatisés ont réussi, vous déployez automatiquement l’application dans un environnement où vous pouvez effectuer des tests plus approfondis.
Le cloud vous permet de réduire le coût de maintenance d’un environnement de test, car vous payez uniquement pour les ressources de l’environnement tant que vous les utilisez. Votre processus CD peut configurer l’environnement de test quand vous en avez besoin, et vous pouvez le mettre hors service lorsque vous avez terminé le test.
Workflow d’intégration continue et de livraison continue
En règle générale, nous vous recommandons d’effectuer une livraison continue à vos environnements de développement et de préproduction. La plupart des équipes, même chez Microsoft, ont besoin d’un processus de révision manuelle et d’approbation pour le déploiement en production. Pour un déploiement de production, vous souhaiterez peut-être vous assurer qu’il se produit lorsque des personnes clés de l’équipe de développement sont disponibles pour le support, ou pendant les périodes de faible trafic. Mais rien ne vous empêche d’automatiser complètement vos environnements de développement et de test afin qu’un développeur n’ait qu’à case activée dans une modification et qu’un environnement soit configuré pour les tests d’acceptation.
Le diagramme suivant d’un livre électronique Microsoft Patterns and Practices sur la livraison continue illustre un flux de travail classique. Cliquez sur l’image pour la voir en taille réelle dans son contexte d’origine.
Comment le cloud permet un CI et un CD rentables
L’automatisation de ces processus dans Azure est facile. Étant donné que vous exécutez tout dans le cloud, vous n’avez pas besoin d’acheter ou de gérer des serveurs pour vos builds ou vos environnements de test. Et vous n’avez pas besoin d’attendre qu’un serveur soit disponible pour effectuer vos tests. À chaque build que vous effectuez, vous pouvez faire tourner un environnement de test dans Azure à l’aide de votre script d’automatisation, exécuter des tests d’acceptation ou des tests plus approfondis sur celui-ci, puis, lorsque vous avez terminé, il suffit de le détruire. Et si vous n’exécutez ce serveur que pendant 2 heures ou 8 heures ou un jour, la somme d’argent que vous devez payer pour ce serveur est minime, car vous payez uniquement pour la durée d’exécution d’une machine. Par exemple, l’environnement requis pour l’application Corriger le coût est d’environ 1 % par heure si vous accédez à un niveau supérieur à partir du niveau gratuit. Au cours d’un mois, si vous n’avez exécuté l’environnement qu’une heure à la fois, votre environnement de test coûte probablement moins cher qu’un latte que vous achetez chez Starbucks.
Azure DevOps Services
Azure DevOps Services fournit un certain nombre de fonctionnalités pour vous aider dans le développement d’applications, de la planification au déploiement.
- Il prend en charge à la fois le contrôle de code source Git (distribué) et TFVC (centralisé).
- Il offre un service de génération élastique, ce qui signifie qu’il crée dynamiquement des serveurs de build quand ils sont nécessaires et les retire quand ils sont terminés. Vous pouvez lancer automatiquement une build lorsque quelqu’un vérifie les modifications de code source et que vous n’avez pas besoin d’allouer et de payer vos propres serveurs de build qui sont inactifs la plupart du temps. Le service de génération est gratuit tant que vous ne dépassez pas un certain nombre de builds. Si vous prévoyez d’effectuer un volume élevé de builds, vous pouvez payer un peu plus pour les serveurs de build réservés.
- Il prend en charge la livraison continue vers Azure.
- Il prend en charge les tests de charge automatisés. Le test de charge est essentiel pour une application cloud, mais il est souvent négligé jusqu’à ce qu’il soit trop tard. Le test de charge simule l’utilisation intensive d’une application par des milliers d’utilisateurs, ce qui vous permet de trouver des goulots d’étranglement et d’améliorer le débit avant de la mettre en production.
- Il prend en charge la collaboration des salles d’équipe, ce qui facilite la communication et la collaboration en temps réel pour les petites équipes agiles.
- Il prend en charge la gestion de projet agile.
Pour plus d’informations sur les fonctionnalités d’intégration et de livraison continues de Azure DevOps Services, consultez la documentation Azure DevOps.
Si vous recherchez une solution de gestion de projet clé en main, de collaboration d’équipe et de contrôle de code source, case activée Azure DevOps Services. Inscrivez-vous à Azure DevOps Services.
Résumé
Les trois premiers modèles de développement cloud ont porté sur la façon d’implémenter un processus de développement reproductible, fiable et prévisible avec un temps de cycle faible. Dans le chapitre suivant , nous commençons à examiner les modèles d’architecture et de codage.
Ressources
Pour plus d’informations, consultez Déployer une application web dans Azure App Service.
Consultez également les ressources suivantes :
- Génération d’un pipeline de mise en production avec Team Foundation Server 2012. Le livre électronique, les laboratoires pratiques et l’exemple de code de Microsoft Patterns and Practices fournissent une présentation approfondie de la livraison continue. Couvre l’utilisation de Visual Studio Lab Management et visual Studio Release Management.
- Outils et conseils alm Rangers DevOps. Alm Rangers a présenté l’exemple de solution d’accompagnement DevOps Workbench et des conseils pratiques en collaboration avec le livre Patterns & Practices Building a Release Pipeline with TFS 2012, comme un excellent moyen de commencer à apprendre les concepts de DevOps & Release Management pour TFS 2012 et de tirer les pneus. Les conseils montrent comment générer une seule fois et déployer dans plusieurs environnements.
- Test de la livraison continue avec Visual Studio 2012. Le livre électronique de Microsoft Patterns and Practices explique comment intégrer des tests automatisés à la livraison continue.
- WindowsAzureDeploymentTracker. Code source d’un outil conçu pour capturer une build à partir de TFS (basée sur une étiquette), la générer, l’empaqueter, autoriser une personne dans le rôle DevOps à configurer des aspects spécifiques de celui-ci et la pousser vers Azure. L’outil effectue le suivi du processus de déploiement afin de permettre aux opérations de « restaurer » une version précédemment déployée. L’outil n’a aucune dépendance externe et peut fonctionner autonome à l’aide des API TFS et du Kit de développement logiciel (SDK) Azure.
- Livraison continue : versions de logiciels fiables via l’automatisation de la génération, du test et du déploiement. Livre de Jez Humble.
- Relâchez-le ! Concevoir et déployer Production-Ready Software. Livre de Michael T. Nygard.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour