Objectifs de l'examen 701

Examen 701: DevOps Tools Engineer

Version des objectifs d'examen: Version 1.0

Code d'examen: 701-100

À propos des poids objectifs: Chaque objectif est affecté d'une valeur de pondération. Les poids indiquent l'importance relative de chaque objectif à l'examen. Les objectifs avec des poids plus élevés seront couverts dans l'examen avec plus de questions.

Bon d'achat

Sujet 701: Génie logiciel

Développement de logiciels 701.1 Modern (poids: 6)

Poids: 6

La description: Les candidats doivent être en mesure de concevoir des solutions logicielles adaptées aux environnements d’exécution modernes. Les candidats doivent comprendre comment les services gèrent la persistance des données, les sessions, les informations sur le statut, les transactions, la simultanéité, la sécurité, les performances, la disponibilité, la mise à l'échelle, la répartition de charge, la messagerie, la surveillance et les API. En outre, les candidats doivent comprendre les implications de l’agilité et de DevOps sur le développement de logiciels.

Domaines de connaissances clés:

  • Comprendre et concevoir des applications basées sur les services
  • Comprendre les concepts et les standards communs des API
  • Comprendre les aspects du stockage des données, de l'état du service et du traitement de la session
  • Logiciel de conception à exécuter dans des conteneurs
  • Logiciel de conception à déployer sur des services cloud
  • Prise de conscience des risques liés à la migration et à l'intégration de logiciels monolithiques existants
  • Comprendre les risques courants liés à la sécurité des applications et les moyens de les atténuer
  • Comprendre le concept de développement logiciel agile
  • Comprendre le concept de DevOps et ses implications pour les développeurs et les opérateurs de logiciels

Voici une liste partielle des fichiers, termes et utilitaires utilisés:

  • REST, JSON
  • Architectures orientées services (SOA)
  • Microservices
  • Serveurs immuables
  • Couplage lâche
  • Scripts intersites, injections SQL, rapports d'erreur détaillés, authentification API, application cohérente du cryptage de transport
  • En-têtes CORS et jetons CSRF
  • Propriétés de l'ACID et théorème CAP

Composants et plates-formes 701.2 standard pour logiciels (poids: 2)

Poids: 2

La description: Les candidats doivent comprendre les services offerts par les plateformes de cloud commun. Ils devraient pouvoir inclure ces services dans leurs architectures d'applications et leurs chaînes d'outils de déploiement et comprendre les configurations de services requises. Les composants du service OpenStack sont utilisés comme implémentation de référence.

Domaines de connaissances clés:

  • Caractéristiques et concepts du stockage d'objets
  • Caractéristiques et concepts des bases de données relationnelles et NoSQL
  • Caractéristiques et concepts des courtiers de messages et des files d'attente de messages
  • Caractéristiques et concepts des services Big Data
  • Caractéristiques et concepts des applications / PaaS
  • Caractéristiques et concepts des réseaux de diffusion de contenu

Voici une liste partielle des fichiers, termes et utilitaires utilisés:

  • OpenStack Swift
  • OpenStack Trove
  • OpenStack Zaqar
  • CloudFoundry
  • OpenShift

Gestion du code source 701.3 (poids: 5)

Poids: 5

La description: Les candidats devraient pouvoir utiliser Git pour gérer et partager le code source. Cela inclut la création et la contribution à un référentiel, ainsi que l'utilisation de balises, de branches et de référentiels distants. En outre, le candidat devrait pouvoir fusionner des fichiers et résoudre des conflits de fusion.

Domaines de connaissances clés:

  • Comprendre les concepts Git et la structure du référentiel
  • Gérer les fichiers dans un référentiel Git
  • Gérer les branches et les tags
  • Travailler avec des dépôts et des branches distants ainsi que des sous-modules
  • Fusionner des fichiers et des branches
  • Connaissance de SVN et de CVS, y compris les concepts de solutions de gestion de la chaîne logistique centralisée et distribuée

Voici une liste partielle des fichiers, termes et utilitaires utilisés:

  • jet
  • .gitignore

Intégration continue et diffusion continue 701.4 (poids: 5)

Poids: 5

La description: Les candidats doivent comprendre les principes et les composants d'un pipeline d'intégration continue et de distribution continue. Les candidats doivent être en mesure de mettre en œuvre un pipeline CI / CD utilisant Jenkins, notamment de déclencher le pipeline CI / CD, d'exécuter l'unité, de réaliser des tests d'intégration et d'acceptation, de conditionner le logiciel et de gérer le déploiement d'artefacts logiciels testés. Cet objectif couvre l'ensemble des fonctionnalités de la version Jenkins 2.0 ou ultérieure.

Domaines de connaissances clés:

  • Comprendre les concepts d'intégration continue et de livraison continue
  • Comprendre les composants d'un pipeline CI / CD, y compris les tests de construction, d'unité, d'intégration et d'acceptation, la gestion des artefacts, la livraison et le déploiement
  • Comprendre les meilleures pratiques de déploiement
  • Comprendre l'architecture et les fonctionnalités de Jenkins, y compris les plugins Jenkins, l'API Jenkins, les notifications et les versions distribuées
  • Définir et exécuter des travaux dans Jenkins, y compris la gestion des paramètres
  • Empreintes digitales, artefacts et référentiels d'artefacts
  • Comprendre comment Jenkins modélise les pipelines à distribution continue et mettre en place un pipeline déclaratif à distribution continue dans Jenkins
  • Connaissance des modèles possibles d'authentification et d'autorisation
  • Compréhension du plugin Pipeline
  • Comprendre les fonctionnalités d'importants modules Jenkins tels que le plug-in Copy Artifact, le plug-in Fingerprint, le pipeline Docker, le plug-in Construire et publier Docker, le plug-in Git, le plug-in Credentials
  • Prise de conscience de l'artifactory et du Nexus

Voici une liste partielle des fichiers, termes et utilitaires utilisés:

  • Step, Node, Stage
  • Jenkins SDL
  • Jenkinsfile
  • Pipeline déclaratif
  • Déploiement bleu-vert et canari

Sujet 702: Gestion des conteneurs

Utilisation du conteneur 702.1 (poids: 7)

Poids: 7

La description: Les candidats doivent pouvoir créer, partager et utiliser des conteneurs Docker. Cela inclut la création de fichiers Docker, l'utilisation d'un registre Docker, la création et l'interaction de conteneurs, ainsi que la connexion de conteneurs aux réseaux et aux volumes de stockage. Cet objectif couvre l'ensemble des fonctionnalités de Docker version 17.06 ou ultérieure.

Domaines de connaissances clés:

  • Comprendre l'architecture Docker
  • Utiliser des images Docker existantes à partir d'un registre Docker
  • Créer des fichiers Docker et créer des images à partir de ces fichiers
  • Télécharger des images dans un registre Docker
  • Utiliser et accéder aux conteneurs Docker
  • Connecter le conteneur aux réseaux Docker
  • Utiliser des volumes Docker pour le stockage de conteneurs partagés et persistants

Voici une liste partielle des fichiers, termes et utilitaires utilisés:

  • docker
  • Dockerfile
  • .dockerignore

Déploiement et orchestration de conteneurs 702.2 (poids: 5)

Poids: 5

La description: Les candidats doivent être en mesure d'exécuter et de gérer plusieurs conteneurs qui fonctionnent ensemble pour fournir un service. Cela inclut l’orchestration des conteneurs Docker à l’aide de Docker Compose avec un cluster Docker Swarm existant, ainsi que l’utilisation d’un cluster Kubernetes existant. Cet objectif couvre les ensembles de fonctionnalités de Docker Compose version 1.14 ou ultérieure, Docker Swarm inclus dans Docker 17.06 ou version ultérieure et Kubernetes 1.6 ou version ultérieure.

Domaines de connaissances clés:

  • Comprendre le modèle d'application de Docker Compose
  • Créer et exécuter des fichiers Docker Compose (version 3 ou ultérieure)
  • Comprendre l'architecture et les fonctionnalités du mode Docker Swarm
  • Exécuter des conteneurs dans un Docker Swarm, y compris la définition des services, des piles et l'utilisation de secrets
  • Comprendre l'architecture et le modèle d'application Kubernetes
  • Définir et gérer une application basée sur conteneur pour Kubernetes, y compris la définition de déploiements, de services, de ensembles de répliques et de pods

Voici une liste partielle des fichiers, termes et utilitaires utilisés:

  • docker-compose
  • docker
  • kubectl

Infrastructure de conteneur 702.3 (poids: 4)

Poids: 4

La description: Les candidats doivent pouvoir configurer un environnement d'exécution pour les conteneurs. Cela inclut l'exécution de conteneurs sur un poste de travail local ainsi que la configuration d'un hôte de conteneur dédié. En outre, les candidats doivent être informés des autres infrastructures de conteneur, du stockage, des réseaux et des aspects de sécurité spécifiques aux conteneurs. Cet objectif couvre les fonctionnalités de Docker version 17.06 ou ultérieure et Docker Machine 0.12 ou ultérieure.

Domaines de connaissances clés:

  • Utiliser Docker Machine pour configurer un hôte Docker
  • Comprendre les concepts de réseau Docker, y compris les réseaux superposés
  • Créer et gérer des réseaux Docker
  • Comprendre les concepts de stockage Docker
  • Créer et gérer des volumes Docker
  • Conscience de Flocker et flanelle
  • Comprendre les concepts de découverte de service
  • Connaissance des fonctionnalités de base de CoreOS Container Linux, rkt et etcd
  • Comprendre les risques de sécurité liés à la virtualisation de conteneur et aux images de conteneur et comment les atténuer

Voici une liste partielle des fichiers, termes et utilitaires utilisés:

  • docker-machine

Sujet 703: Déploiement de la machine

Déploiement de la machine virtuelle 703.1 (poids: 4)

Poids: 4

La description: Les candidats doivent être en mesure d'automatiser le déploiement d'une machine virtuelle avec un système d'exploitation et un ensemble spécifique de fichiers de configuration et de logiciels.

Domaines de connaissances clés:

  • Comprendre l'architecture et les concepts de Vagrant, y compris le stockage et la mise en réseau
  • Récupérer et utiliser des boîtes d'Atlas
  • Créer et exécuter Vagrantfiles
  • Accéder aux machines virtuelles Vagrant
  • Partager et synchroniser un dossier entre une machine virtuelle Vagrant et le système hôte
  • Comprendre le provisionnement vagabond, y compris File, Shell, Ansible et Docker
  • Comprendre la configuration multi-machine

Voici une liste partielle des fichiers, termes et utilitaires utilisés:

  • vagrant
  • Vagrantfile

703.2 Cloud Deployment (poids: 2)

Poids: 2

La description: Les candidats doivent être en mesure de configurer les instances de cloud IaaS et de les ajuster en fonction de leurs ressources matérielles disponibles, en particulier de l'espace disque et des volumes. De plus, les candidats devraient être en mesure de configurer des instances pour permettre des connexions SSH sécurisées et de préparer ces instances à un outil de gestion de la configuration tel qu'Ansible.

Domaines de connaissances clés:

  • Compréhension des fonctionnalités et des concepts de cloud-init, y compris les données utilisateur et l'initialisation et la configuration de cloud-init
  • Utilisez cloud-init pour créer, redimensionner et monter des systèmes de fichiers, configurer des comptes d'utilisateurs, y compris des informations d'identification de connexion telles que des clés SSH et installer des packages logiciels à partir du référentiel de la distribution.
  • Comprenez les fonctionnalités et les implications des nuages IaaS et de la virtualisation pour une instance informatique, telles que la capture instantanée, la pause, le clonage et les limites de ressources.

Création d’images système 703.3 (poids: 2)

Poids: 2

La description: Les candidats doivent pouvoir créer des images pour les conteneurs, les machines virtuelles et les instances de cloud IaaS.

Domaines de connaissances clés:

  • Comprendre les fonctionnalités et les fonctionnalités de Packer
  • Créer et gérer des fichiers modèles
  • Construire des images à partir de fichiers modèles à l'aide de différents générateurs

Voici une liste partielle des fichiers, termes et utilitaires utilisés:

  • emballeur

Sujet 704: Gestion de la configuration

704.1 Ansible (poids: 8)

Poids: 8

La description: Les candidats doivent pouvoir utiliser Ansible pour s’assurer que le serveur cible est dans un état spécifique en ce qui concerne sa configuration et les logiciels installés. Cet objectif couvre l'ensemble des fonctionnalités de la version Ansible 2.2 ou ultérieure.

Domaines de connaissances clés:

  • Comprendre les principes de la configuration automatisée du système et de l'installation du logiciel
  • Créer et maintenir des fichiers d'inventaire
  • Comprendre comment Ansible interagit avec les systèmes distants
  • Gérez les informations de connexion SSH pour Ansible, y compris en utilisant des comptes de connexion non privilégiés
  • Créer, maintenir et exécuter des classeurs Ansible, y compris des tâches, des gestionnaires, des conditions, des boucles et des registres
  • Définir et utiliser des variables
  • Maintenir les secrets en utilisant les coffres Ansible
  • Écrire des modèles Jinja2, notamment à l'aide de filtres, de boucles et de conditions communs
  • Comprendre et utiliser les rôles Ansible et installer les rôles Ansible à partir de Ansible Galaxy
  • Compréhension et utilisation des tâches Ansible importantes, y compris les fichiers, copie, modèle, fichier_ini, fichier_ligne, correctif, remplacer, utilisateur, groupe, commande, shell, service, système, cron, apt, debconf, yum, git et débogage
  • Prise de conscience de l'inventaire dynamique
  • Connaissance des fonctionnalités Ansibles pour les systèmes non Linux
  • Sensibilisation aux conteneurs Ansible

Voici une liste partielle des fichiers, termes et utilitaires utilisés:

  • ansible.cfg
  • ansible-playbook
  • ansible-vault
  • ansible-galaxy
  • ansible-doc

Autres outils de gestion de la configuration 704.2 (poids: 2)

Poids: 2

La description: Les candidats doivent comprendre les principales caractéristiques et principes des outils de gestion de configuration importants autres que Ansible.

Domaines de connaissances clés:

  • Fonctionnalité de base et connaissance de l'architecture de Puppet.
  • Fonctionnalité de base et connaissance de l'architecture de Chef.

Voici une liste partielle des fichiers, termes et utilitaires utilisés:

  • Manifest, Class, Recipe, Cookbook
  • puppet
  • chef
  • chef-solo
  • chef-client
  • chef-server-ctl
  • knife

Sujet 705: Opérations de service

Opérations et surveillance 705.1 IT (poids: 4)

Poids: 4

La description: Les candidats doivent comprendre comment l'infrastructure informatique est impliquée dans la fourniture d'un service. Cela inclut la connaissance des principaux objectifs des opérations informatiques, la compréhension des propriétés fonctionnelles et non fonctionnelles d’un service informatique et les moyens de les surveiller et de les mesurer à l’aide de Prometheus. En outre, les candidats doivent comprendre les principaux risques de sécurité liés à l’infrastructure informatique. Cet objectif couvre l'ensemble des fonctionnalités de Prometheus 1.7 ou ultérieur.

Domaines de connaissances clés:

  • Comprendre les objectifs des opérations informatiques et de la fourniture de services, y compris les propriétés non fonctionnelles telles que la disponibilité, la latence et la réactivité
  • Comprendre et identifier des métriques et des indicateurs pour surveiller et mesurer la fonctionnalité technique d'un service
  • Comprendre et identifier des métriques et des indicateurs pour surveiller et mesurer la fonctionnalité logique d'un service
  • Comprendre l'architecture de Prometheus, y compris les exportateurs, Pushgateway, Alertmanager et Grafana
  • Surveiller les conteneurs et les microservices avec Prometheus
  • Comprendre les principes des attaques informatiques contre les infrastructures informatiques
  • Comprendre les principes des moyens les plus importants de protéger l'infrastructure informatique
  • Comprendre les principaux composants de l'infrastructure informatique et leur rôle dans le déploiement

Voici une liste partielle des fichiers, termes et utilitaires utilisés:

  • Prometheus, Node exporter, Pushgateway, Alertmanager, Grafana
  • Exploits de service, attaques par force brute et attaques par déni de service
  • Mises à jour de sécurité, filtrage de paquets et passerelles d'applications
  • Hôtes de virtualisation, équilibreurs DNS et de charge

Gestion et analyse des journaux 705.2 (poids: 4)

Poids: 4

La description: Les candidats doivent comprendre le rôle des fichiers journaux dans les opérations et le dépannage. Ils doivent pouvoir configurer une infrastructure de journalisation centralisée basée sur Logstash pour collecter et normaliser les données de journalisation. En outre, les candidats doivent comprendre comment Elasticsearch et Kibana permettent de stocker et d’accéder aux données du journal.

Domaines de connaissances clés:

  • Comprendre le fonctionnement de la journalisation des applications et du système
  • Comprendre l'architecture et les fonctionnalités de Logstash, y compris le cycle de vie d'un message de journal et des plug-ins Logstash
  • Comprendre l'architecture et les fonctionnalités d'Elasticsearch et de Kibana dans le contexte de la gestion des données de journalisation (Elastic Stack)
  • Configurer Logstash pour collecter, normaliser, transformer et stocker les données de journal
  • Configurez syslog et Filebeat pour envoyer les données de journal à Logstash
  • Configurer Logstash pour envoyer des alertes par courrier électronique
  • Comprendre le support d'application pour la gestion des journaux

Voici une liste partielle des fichiers, termes et utilitaires utilisés:

  • logstash
  • input, filter, output
  • grok filter
  • Fichiers journaux, métriques
  • syslog.conf
  • /etc/logstash/logstash.yml
  • /etc/filebeat/filebeat.yml