Vous êtes sur la page 1sur 5

OFPPT Office de la Formation Professionnelle

et de la Promotion du Travail

ISTA INZEGANE

Année de formation : 2022 /2023

Filière : DD WFS TP : Introduire DevOps

Formation : Initiale Module : Adopter l’approche Agile

Durée : 3h Nom:Mohamed Othman Moutayb

Travail à rendre :
Q1. C’est quoi DevOps et en quoi diffère-t-il d’Agile?
DevOps est une approche des opérations informatiques qui vise à
rapprocher les équipes de développement et d'exploitation. Il s'appuie sur les
principes de l'agilité pour favoriser la collaboration, l'automatisation et la livraison
continue de logiciels. La principale différence entre DevOps et Agile est que
DevOps se concentre spécifiquement sur les opérations informatiques, tandis
qu'Agile est une approche plus large du développement logiciel.

Q2. Que signifier CALMS ?


CALMS is a framework that assesses a company's ability to adopt DevOps
processes, as well as a way of measuring success during a DevOps transformation.
The acronym was coined by Jez Humble, co-author of “The DevOps Handbook,”
and stands for Culture, Automation, Lean, Measurement, and Sharing.

Q3. Quels sont les phases du cycle de vie d’un processus DevOps?
Donner quelques outils utilisés dans chaque phase.
Le cycle de vie DevOps peut être divisé en quatre phases principales :
 Planification : Cette phase consiste à définir les objectifs et les exigences du
projet.
- Quelques outils utilisés dans la planification: Jira, Confluence.
 Développement : Cette phase consiste à créer le code source du logiciel.
- Quelques outils utilisés dans la développement: Git, GitHub,
Visual Studio Code
 Intégration et déploiement : Cette phase consiste à intégrer le code source
dans un environnement de test et à le déployer dans un environnement de
production.
- Quelques outils utilisés dans la intégration et déploiement:
Jenkins, Docker, Kubernetes
 Exploitation : Cette phase consiste à gérer et à maintenir le logiciel en
production.
- Quelques outils utilisés dans la exploitation: Nagios, Prometheus,
Splunk

Q4. Pouvez-vous expliquer le concept d'intégration continue (CI) en termes


simples ?
L'intégration continue (CI) est une pratique qui consiste à intégrer le code
source du logiciel de manière régulière et automatique. Cela permet de détecter
les erreurs et les conflits tôt dans le processus de développement, ce qui peut
contribuer à améliorer la qualité du logiciel.

Q5. Quelle est la différence entre un conteneur et une machine virtuelle ?


Les conteneurs sont basés sur le concept de partage du noyau d'un système
d'exploitation. Cela signifie qu'ils sont plus légers et plus efficaces que les
machines virtuelles, qui nécessitent un système d'exploitation complet pour
chaque instance. Les machines virtuelles sont plus isolées que les conteneurs, ce
qui les rend plus sûres. Elles sont également plus faciles à gérer, car elles peuvent
être créées et supprimées de manière dynamique.
Q6. Avez-vous des connaissances de base sur des outils tels que Git et Jenkins ?
Comment les utiliseriez-vous dans un contexte DevOps ?

Git est un système de contrôle de version décentralisé qui permet aux


développeurs de collaborer sur du code source.

Jenkins est un serveur d'automatisation qui peut être utilisé pour automatiser
une variété de tâches DevOps, telles que l'intégration continue, le déploiement
continu et les tests automatisés.

Dans un contexte DevOps, Git peut-être utiliser pour suivre les modifications du
code source tout au long du cycle de vie du développement logiciel.

Jenkins peut être utilisé pour automatiser les tâches d'intégration continue et
de déploiement continu, ce qui permet de réduire le temps de mise sur le
marché.

Q7. Qu'est-ce que l'automatisation des tests et pourquoi est-elle importante en


DevOps ?
L'automatisation des tests est le processus de création de scripts qui peuvent
être utilisés pour exécuter des tests de logiciels de manière automatique. Elle est
importante en DevOps car elle permet de :
- Diminuer le temps nécessaire pour tester le logiciel.
- Augmenter la fréquence des tests.
- Réduire le risque de bogues.
-
Q8. Comment décririez-vous le déploiement continu (CD) et pourquoi est-ce
bénéfique pour le développement logiciel ?
Le déploiement continu (CD) est une pratique qui consiste à déployer des
nouvelles versions de logiciels dans un environnement de production de
manière régulière et automatique.
Il est bénéfique pour le développement logiciel car il permet de :
- Réduire le temps nécessaire pour mettre à disposition de
nouvelles fonctionnalités aux utilisateurs.
- Améliorer la qualité du logiciel.
- Réduire les coûts de développement et d'exploitation.

Q9. Pouvez-vous expliquer ce qu'est Docker et comment il peut être utilisé dans
un environnement DevOps ?
Docker est une plateforme open source qui permet de créer, de déployer et de
gérer des conteneurs. Les conteneurs sont des environnements d'exécution
isolés qui peuvent être utilisés pour exécuter des applications logicielles.
Docker peut être utilisé dans un environnement DevOps pour :
- Simplifier le déploiement d'applications logicielles.
- Améliorer la portabilité des applications logicielles.
- Réduire les coûts de développement et d'exploitation.
Q10. C’est quoi l'Infrastructure as Code (IaC) et quels sont les avantages de son
utilisation de dans le déploiement d'infrastructures ?
L'Infrastructure as Code (IaC) est une approche de gestion de l'infrastructure
qui consiste à décrire l'infrastructure sous forme de code. Cela permet de gérer
l'infrastructure de manière plus cohérente, plus fiable et plus automatisée.
Les avantages de l'utilisation de l'IaC dans le déploiement d'infrastructures
incluent :
- Une meilleure cohérence et une plus grande prévisibilité.
- Une réduction des erreurs et des coûts.
- Une plus grande flexibilité et une plus grande évolutivité.

Q11. C’est quoi DevSecOps ?


DevSecOps est une approche de développement logiciel qui intègre la sécurité
dès le début du processus de développement. Elle s'appuie sur les principes de
DevOps pour favoriser la collaboration entre les équipes de développement,
d'exploitation et de sécurité.
Q12. Quelle est l'importance de la collaboration entre les équipes de
développement et d'exploitation dans un contexte DevOps ?

La collaboration entre les équipes de développement et d'exploitation


est essentielle dans un contexte DevOps. Elle permet de :

- Diminuer le temps nécessaire pour développer et


déployer des logiciels.

- Améliorer la qualité des logiciels.

- Réduire les coûts de développement et


d'exploitation.
Q13.Citez des fournisseurs de solutions DevOps!
Voici quelques exemples de fournisseurs de solutions DevOps :
Atlassian
 AWS
 Azure
 GitLab
 Jenkins
 Kubernetes

Vous aimerez peut-être aussi