Introduction
Ce module présente les modèles de déploiement et explique l’architecture des microservices pour vous aider à améliorer le cycle de déploiement et à examiner les modèles de déploiement classiques et modernes.
La livraison continue est une extension de l’intégration continue. Il s’agit en tout et pour tout d’obtenir rapidement les changements pour les envoyer aux clients et d’utiliser des méthodes durables.
La livraison continue va plus loin, à savoir que les changements qui transitent par les pipelines de production arrivent jusqu’aux clients.
La livraison continue est plus que la gestion des mises en production.
La livraison continue est essentiellement tournée vers le processus, les personnes et les outils dont vous avez besoin pour vous assurer de pouvoir fournir vos logiciels à la demande.
Le déploiement n’est qu’une étape dans le processus de livraison continue. Pour déployer à la demande ou plusieurs fois par jour, tous les prérequis doivent être en place.
Par exemple :
Stratégie de test
Votre stratégie de test doit être en place. Si vous devez exécuter un grand nombre de tests manuels pour valider votre logiciel, cela crée un goulot d’étranglement pour la livraison à la demande.
Pratiques de codage
Si votre logiciel n’est pas écrit de manière sécurisée et gérable, vous risquez fort de ne pas pouvoir maintenir une cadence de mise en production élevée.
Lorsque votre logiciel est complexe en raison d’un grand nombre de dettes techniques, il est difficile de modifier le code de façon rapide et fiable.
L’écriture de logiciels de qualité et de tests de qualité est un élément essentiel de la livraison continue.
Architecture
L’architecture de votre application est toujours importante. Toutefois, lors de l’implémentation de la livraison continue, c’est peut-être encore plus le cas.
Si votre logiciel est un monolithe avec de nombreux couplages étroits entre les différents composants, il est difficile de fournir votre logiciel en continu.
Chaque partie modifiée risque d’avoir un impact sur d’autres parties qui n’ont pas changé. Les tests automatisés peuvent suivre ces nombreuses dépendances inattendues, mais cela reste quand même difficile.
Le facteur temps entre également en jeu quand vous travaillez avec différentes équipes. Lorsque l’équipe A dépend du service de l’équipe B, l’équipe A ne peut pas livrer tant que l’équipe B n’a pas terminé. Cela ajoute une autre contrainte à la livraison.
La livraison continue des grands produits logiciels est complexe.
Elle est plus facile pour les plus petites parties. Par conséquent, diviser votre logiciel en plus petites parties indépendantes est une bonne solution dans de nombreux cas.
Une approche permettant de résoudre ces problèmes consiste à implémenter des microservices.
L’intégration continue est l’un des piliers clés de DevOps.
Une fois que vous avez votre code dans un système de gestion de version, vous avez besoin d’une méthode automatisée pour intégrer le code en continu.
Azure Pipelines peut être utilisé pour créer un service CI et CD multiplateforme avec toutes les fonctionnalités.
Il fonctionne avec votre fournisseur Git préféré et peut être déployé sur la plupart des services cloud majeurs comme Azure.
Ce module détaille les pratiques d’intégration continue et les piliers pour l’implémenter dans le cycle de vie du développement, ses avantages et ses propriétés.
Objectifs d’apprentissage
À la fin de ce module, les étudiants et les professionnels peuvent :
- Décrire les modèles de déploiement.
- Expliquer l’architecture des microservices.
- Comprendre les modèles de déploiement classiques et modernes.
- Planifier et concevoir votre architecture.
Prérequis
- Comprendre DevOps et ses concepts.
- Il est utile de connaître les principes de la gestion des versions, mais cela n’est pas nécessaire.
- Bénéfique pour obtenir l’expérience d’une organisation qui fournit des logiciels.