Le document décrit les principes et outils de DevOps. Il explique comment les outils comme Git, Jenkins, Puppet, Docker et Nagios fonctionnent ensemble pour automatiser le développement, les tests, le déploiement et la surveillance des applications.
0 évaluation0% ont trouvé ce document utile (0 vote)
152 vues6 pages
Le document décrit les principes et outils de DevOps. Il explique comment les outils comme Git, Jenkins, Puppet, Docker et Nagios fonctionnent ensemble pour automatiser le développement, les tests, le déploiement et la surveillance des applications.
Le document décrit les principes et outils de DevOps. Il explique comment les outils comme Git, Jenkins, Puppet, Docker et Nagios fonctionnent ensemble pour automatiser le développement, les tests, le déploiement et la surveillance des applications.
Le document décrit les principes et outils de DevOps. Il explique comment les outils comme Git, Jenkins, Puppet, Docker et Nagios fonctionnent ensemble pour automatiser le développement, les tests, le déploiement et la surveillance des applications.
Téléchargez comme PDF, TXT ou lisez en ligne sur Scribd
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é.