Intégration continue et livraison continue (création d’applications Cloud réalistes avec Azure)Continuous Integration and Continuous Delivery (Building Real-World Cloud Apps with Azure)

par Mike Wasson, Rick Anderson, Tom Dykstraby Mike Wasson, Rick Anderson, Tom Dykstra

Télécharger le projet Fix it ou Télécharger le livre électroniqueDownload Fix It Project or Download E-book

La création d’applications Cloud réelles avec Azure e-book est basée sur une présentation développée par Scott Guthrie.The Building Real World Cloud Apps with Azure e-book is based on a presentation developed by Scott Guthrie. Il décrit 13 modèles et pratiques qui peuvent vous aider à réussir le développement d’applications Web pour le Cloud.It explains 13 patterns and practices that can help you be successful developing web apps for the cloud. Pour plus d’informations sur l’e-Book, consultez le premier chapitre.For information about the e-book, see the first chapter.

Les deux premiers modèles de processus de développement recommandés ont été d' automatiser tout le contrôle de code source, et le troisième modèle de processus les combine.The first two recommended development process patterns were Automate Everything and Source Control, and the third process pattern combines them. L’intégration continue signifie que chaque fois qu’un développeur Archive du code dans le référentiel source, une build est déclenchée automatiquement.Continuous integration (CI) means that whenever a developer checks in code to the source repository, a build is automatically triggered. La livraison continue (CD) va encore plus loin : après la réussite d’une génération et de tests unitaires automatisés, vous déployez automatiquement l’application dans un environnement où vous pouvez effectuer des tests plus approfondis.Continuous delivery (CD) takes this one step further: after a build and automated unit tests are successful, you automatically deploy the application to an environment where you can do more in-depth testing.

Le Cloud vous permet de réduire le coût de la maintenance d’un environnement de test, car vous payez uniquement pour les ressources d’environnement à condition que vous les utilisiez.The cloud enables you to minimize the cost of maintaining a test environment because you only pay for the environment resources as long as you're using them. Votre processus de CD peut configurer l’environnement de test lorsque vous en avez besoin, et vous pouvez mettre l’environnement en service lorsque vous avez terminé le test.Your CD process can set up the test environment when you need it, and you can take down the environment when you're done testing.

Flux de travail d’intégration continue et de livraison continueContinuous Integration and Continuous Delivery workflow

En général, nous vous recommandons d’effectuer une livraison continue dans vos environnements de développement et intermédiaires.Generally we recommend that you do continuous delivery to your development and staging environments. La plupart des équipes, même chez Microsoft, requièrent un processus de révision et d’approbation manuel pour le déploiement en production.Most teams, even at Microsoft, require a manual review and approval process for production deployment. 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 la prise en charge ou pendant des périodes de faible trafic.For a production deployment you might want to make sure it happens when key people on the development team are available for support, or during low-traffic periods. Mais rien ne vous empêche d’automatiser complètement vos environnements de développement et de test, de sorte que tous les développeurs doivent vérifier une modification et un environnement est configuré pour les tests d’acceptation.But there's nothing to prevent you from completely automating your development and test environments so that all a developer has to do is check in a change and an environment is set up for acceptance testing.

Le diagramme suivant d' un livre électronique Microsoft Patterns and Practices sur la livraison continue illustre un flux de travail standard.The following diagram from a Microsoft Patterns and Practices e-book about continuous delivery illustrates a typical workflow. Cliquez sur l’image pour afficher sa taille complète dans son contexte d’origine.Click the image to see it full size in its original context.

flux de travail de livraison continue Continuous delivery workflow

Comment le Cloud active la solution de contrôle d’intégration et de livraison de CDHow the cloud enables cost-effective CI and CD

L’automatisation de ces processus dans Azure est simple.Automating these processes in Azure is easy. É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.Because you're running everything in the cloud, you don't have to buy or manage servers for your builds or your test environments. Et vous n’avez pas besoin d’attendre la disponibilité d’un serveur pour effectuer vos tests sur.And you don't have to wait for a server to be available to do your testing on. Avec chaque Build que vous effectuez, vous pouvez créer un environnement de test dans Azure à l’aide de votre script d’automatisation, exécuter des tests d’acceptation ou des tests plus approfondis, puis, lorsque vous avez terminé, simplement le détacher.With every build that you do, you could spin up a test environment in Azure using your automation script, run acceptance tests or more in-depth tests against it, and then when you're done just tear it down. Et si vous exécutez ce serveur uniquement pendant 2 heures ou 8 heures ou une journée, la somme d’argent que vous devez payer pour celui-ci est minime, car vous payez uniquement pour la durée d’exécution réelle d’une machine.And if you only run that server for 2 hours or 8 hours or a day, the amount of money that you have to pay for it is minimal, because you're only paying for the time that a machine is actually running. Par exemple, l’environnement requis pour l’application Fix it coûte fondamentalement 1% par heure si vous passez d’un niveau au niveau gratuit.For example, the environment required for the Fix it application basically costs about 1 cent per hour if you go one tier up from the free level. Au cours d’un mois, si vous n’avez exécuté l’environnement qu’une heure à la fois, votre environnement de test aurait probablement coûté moins qu’une latte que vous achetez à Starbucks.Over the course of a month, if you only ran the environment an hour at a time, your testing environment would probably cost less than a latte that you buy at Starbucks.

Azure DevOps ServicesAzure 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.Azure DevOps Services provides a number of features to assist you with application development from planning to deployment.

  • Il prend en charge à la fois le contrôle de code source git (distribué) et TFVC (centralisé).It supports both Git (distributed) and TFVC (centralized) source control.
  • Il offre un service de build élastique, ce qui signifie qu’il crée dynamiquement des serveurs de builds lorsqu’ils sont nécessaires et les met en baisse lorsqu’ils sont terminés.It offers an elastic build service, which means it dynamically creates build servers when they're needed and takes them down when they're done. Vous pouvez lancer automatiquement une build quand un utilisateur archive des modifications du code source et que vous n’avez pas besoin d’allouer et de payer pour vos propres serveurs de build qui s’inactivent la plupart du temps.You can automatically kick off a build when someone checks in source code changes, and you don't have to have allocate and pay for your own build servers that lie idle most of the time. Le service de build est gratuit tant que vous ne dépassez pas un certain nombre de builds.The build service is free as long as you don't exceed a certain number of builds. Si vous envisagez d’effectuer un volume élevé de builds, vous pouvez payer un peu plus pour les serveurs de build réservés.If you expect to do a high volume of builds, you can pay a little extra for reserved build servers.
  • Il prend en charge la livraison continue vers Azure.It supports continuous delivery to Azure.
  • Il prend en charge les tests de charge automatisés.It supports automated load testing. Le test de charge est essentiel pour une application Cloud, mais il est souvent négligé jusqu’à ce qu’il soit trop tard.Load testing is critical to a cloud app but is often neglected until it's too late. Le test de charge simule une 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 publier l’application en production.Load testing simulates heavy use of an app by thousands of users, enabling you to find bottlenecks and improve throughput —before you release the app to production.
  • Il prend en charge la collaboration de salle d’équipe, qui facilite la communication et la collaboration en temps réel pour les petites équipes Agile.It supports team room collaboration, which facilitates real-time communication and collaboration for small agile teams.
  • Il prend en charge la gestion de projet agile.It supports agile project management.

Pour plus d’informations sur les fonctionnalités d’intégration et de remise continues de Azure DevOps Services, consultez la documentation Azure DevOps.For more information on the continuous integration and delivery features of Azure DevOps Services, see the Azure DevOps documentation.

Si vous recherchez une solution de gestion de projet, de collaboration d’équipe et de contrôle de code source, consultez Azure DevOps Services.If you're looking for a turn-key project management, team collaboration, and source control solution, check out Azure DevOps Services. Inscrivez-vous à Azure DevOps services.Sign up at Azure DevOps Services.

RécapitulatifSummary

Les trois premiers modèles de développement Cloud ont été sur la façon d’implémenter un processus de développement reproductible, fiable et prévisible avec une durée de cycle faible.The first three cloud development patterns have been about how to implement a repeatable, reliable, predictable development process with low cycle time. Dans le chapitre suivant , nous commençons à examiner les modèles d’architecture et de codage.In the next chapter we start to look at architectural and coding patterns.

RessourcesResources

Pour plus d’informations, consultez déployer une application Web dans Azure App service.For more information, see Deploy a web app in Azure App Service.

Consultez également les ressources suivantes :See also the following resources: