TD DevOps Corrigé

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 6

TD DevOps

1. Qu’est-ce que le DevOps?


Réponse
DevOps est l’abréviation de Développent & Operations. Il s’agit d’une pratique d’ingénierie
logicielle qui vise à réunir l’équipe de développement et l’équipe d’exploitation dans le but
d’automatiser le projet à chaque étape. Cette approche permet d’automatiser facilement la
gestion des services du projet afin d’améliorer la compréhension de la pile technologique
utilisée dans l’environnement de production.
Les principaux avantages de cette structure sont la rapidité du développement et de la
résolution des problèmes au niveau de l’environnement de production, la stabilité des
applications et l’innovation qu’elle implique.
2. Quels sont les meilleurs outils DevOps ? Sur quels outils avez-vous travaillé ?
Réponse
Les outils DevOps les plus populaires sont:
▪ Git: Système de contrôle de version
▪ Jenkins: Outil d’intégration continue
▪ Selenium: Outil de test continu
▪ Puppet, Chef, Ansible: Outils de gestion de la configuration et de déploiement.
▪ Nagios: Outil de surveillance continue
▪ Docker: Outil de conteneurisation
3. Comment tous ces outils fonctionnent-ils ensemble ?
Réponse
▪ Les développeurs développent le code et celui-ci est contrôlé par des outils de contrôle
de version comme Git, etc.
▪ Les développeurs envoient ce code au dépôt Git et toute modification apportée au code
est enregistrée dans ce dépôt.
▪ Jenkins extrait ce code du dépôt en utilisant le plugin Git et le construit en utilisant des
outils comme Ant ou Maven.

Azizi Ridha Page 1


▪ Des outils de gestion de configuration comme Puppet déploient et fournissent
l’environnement de test, puis Jenkins libère ce code dans l’environnement de test sur
lequel les tests sont effectués à l’aide d’outils comme Selenium.
▪ Une fois le code testé, Jenkins l’envoie pour déploiement sur le serveur de production.
▪ Après le déploiement, il est supervisé en permanence par des outils comme Nagios.
▪ Les conteneurs Docker fournissent un environnement de test pour tester les
fonctionnalités de la version.
4. Qui est un ingénieur DevOps ?
Réponse
Un ingénieur DevOps est une personne qui travaille à la fois avec les développeurs et les
administrateurs système/réseau pour assurer le bon déroulement des mises à jour de code. Il
s’agit généralement de développeurs qui s’intéressent au domaine du déploiement et des
opérations ou d’administrateurs système qui développent une passion pour le codage et se
tournent vers le développement.

5. Quels sont les avantages de DevOps ?


Réponse
Avantages techniques :
▪ Livraison continue de logiciels
▪ Problèmes moins complexes à résoudre
▪ Résolution plus rapide des bugs
Avantages commerciaux :
▪ Livraison plus rapide des fonctionnalités
▪ Environnements d’exploitation plus stables
▪ Plus de temps disponible pour ajouter de la valeur (plutôt que de réparer/maintenir)
6. Qu’est-ce que l’intégration continue? Quel est son objectif?
Réponse
L’intégration continue est une pratique de développement où les développeurs intègrent le
code dans un dépôt GIT partagé fréquemment, de préférence plusieurs fois par jour. Chaque
intégration peut ensuite être vérifiée par des tests automatisés. Bien que les tests automatisés
ne fassent pas strictement partie de l’intégration continue, ils sont généralement implicites.

Azizi Ridha Page 2


L’un des principaux avantages d’une intégration régulière est que vous pouvez détecter
rapidement les erreurs et les localiser plus facilement. Il est possible de repérer rapidement le
changement spécifique qui a introduit un défaut.
7. Quelle est la chose la plus importante que DevOps nous aide à réaliser ?
Réponse
La chose la plus importante que DevOps nous aide à réaliser est de mettre les changements en
production aussi rapidement que possible tout en minimisant les risques liés à la qualité et à
la conformité des logiciels.
8. Quelle est la différence entre le déploiement continu et la livraison continue ?
Réponse
Le déploiement continu est entièrement automatisé et le déploiement en production ne
nécessite aucune intervention manuelle dans le cas du déploiement continu, tandis que dans
le cas de la livraison continue, le déploiement en production nécessite une certaine
intervention manuelle pour la gestion des changements dans l’organisation, et il doit être
approuvé par le responsable ou les autorités supérieures pour être déployé en production. En
fonction du facteur de risque de l’application de votre organisation, l’approche de
déploiement/livraison continue sera choisie.
9. Est-ce que DevOps est un outil ?
Réponse
DevOps ne peut pas être qualifié comme un outil; il s’agit d’une culture de travail collaborative
qui associe les équipes de développement et d’exploitation pour le développement continu,
les tests continus, l’intégration continue, le déploiement continu et la supervision continue.
10. Quelles sont les principales opérations de DevOps en termes de développement et
d’infrastructure ?
Réponse
Les opérations de base de DevOps sont le développement d’applications, le contrôle de
version, les tests unitaires, le déploiement, la supervision, la configuration et l’orchestration.
11. Pourquoi DevOps est devenu populaire ?
Réponse
La satisfaction du client est aujourd’hui une priorité pour les organisations, qui est également
devenue l’objectif de tout produit pour sa réussite. Pour y parvenir, les entreprises doivent
faire les choses suivantes :

Azizi Ridha Page 3


▪ Déploiements fréquents de fonctionnalités
▪ Réduire le temps entre les corrections de bugs
▪ Réduction du taux d’échec des versions
▪ Temps de récupération plus rapide en cas d’échec des versions.
12. À quoi sert la gestion de la configuration dans DevOps ?
Réponse
▪ Permet la gestion et la modification de plusieurs systèmes.
▪ Normalise les configurations des ressources, ce qui permet de gérer l’infrastructure
informatique.
▪ Elle aide à l’administration et à la gestion de plusieurs serveurs et maintient l’intégrité
de l’ensemble de l’infrastructure.
13. Comment la supervision continue vous aide-t-elle à maintenir l’ensemble de l’architecture
du système ?
Réponse
La supervision continue dans DevOps est un processus qui permet de détecter, d’identifier et
de signaler toute défaillance ou menace dans l’ensemble de l’infrastructure du système.
▪ S’assure que tous les services, applications et ressources fonctionnent correctement sur
les serveurs.
▪ Surveille l’état des serveurs et détermine si les applications fonctionnent correctement
ou non.
▪ Permet un audit continu, une inspection des transactions et une surveillance contrôlée.
14. A quoi sert SSH ?
Réponse
SSH est l’abréviation de Secure Shell. Il s’agit d’un protocole d’administration qui permet
aux utilisateurs d’accéder à des serveurs distants et de les contrôler via Internet en utilisant
la ligne de commande.
SSH est une version cryptée et sécurisée de l’ancien Telnet, qui n’était ni crypté ni sécurisé.
Cela garantit que la communication avec le serveur distant se fait sous forme cryptée.
15. Pourquoi l’intégration continue est-elle nécessaire ?
Réponse

Azizi Ridha Page 4


En incorporant l’intégration continue à la fois pour le développement et les tests, il a été
constaté que la qualité du logiciel s’est améliorée et que le temps nécessaire pour livrer les
fonctionnalités du logiciel a été considérablement réduit.
Cela permet également à l’équipe de développement de détecter et de corriger les erreurs
au stade initial, car chaque livraison au dépôt Git est construite automatiquement et
exécutée en fonction des cas de tests unitaires et d’intégration.
16. Quel est le rôle d’AWS dans DevOps ?
Réponse
AWS joue le rôle suivant dans DevOps :
▪ Services flexibles: Fournit des services flexibles et prêts à l’emploi sans qu’il soit
nécessaire d’installer ou de configurer le logiciel.
▪ Conçu pour évoluer: Vous pouvez gérer une seule instance ou évoluer vers des milliers
d’instances grâce aux services AWS.
▪ Automatisation: AWS vous permet d’automatiser les tâches et les processus, ce qui
vous laisse plus de temps pour innover.
▪ Sécurité: Grâce à la gestion des identités et des accès d’AWS, vous pouvez définir des
autorisations et des politiques pour les utilisateurs.
▪ Vaste écosystème de partenaires: AWS prend en charge un vaste écosystème de
partenaires qui s’intègrent aux services AWS et les étendent.
17. Quels sont les avantages de l’utilisation du contrôle de version comme GIT?
Réponse
Voici les avantages de l’utilisation du contrôle de version :
▪ Tous les membres de l’équipe sont libres de travailler sur n’importe quel fichier à tout
moment grâce au Système de Contrôle de Version (SCV). Le SCV permettra à l’équipe
d’intégrer toutes les modifications en une seule version.
▪ Le Système de Contrôle de Version fournit un bref résumé de ce qui a été modifié
chaque fois que nous enregistrons une nouvelle version du projet. Nous pouvons
également examiner exactement ce qui a été modifié dans le contenu du fichier. Par
conséquent, nous serons en mesure de voir qui a apporté quelles modifications au
projet.

Azizi Ridha Page 5


▪ Dans le VCS, toutes les variantes et versions précédentes sont correctement stockées.
Nous pourrons demander n’importe quelle version à tout moment, et nous pourrons
récupérer un instantané de l’ensemble du projet du bout des doigts.
▪ Un Système de Contrôle de Version distribué, tel que Git, permet à tous les membres
de l’équipe de récupérer un historique complet du projet. Cela permet aux
développeurs ou aux autres parties prenantes d’utiliser les dépôts Git locaux de
n’importe quel membre de l’équipe, même si le serveur principal tombe en panne à un
moment donné.
18. Qu’est-ce que les tests continus ?
Réponse
Les tests continus consistent à exécuter des tests automatisés dans le cadre du pipeline de
livraison des logiciels afin de fournir un retour d’information instantané sur les risques
commerciaux présents dans la version la plus récente. Afin d’éviter les problèmes de
changement d’étape dans le cycle de vie de la livraison du logiciel et de permettre aux équipes
de développement de recevoir un retour d’information immédiat, chaque version est testée
en continu de cette manière. Il en résulte une augmentation significative de la vitesse de la
productivité du développeur, car il n’est plus nécessaire de relancer tous les tests après chaque
mise à jour et re-building du projet.
19. Qu’est-ce que l’automatisation des tests ?
Réponse
L’automatisation des tests est le processus d’automatisation d’une procédure manuelle afin de
tester une application ou un système. Les tests automatisés impliquent l’utilisation d’outils de
test indépendants qui vous permettent de développer des scripts de test qui peuvent être
exécutés de manière répétée sans nécessiter d’interaction humaine.
20. Quels sont les avantages des tests automatiques ?
Réponse
Voici quelques-uns des avantages de l’automatisation des tests:
▪ Permet d’économiser de l’argent et du temps.
▪ L’exécution sans surveillance peut être effectuée facilement.
▪ D’énormes matrices de test peuvent être testées facilement.
▪ L’exécution parallèle est possible.
▪ Réduction des erreurs humaines, d’où une meilleure qualité.

Azizi Ridha Page 6

Vous aimerez peut-être aussi