DevOps Rapport OFPPT [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

1

Sommaire: 1

Introduction....................................................................... 3

2

Définition de DevOps......................................................... 3

3

CALMS : signification.......................................................... 3-4

4

La relation entre DevOps et Agile....................................... 4

5

Intégration continue (CI) & Déploiement continu (CD)........ 4-5

6

Les Outils........................................................................... 5 6.1

De CI............................................................................. 5

6.2

De CD............................................................................ 5

7

Pipeline CI/CD.................................................................... 6

8

Conclusion......................................................................... 6

2

1)- Intorodaction

Le mouvement DevOps est une approche culturelle, en plus d'être une méthodologie et un ensemble de pratiques visant à améliorer la collaboration entre les équipes de développement logiciel (Dev) et les équipes opérationnelles (Ops).

Cela se traduit généralement par des cycles de développement plus rapides, des déploiements plus fréquents, et une amélioration globale de la qualité des logiciels.

2)- Définition de DevOps La définition de DevOps englobe une approche holistique visant à améliorer la collaboration entre les équipes de développement et d'exploitation. Cela inclut l'automatisation des processus, la mise en place d'une culture axée sur le partage des responsabilités, et l'adoption d'outils visant à accélérer le développement et la livraison des applications. 3

3)- CALMS : signification

Culture: La culture est au cœur de DevOps. Il s'agit de créer un environnement où la confiance, la collaboration et l'apprentissage continu sont encouragés. Automation: L'automatisation des processus est essentielle pour accélérer les déploiements et réduire les erreurs humaines. Lean: Cela fait référence à l'adoption de pratiques visant à éliminer le gaspillage et à optimiser l'efficacité. Measurement (Mesure): La mesure des performances est cruciale pour identifier les domaines d'amélioration et évaluer l'impact des changements. Sharing (Partage): Le partage des connaissances et des responsabilités favorise une culture de collaboration et d'amélioration continue.

4

4)- La relation entre DevOps et Agile

La relation entre DevOps et Agile est fondée sur des valeurs et des pratiques communes qui favorisent une collaboration étroite, une livraison continue et une culture d'amélioration constante.

Agile met l'accent sur des cycles de développement itératifs et une réponse rapide aux changements, tandis que DevOps automatise les processus de développement, de test et de déploiement pour assurer une livraison rapide et fiable.

Ensemble, ils permettent aux équipes de fournir rapidement des logiciels de haute qualité, en s'adaptant aux besoins changeants du marché.

5

5)- Integrition continue (CI) & Déploiement continue (CD)

La continuité de l'intégration (CI) et le déploiement continu (CD) sont deux pratiques essentielles du DevOps qui travaillent en tandem pour automatiser et accélérer le processus de développement logiciel. Voici un bref aperçu de chaque concept :

a. Intégration Continue (CI) : - La CI consiste à fusionner fréquemment les modifications de code dans un référentiel partagé. - À chaque fusion, des tests automatiques sont exécutés pour vérifier l'intégrité du code. - L'objectif est de détecter rapidement les erreurs et les conflits de code, permettant aux équipes de les corriger plus tôt dans le processus de développement.

6

b. Déploiement Continu (CD) : - Le CD étend la CI en automatisant le processus de déploiement du logiciel. - Une fois que les modifications de code ont passé les tests de CI avec succès, elles sont automatiquement déployées vers l'environnement de production ou de pré-production. - L'objectif est de réduire les délais entre la création du code et sa mise à disposition pour les utilisateurs finaux, tout en garantissant la stabilité et la fiabilité du déploiement.

6)- Les Outils de CI & CD

7

Les outils de CI (Intégration Continue) et de CD (Déploiement Continu) sont essentiels pour mettre en œuvre efficacement les pratiques DevOps et automatiser les processus de développement logiciel. Voici une brève vue d'ensemble des outils les plus couramment utilisés pour la CI et le CD :

6.1)- CI: Jenkins : Plateforme open-source populaire offrant une grande flexibilité et une vaste bibliothèque de plugins pour l'automatisation des processus de CI/CD. Travis CI : Service de CI hébergé, principalement utilisé pour les projets open-source, offrant une intégration facile avec GitHub. CircleCI : Plateforme de CI/CD cloud-native offrant une configuration simple via des fichiers de configuration et une parallélisation des tâches pour des performances rapides. GitLab CI/CD : Intégré directement dans l'écosystème GitLab, offrant une solution tout-en-un pour la gestion du code source, le suivi des problèmes et l'automatisation des processus CI/CD. TeamCity : Outil de CI/CD de JetBrains offrant des fonctionnalités avancées pour l'intégration avec d'autres outils de développement JetBrains et une gestion fine des autorisations.

6.2)- CD: Ansible : Outil d'automatisation open-source axé sur la configuration et la gestion des déploiements d'infrastructure. 8

Puppet : Plateforme de gestion de configuration automatisant le déploiement et la gestion des infrastructures à grande échelle. Chef : Framework open-source pour l'automatisation de l'infrastructure, permettant la configuration et le déploiement uniformes des logiciels. Kubernetes : Système open-source de gestion d'orchestration de conteneurs, offrant des fonctionnalités avancées pour le déploiement et la mise à l'échelle des applications conteneurisées. Docker : Plateforme de conteneurisation populaire facilitant la création, le déploiement et l'exécution d'applications dans des conteneurs.

7)- Pipeline CI/CD

Un pipeline CI/CD est un processus automatisé qui permet de construire, tester et déployer un logiciel de manière efficace et fiable. Voici un résumé des principales étapes : 9

a. Intégration Continue (CI): - Récupération du code depuis un référentiel. - Compilation du code et exécution des tests automatisés. - Rapports sur les résultats des tests.

b. Déploiement Continu (CD): - Déploiement sur un environnement de test pour validation. - Automatisation des tests supplémentaires. - Déploiement sur l'environnement de production et surveillance continue.

Outils comme Jenkins, GitLab CI/CD, CircleCI, etc., sont utilisés pour configurer ces pipelines, intégrant ainsi l'automatisation dans le processus de développement logiciel pour une livraison plus rapide et fiable.

10

8)- Conclusion : En conclusion, DevOps représente une évolution de la culture et des pratiques de développement logiciel, visant à améliorer la vitesse, la qualité et la sécurité des déploiements logiciels.

L'adoption de DevOps nécessite un engagement organisationnel, des changements culturels et l'intégration d'outils et de pratiques automatisés.

Cela dit, les avantages potentiels en termes de fréquence de déploiement, de réduction des défaillances, et d'amélioration de la collaboration inter-équipes en font une approche essentielle pour les entreprises axées sur l'innovation et la transformation digitale.

Sources: www.google.com 11