Académique Documents
Professionnel Documents
Culture Documents
ISTA TINGHIR
2022-2023
Formateur : BOUTKHAMOUINE Brahim
Situation du départ
Ce conflit aurait pu être évité si les équipes avaient travaillé plus étroitement ensemble
dès le départ, en impliquant l'équipe d'exploitation dès le début du processus de
développement, en communiquant régulièrement et en veillant à ce que les objectifs de
chaque équipe soient alignés. Cela aurait permis de garantir que la nouvelle fonctionnalité soit
déployée en toute sécurité et sans impact négatif sur les utilisateurs et l'entreprise.
Exemple 2 :
L'équipe de développement peut avoir développé une application qui répond parfaitement
aux besoins fonctionnels, mais qui n'est pas optimisée pour une utilisation à grande échelle.
L'équipe d'exploitation peut être confrontée à des problèmes de temps de réponse lents, de
déconnexions inattendues ou même de pannes complètes du système.
Dans ce cas, l'équipe de développement peut être réticente à apporter des modifications
importantes à l'application, craignant que cela ne compromette les fonctionnalités existantes
ou que cela ne prenne trop de temps. L'équipe d'exploitation, quant à elle, peut vouloir
résoudre rapidement les problèmes de performance pour éviter toute interruption de service
pour les utilisateurs.
Pour résoudre ce type de conflit, il est important que les deux équipes travaillent
ensemble pour comprendre les problèmes de performance et les causes sous-
jacentes. L'équipe de développement peut devoir effectuer des modifications pour
optimiser les requêtes de l'application ou améliorer l'utilisation des ressources
système, tandis que l'équipe d'exploitation peut apporter des modifications à
l'infrastructure pour améliorer les performances, comme l'ajout de ressources
supplémentaires ou la mise en place de stratégies de mise en cache efficaces.
Définition :
La démarche DevOps prend sa source directement de l’agilité. Elle fait suite à de nouveaux
besoins d’organisation de projets. Sil’agilité avait permis aux développeurs delivrer les
applications plus rapidement, les opérateurs, eux, avaient conservé un fonctionnement plus
classique. Le DevOps fut donc créé pour réduire cet écart qui faisait tant défaut à l’agilité.
•L'intégration continue est une méthode de développement de logiciel DevOps avec laquelle les
développeurs intègrent régulièrement leurs modifications de code à un référentiel centralisé,
suite à quoi des opérations de création et de tests ont automatiquement menées.
Les principaux objectifs del'intégration continue sont de trouver et de corriger plus rapidement
les bogues, d'améliorer la qualité des logiciels et de réduire le temps nécessaire pour valider et
publier de nouvelles mises à jour de logiciels.
•Avec l'intégration continue, les développeurs appliquent régulièrement leurs modifications sur
un référentiel partagé, avec un système de contrôle des versions comme Git.
•Avant d'envoyer leur code, les développeurs peuvent choisir d'exécuter des tests sur des unités
locales pour le vérifier davantage avant son l'intégration.
•Un service d'intégration continue crée et exécute automatiquement des tests unitaires sur les
nouveaux changements de codes pour détecter immédiatement n'importe quelle erreur.
Déploiement continue
Le déploiement continu(CD) est la suite de l’intégration continue. Une fois que les tests sont
validés sur l’environnement de dev, il faut mettre en production. Le déploiement continu
consiste donc à automatiser les actions de déploiements qui étaient auparavant réalisées
manuellement. C’est pour cette raison que l’on parle souvent de CI/CD ensemble, l’un va
difficilement sans l’autre.
Le déploiement continu c’est un idéal que peu d’entreprises ont réellement mis en place. La
plupart du temps les équipes IT préfèrent avoir la main sur la dernière étape du déploiement.
Dans ce cas on parle donc de livraison continue, toutes les étapes du déploiement sont
automatisées sauf la dernière: la mise en production.
Le déploiement continu inclut donc la livraison continue. Le déploiement continu va plus loin
que la livraison continue en orchestrant automatiquement le déploiement des nouvelles
fonctionnalités.
Outils pour CI
Jenkins : un outil open source qui offre de nombreuses fonctionnalités pour l'automatisation
de la compilation, des tests et des déploiements.
Travis CI : un service cloud qui facilite l'intégration continue pour les projets hébergés sur
GitHub.
GitLab CI : un service qui fournit une intégration continue et un déploiement continu sur la
même plateforme que le gestionnaire de code source Git.
_________________________
Outils pour CD
Ansible : un outil open source de gestion de configuration qui permet de déployer des
applications de manière automatisée.
AWS CodeDeploy : un service cloud d'Amazon qui facilite le déploiement d'applications sur
des instances Amazon EC2 ou des serveurs locaux.
Kubernetes : un système open source de déploiement et de gestion de conteneurs qui
permet de déployer et de gérer des applications de manière efficace.
Mettre en place la CI/CD avec Gitlab