Télécharger le PDF
1) Expliquez ce qu'est DevOps?
C'est un terme nouvellement émergent dans le domaine informatique, qui n'est rien d'autre qu'une pratique qui met l'accent sur la collaboration et la communication des développeurs de logiciels et de l'équipe de déploiement (opérations). Il se concentre sur la livraison de produits logiciels plus rapidement et la réduction du taux d'échec des versions.
2) Mentionner quels sont les aspects ou principes clés du DevOps?
Les aspects ou principes clés du DevOps sont
- Infrastructure en tant que code
- Déploiement continu
- Automatisation
- Surveillance
- Sécurité
3) Quelles sont les principales opérations de DevOps avec le développement d'applications et avec l'infrastructure?
Les principales opérations de DevOps sont
Développement d'applications
- Construction du code
- Couverture de code
- Test unitaire
- Emballage
- Déploiement
Infrastructure
- Approvisionnement
- Configuration
- Orchestration
- Déploiement
4) Expliquez comment le «code d'infrastructure» est traité ou exécuté dans AWS?
Dans AWS,
- Le code de l'infrastructure sera au format JSON simple
- Ce code JSON sera organisé en fichiers appelés modèles
- Ces modèles peuvent être déployés sur les devops AWS, puis gérés en tant que piles
- Plus tard, le service CloudFormation effectuera l'opération de création, de suppression, de mise à jour, etc. dans la pile
5) Expliquez quel langage de script est le plus important pour un ingénieur DevOps?
Un langage de script plus simple sera préférable pour un ingénieur DevOps. Python semble être très populaire.
6) Expliquez en quoi DevOps est utile aux développeurs?
DevOps peut être utile aux développeurs pour corriger le bogue et implémenter rapidement de nouvelles fonctionnalités. Cela contribue également à une communication plus claire entre les membres de l'équipe.
7) Liste des outils populaires pour DevOps?
Certains des outils populaires pour DevOps sont
- Jenkins
- Nagios
- Monit
- ELK (Elasticsearch, Logstash, Kibana)
- Jenkins
- Docker
- Ansible
- Git
8) Mentionnez à quel moment avez-vous utilisé le SSH?
J'ai utilisé SSH pour me connecter à une machine distante et travailler sur la ligne de commande. En plus de cela, je l'ai également utilisé pour créer un tunnel dans le système afin de faciliter les communications cryptées sécurisées entre deux hôtes non approuvés sur un réseau non sécurisé.
9) Expliquez comment vous géreriez le contrôle de révision (version)?
Mon approche pour gérer le contrôle des révisions serait de publier le code sur SourceForge ou GitHub afin que tout le monde puisse le voir. En outre, je publierai la liste de contrôle de la dernière révision pour m'assurer que tous les problèmes non résolus sont résolus.
10) Quels sont les types de requêtes Http?
Les types de requêtes Http sont
- OBTENIR
- DIRIGER
- METTRE
- PUBLIER
- PIÈCE
- EFFACER
- TRACE
- RELIER
- OPTIONS
11) Expliquez ce que vous vérifieriez si un serveur de construction Linux commence soudainement à devenir lent?
Si un serveur de construction Linux commence soudainement à devenir lent, vous vérifierez les trois choses suivantes
| Problèmes liés à la RAM, problèmes de lecture-écriture d'E / S disque, problèmes liés à l'espace disque, etc. |
| Recherchez le fichier journal des applications OU le fichier journal du serveur d'applications, les problèmes de performances du système, le journal du serveur Web - vérifiez les journaux HTTP, tomcat lo, jboss ou WebLogic pour voir si le temps de réponse / réception du serveur d'applications est le problème de la lenteur, de la fuite de mémoire de tout application |
| Problèmes liés à l'antivirus, problèmes liés au pare-feu, problèmes de réseau, problèmes de temps de réponse du serveur SMTP, etc. |
12) Quels sont les composants clés de DevOps?
Les composants les plus importants de DevOps sont:
- Intégration continue
- Test continu
- Livraison continue
- Contrôle continu
13) Nommez quelques plates-formes cloud utilisées pour l'implémentation DevOps
Les plates-formes de cloud computing populaires utilisées pour la mise en œuvre DevOps sont:
- Google Cloud
- Services Web Amazon
- Microsoft Azure
14) Donnez quelques avantages de l'utilisation du système de contrôle de version
- Le système de contrôle de version permet aux membres de l'équipe de travailler librement sur n'importe quel fichier à tout moment.
- Toutes les versions et variantes passées sont étroitement emballées à l'intérieur du VCS.
- Un VCS distribué comme vous aide à stocker l'historique complet du projet afin qu'en cas de panne dans le serveur central, vous pouvez utiliser le référentiel Git local de votre membre de l'équipe.
- Vous permet de voir quelles modifications exactes sont apportées au contenu du fichier
15) Expliquez Git Bisect
Git bisect vous aide à trouver le commit qui a introduit un bogue en utilisant la recherche binaire.
16) Quelle est la construction?
Une construction est une méthode dans laquelle le code source est assemblé pour vérifier s'il fonctionne comme une seule unité. Dans le processus de création de build, le code source subira la compilation, l'inspection, les tests et le déploiement.
17) Qu'est-ce que Puppet?
Puppet est un outil de gestion de projet utile. Il vous aide à automatiser les tâches d'administration.
18) Expliquer l'authentification à deux facteurs
L'authentification à deux facteurs est une méthode de sécurité dans laquelle l'utilisateur fournit deux moyens d'identification à partir de catégories distinctes.
19) Expliquez le terme «Canary Release».
Une version Canary est un modèle qui réduit le risque d'introduire une nouvelle version de logiciel dans l'environnement de production. Cela se fait en le rendant disponible de manière contrôlée à un sous-ensemble de l'utilisateur. Avant de le mettre à la disposition de l'ensemble de l'utilisateur.
20) Quels types de tests sont importants pour garantir que le nouveau service est prêt pour la production?
Vous devez effectuer des tests continus pour vous assurer que le nouveau service est prêt pour la production.
21) Qu'est-ce que Vagrant?
Un vagabond est un outil qui peut créer et gérer des environnements virtualisés pour tester et développer des logiciels.
22) Quelle est l'utilisation du PTR dans le DNS?
L'enregistrement de pointeur, également connu sous le nom de (PTR), est utilisé pour la recherche DNS inversée.
23) Qu'est-ce que le chef?
C'est une plateforme d'automatisation puissante qui transforme l'infrastructure en code. Dans cet outil, vous pouvez utiliser des scripts d'écriture qui sont utilisés pour automatiser les processus.
24) Quels sont les prérequis pour la mise en œuvre de DevOps?
Voici les conditions préalables utiles pour l'implémentation DevOps:
- Au moins un logiciel de contrôle de version
- Une bonne communication entre les membres de l'équipe
- Test automatisé
- Déploiement automatisé
25) Nommez quelques bonnes pratiques à suivre pour réussir DevOps.
Voici les meilleures pratiques essentielles pour la mise en œuvre de DevOps:
- La rapidité de livraison signifie le temps nécessaire à toute tâche pour les faire entrer dans l'environnement de production.
- Suivez le nombre de défauts détectés dans les différents
- Il est important de mesurer le temps réel ou moyen nécessaire pour récupérer en cas de panne dans l'environnement de production.
- Le nombre de bugs signalés par le client a également un impact sur la qualité de l'application.
26) Expliquer l'outil SubGIt
SubGit vous aide à migrer SVN vers Git. Il vous permet également de créer un miroir Git accessible en écriture d'un référentiel Subversion local ou distant.
27) Nommez quelques outils de surveillance de réseau importants
Certains des outils de surveillance de réseau les plus importants sont:
- Splunk
- Icinga 2
- Wireshark
- Nagios
- OpenNMS
28) Si votre carte vidéo peut exécuter Unity, comment le sauriez-vous?
Lorsque vous utilisez une commande
/usr/lib/Linux/unity_support_test-p
il donnera une sortie détaillée sur les exigences de Unity, et si elles sont satisfaites, alors votre carte vidéo peut exécuter unity.
29) Expliquez comment activer le son de démarrage dans Ubuntu?
Pour activer le son de démarrage
- Cliquez sur l'équipement de contrôle, puis cliquez sur Applications de démarrage
- Dans la fenêtre Préférences de l'application de démarrage , cliquez sur Ajouter pour ajouter une entrée
- Remplissez ensuite les informations dans les zones de commentaires telles que Nom, Commande et Commentaire
/usr/bin/canberra-gtk-play-id= "desktop-login"-description= "play login sound"
- Déconnectez-vous, puis connectez-vous une fois que vous avez terminé
Vous pouvez également l' ouvrir avec la touche de raccourci Ctrl + Alt + T .
30) Quel est le moyen le plus rapide d'ouvrir un terminal Ubuntu dans un répertoire particulier?
Pour ouvrir un terminal Ubuntu dans un répertoire particulier, vous pouvez utiliser un raccourci clavier personnalisé.
Pour ce faire, dans le champ de commande d'un nouveau clavier personnalisé, tapez genome - terminal - - working - directory = / chemin / vers / dir.
31) Expliquez comment vous pouvez obtenir la couleur actuelle de l'écran actuel sur le bureau Ubuntu?
Vous pouvez ouvrir l'image d'arrière-plan dans The Gimp (éditeur d'image), puis utiliser l'outil compte-gouttes pour sélectionner la couleur sur un point spécifique. Il vous donne la valeur RVB de la couleur à ce stade.
32) Expliquez comment vous créez des lanceurs sur un bureau dans Ubuntu?
Pour créer des lanceurs sur un bureau dans Ubuntu, vous pouvez utiliser
ALT + F2 puis tapez "gnome-desktop-item-edit -create-new ~ / desktop", il lancera l'ancienne boîte de dialogue GUI et créera un lanceur sur votre bureau
33) Expliquez ce qu'est Memcached?
Memcached est un système de mise en cache d'objets mémoire distribués, gratuit et open source, haute performance. L'objectif principal de Memcached est d'améliorer le temps de réponse pour les données qui peuvent autrement être récupérées ou construites à partir d'une autre source ou base de données. Il est utilisé pour éviter d'avoir à utiliser la base de données SQL ou une autre source de manière répétitive pour récupérer des données pour une requête simultanée.
Memcached peut être utilisé pour
- Réseaux sociaux-> Mise en cache de profil
- Agrégation de contenu-> Mise en cache HTML / page
- Ciblage publicitaire-> Suivi des cookies / profil
- Relation-> Mise en cache de session
- E-commerce -> Session et cache HTML
- Services basés sur l'emplacement-> Mise à l'échelle des requêtes de base de données
- Jeux et divertissements -> Mise en cache de session
Memcache aide à
- Accélérez les processus de candidature
- Il détermine ce qu'il faut stocker et ce qu'il ne faut pas
- Réduisez le nombre de demandes de récupération vers la base de données
- Coupe l'accès aux E / S (entrée / sortie) (disque dur)
L'inconvénient de Memcached est
- Ce n'est pas un magasin de données persistant
- Pas une base de données
- Ce n'est pas une application spécifique
- Il ne peut pas mettre en cache un objet volumineux
34) Mentionner certaines fonctionnalités importantes de Memcached?
Les fonctionnalités importantes de Memcached comprennent
- Jetons CAS: un jeton CAS est attaché à un objet récupéré dans un cache. Vous pouvez utiliser ce jeton pour enregistrer votre objet mis à jour.
- Rappels: cela simplifie le code
- getDelayed: Cela réduit le temps de retard de votre script qui attend que les résultats reviennent d'un serveur
- Protocole binaire: vous pouvez utiliser le protocole binaire au lieu d'ASCII avec le nouveau client
- Igbinary: Auparavant, un client effectuait toujours la sérialisation de la valeur avec des données complexes, mais avec Memcached, vous pouvez utiliser l'option igbinary.
35) Expliquez s'il est possible de partager une seule instance d'un Memcache entre plusieurs projets?
Oui, il est possible de partager une seule instance de Memcache entre plusieurs projets. Memcache est un espace de stockage de mémoire et vous pouvez exécuter Memcache sur un ou plusieurs serveurs. Vous pouvez également configurer votre client pour qu'il parle à un ensemble particulier d'instances. Ainsi, vous pouvez exécuter deux processus Memcache différents sur le même hôte et pourtant ils sont complètement indépendants. Sauf si vous avez partitionné vos données, il devient alors nécessaire de savoir à partir de quelle instance les données doivent être extraites ou dans lesquelles les insérer.
36) Vous avez plusieurs serveurs Memcache, dans lesquels l'un des serveurs Memcache échoue, et il a vos données, essaiera-t-il jamais d'obtenir des données clés de ce serveur défaillant?
Les données du serveur défaillant ne seront pas supprimées, mais il existe une disposition pour la défaillance automatique, que vous pouvez configurer pour plusieurs nœuds. Le basculement peut être déclenché lors de toute erreur de socket ou de serveur Memcached et non lors d'erreurs client standard telles que l'ajout d'une clé existante, etc.
37) Expliquez comment vous pouvez minimiser les pannes du serveur Memcached?
- Lorsqu'une instance échoue, plusieurs d'entre elles tombent en panne, ce qui alourdit la charge du serveur de base de données lorsque les données perdues sont rechargées lorsqu'un client effectue une demande. Pour éviter cela, si votre code a été écrit pour minimiser les embouteillages du cache, cela laissera un impact minimal
- Une autre façon consiste à afficher une instance de Memcached sur une nouvelle machine en utilisant l'adresse IP des machines perdues
- Le code est une autre option pour minimiser les pannes de serveur car il vous donne la liberté de modifier la liste des serveurs Memcached avec un minimum de travail
- La définition de la valeur du délai d'expiration est une autre option que certains clients Memcached implémentent pour la panne du serveur Memcached. Lorsque votre serveur Memcached tombe en panne, le client continue d'essayer d'envoyer une demande jusqu'à ce que le délai d'expiration soit atteint
38) Expliquez comment vous pouvez mettre à jour Memcached lorsque les données changent?
Lorsque les données changent, vous pouvez mettre à jour Memcached en
- Effacement proactif du cache: effacement du cache lors d'une insertion ou d'une mise à jour
- Réinitialisation du cache: C'est similaire à la première méthode, mais plutôt que de simplement supprimer les clés et d'attendre la prochaine demande de rafraîchissement du cache, réinitialisez les valeurs après l'insertion ou la mise à jour.
39) Expliquez ce qu'est l'effet Dogpile? Comment pouvez-vous éviter cet effet?
L'effet Dogpile fait référence à l'événement lorsqu'un cache expire et que les sites Web sont touchés par les multiples demandes effectuées par le client en même temps. Cet effet peut être évité en utilisant un verrou de sémaphore. Dans ce système, lorsque la valeur expire, le premier processus acquiert le verrou et commence à générer une nouvelle valeur.
40) Expliquez comment Memcached ne doit pas être utilisé?
- L'utilisation abusive courante de Memcached est de l'utiliser comme magasin de données et non comme cache
- N'utilisez jamais Memcached comme seule source d'informations dont vous avez besoin pour exécuter votre application. Les données doivent toujours être disponibles via une autre source également
- Memcached est juste un magasin de clés ou de valeurs et ne peut pas effectuer une requête sur les données ou parcourir le contenu pour extraire des informations
- Memcached n'offre aucune forme de sécurité que ce soit en cryptage ou en authentification
41) Lorsqu'un serveur est arrêté, les données stockées dans Memcached sont-elles toujours disponibles?
Les données stockées dans Memcached ne sont pas durables, donc si un serveur est arrêté ou redémarré, toutes les données stockées dans Memcached sont supprimées.
42) Mentionner quelle est la différence entre Memcache et Memcached?
- Memcache: C'est une extension qui vous permet de travailler à travers des interfaces pratiques orientées objet (POO) et procédurales. Il est conçu pour réduire la charge de la base de données dans les applications Web dynamiques.
- Memcached : C'est une extension qui utilise la bibliothèque libmemcached pour fournir une API pour communiquer avec les serveurs Memcached. Il est utilisé pour augmenter les applications Web dynamiques en allégeant la charge de la base de données. C'est la dernière API.
43) Expliquer le modèle de déploiement bleu / vert
Le motif de coloration bleu / vert répond aux défis les plus importants rencontrés lors du processus de déploiement automatique. Dans l'approche de déploiement bleu / vert, vous devez garantir deux environnements de production identiques. Cependant, un seul d'entre eux est EN DIRECT à un moment donné. L'environnement LIVE est appelé environnement bleu.
Lorsque l'équipe prépare la prochaine version de son logiciel, elle effectue sa dernière étape de test dans un environnement connu sous le nom d'environnement vert. Une fois vérifié, le trafic est acheminé vers l'environnement vert.
44) Quels sont les conteneurs?
Les conteneurs sont issus de la virtualisation légère. Ils offrent une isolation entre les processus.
45) Qu'est-ce qu'une réunion post mortem en référence à DevOps?
Une réunion post mortem permet de discuter de ce qui n'a pas fonctionné et des mesures à prendre pour éviter les échecs.
46) Quelle est la méthode la plus simple pour créer un petit cloud?
VMfres est l'une des options les plus efficaces pour créer un cloud IaaS à partir de machines virtuelles Virtual Box en un rien de temps. Cependant, si vous voulez un PaaS léger, alors Dokku est une bonne option car le script bash peut être PaaS hors des conteneurs Dokku.
47) Nommez deux outils utilisés pour la mise en réseau du docker.
Pour la mise en réseau Docker, vous pouvez utiliser Kubernetes et Docker Swarm.
48) Nommez certains des domaines dans lesquels DevOps est implémenté
Les DevOps sont utilisés pour la production, les opérations informatiques, le retour d'information sur la production et le développement de ses logiciels.
49) Qu'est-ce que le CBD?
Le CBD ou le développement basé sur les composants est une manière unique d'aborder le développement de produits. Dans cette méthode, les développeurs recherchent toujours des composants existants bien définis, testés et vérifiés pour les composer et les assembler en un produit au lieu de développer à partir de zéro.
50) Expliquer la programmation par paires en référence à DevOps
La programmation par paires est une pratique d'ingénierie des règles de programmation extrêmes. Dans cette méthode, deux programmeurs travaillent sur le même système, sur le même design / algorithme / code.
Un programmeur agit comme un «pilote». D'autres agit comme un «observateur» qui surveille en permanence l'avancement d'un projet pour identifier les problèmes. Les rôles peuvent être inversés à tout moment sans aucune indication préalable.
51) Expliquer le test de résilience
Les tests qui garantissent une récupération sans perte de données et de fonctionnalités après une panne sont appelés tests de résilience.
52) Nommez trois KPI DevOps importants
Les trois KPI DevOps les plus courants sont:
- En attendant la reprise après panne
- Fréquence de déploiement
- Pourcentage d'échecs de déploiements