ROLE ET COMPORTEMENT DU CONSULTANT
Pourquoi s’intéresser aux comportements en tant que consultant ?
- Qu’est-ce qu’un comportement ? Qu’est-ce qu’un rôle ?
- En quoi les comportements peuvent faire la différence ?
- Pourquoi choisit-on d’adopter un comportement ? Le processus d’apprentissage d’un « savoir-être »
Adopter la meilleure stratégie de coopération pour mieux travailler en équipe
- Comment agir pour des développer des relations positives et durables ?
- La théorie CRP
Savoir communiquer et éviter les malentendus
- Pourquoi la communication passe-t-elle mal : les filtres, le cadre de référence ?
- Savoir utiliser l’écoute active : questionnement ouvert et reformulation
- Savoir convaincre : comment influencer positivement les échanges
Comment faire évoluer ses comportements
- Qu’est-ce qui conditionne nos comportements ?
- Sur quel levier agir pour ajouter des « cordes à son arc »
Comprendre sa personnalité et mieux cerner celle des autres
- Savoir se situer et comprendre en quoi notre personnalité se traduit à travers nos comportements
- Situer les autres et comprendre leur mode de fonctionnement pour mieux coopérer
Développer son intelligence émotionnelle pour modifier ses comportements
- Qu’est-ce que l’intelligence émotionnelle ?
- En quoi notre QE est-il déterminant par rapport à nos comportements
- Apprendre à gérer son stress pour éviter les comportements inadaptés
- Le stress : de quoi parle-t-on ?
- Comment prévenir le stress et le gérer ?
Appréhender le rôle des croyances et de l’éducation dans nos comportements
- Qu’est-ce qu’une croyance ?
- Pourquoi conditionnent-elles nos comportements ?
L’assertivité et l’empathie pour mieux travailler en équipe
- Qu’est-ce que l’assertivité ? Qu’est-ce que l’empathie ?
- La notion de respects des besoins et de gagnant-gagnant
- Savoir recadrer un comportement qui ne nous convient pas et renouer avec des relations positives
LE TRAVAIL EN EQUIPE
Le travail en équipe
- Définition
- La dynamique de groupe
- La structuration de l’équipe de travail
- La taille de l’équipe
- Les facteurs d’influence
- Les comportements
- Les styles de leadership
- Les points clés de réussite du travail en équipe.
La dynamique de groupe
- Les facteurs de cohésion et de dissociation
- La vie affective du groupe et son évolution dans le temps
La structuration de l’équipe
- Sa mission
- Ses objectifs
- Les ressources et les moyens
- L’information et le suivi d’activité
Les facteurs d’influence
- Les facteurs de démoralisation
- Les facteurs de cohésion
Les comportements
Les points clés de réussite du travail en équipe
- Savoir écouter et s’exprimer
- Savoir accepter le consensus
- Savoir négocier.
- Respecter les autres.
- Savoir mettre en œuvre une méthode de travail qui vise à atteindre les objectifs fixés
CLOUD FONDAMENTAUX
Cloud Computing : contexte et enjeu
- Concepts :
- Entre marketing et des technos déjà existantes
- Plus que du simple stockage en ligne : un portefeuille complet d’applicatifs on-line
- Virtualisation de serveur : une brique de base importante
- Les applicatifs phares :
- Outils collaboratifs
- Communications unifiées
- Partage de documents
- Les différents modèles : privé, ASP, public, IaaS, SaaS, PaaS
- Les différents scénarios d’évolution
- SDK, API : des outils pour innover et développer vos propres outils
- La sécurité : problématiques techniques et juridiques
- Le marché : l’état de l’art, les acteurs, les tendances
- Les défis à franchir
Du mode ASP au Cloud Computing
- Les différents niveaux de virtualisation :
- IaaS (Infrastructure as a Service) : utiliser et gérer des machines virtuelles (VM)
- PaaS (Plateforme as a Service) : une virtualisation au niveau plateforme
- SaaS (Software as a Service) : une souplesse au niveau applicatif
- Les modèles de déploiement :
- Les applications :
- Stockage
- Outils collaboratifs
- Communications unifiées
- Mobilité multiterminal, l’avènement du BYOD, Bring Your Own Device
- Exemples de solutions du marché :
- Opérateurs : Orange, SFR…
- Internet players : Google, Apple, Amazon, hubiC, Dropbox
- Constructeurs et éditeurs : Microsoft, VMware, HP, IBM, Intel…
- Des solutions complémentaires
Gestion et administration
- Provisionning et gestion des utilisateurs
– Processus et organisation
– Bases de données
- Gestion des terminaux : BYOD et
- Gestion de flottes hétérogènes
- Monitoring et surveillance
- Gestion des services :
– Par utilisateur
– Par type de terminal
– Par contexte : bureau, privé…
- Automatisation
Sécurité
- Protection et confidentialité des données
- Authentification et identité en multi terminal et en multicanal
- Gestion d’un contexte hybride personnel/professionnel
- Problématique juridique : protection des utilisateurs
Innovation et personnalisation
- L’avènement des SDK et API : des interfaces et librairies ouvertes aux développeurs
- Le Full mesh : créer votre innovation à partir de briques hétérogènes
– Plateforme : terminal et serveur
– Software : applicatifs
– Internet players : Google, Données publiques
- Les types d’APIS :
– SOAP/Rest
– PHP, Python
– URL, WebDAV
– C++, C, Java
– et bien d’autres…
Introduction au cloud AWS
- Les six avantages du Cloud AWS
- Les différences entre la solution sur site et les déploiements dans le cloud
- Le modèle tarifaire pay-as-you-go
Calcul dans le Cloud
- Les avantages d’Amazon Elastic Compute Cloud (Amazon EC2)
- Les différents types d’instance Amazon EC2
- Les différentes options de tarification Amazon EC2
- Les avantages d’Amazon EC2 Auto Scaling
- Les avantages d’Elastic Load Balancing
- Exemples de cas d’utilisation d’Elastic Load Balancing
- Les différences entre Amazon Simple
- Notification Service (Amazon SNS) et Amazon Simple Queue Services (Amazon SQS)
Infrastructure mondiale et fiabilité
- Les avantages de l’infrastructure mondiale AWS
- Le concept des Availability Zones
Les avantages d’Amazon CloudFront et Edge Locations
- Les différentes méthodes de déploiement des services AWS
Mise en réseau
- Les concepts de mise en réseau dans AWS
- Les différences entre les ressources de réseau public et privé
- Explication d’une passerelle réseau privée virtuelle (virtual private gateway) dans un scénario réel
- Explication d’un réseau privé virtuel (virtual private network) dans un cas réel
- Description du service AWS Direct Connect
- L’avantage des déploiements hybrides
- Les niveaux de sécurité utilisés dans une stratégie IT4
- Les services utilisés pour interagir avec le réseau mondial AWS
Stockage et bases de données
- Le concept de stockage et des bases de données
- Description d’Amazon Elastic Block Store (Amazon EBS)
- Les avantages d’Amazon Simple Storage Service (Amazon S3)
- Les avantages d’Amazon Elastic File System (Amazon EFS)
- Les différentes solutions de stockage
- Les avantages d’Amazon Relational Database Service (Amazon RDS)
- Description d’Amazon DynamoDB
- Les différents services de base de données
Sécurité
- Le modèle de responsabilité partagée
L’authentification multi-facteurs (MFA)
- Les différents niveaux de sécurité AWS Identity and Access Management (IAM)
- Les stratégies de sécurité
- Les avantages d’Amazon Organizations
- La conformité avec AWS
- Les principaux services de sécurité
Surveillance et analyse
- Les approches pour surveiller votre environnement AWS
- Amazon CloudWatch
- Amazon CloudTrail
- Amazon Trusted Advisor
Tarification et support
- Les modèles de tarification et de support AWS
AWS Free Tier
Les avantages d’AWS Organizations et de la facturation consolidée
AWS Budgets
AWS Cost Explorer
AWS Pricing Calculator
Les différents niveaux de support AWS
Les avantages d’AWS Marketplace
Migration et innovation
- Migration et innovation dans le cloud AWS
- AWS Cloud Adoption Framework (AWS CAF)
- Les six facteurs clés d’une stratégie de migration vers le cloud
- Les avantages des différentes solutions de migration de données AWS, comme AWS Snowcone, AWS Snowball et AWS Snowmobile
- Les cinq piliers du cadre AWS Well-Architected
AWS Certified Cloud Practitioner
- Les ressources pour se préparer à l’examen AWS Certified Cloud Practitioner
- Les avantages d’être certifié AWS
Passage de la certification AWS Certified Cloud Practioner
LIGNE DE COMMANDE
Introduction
- Présentation des shells
- Premières commandes
- Les différents Shell
- Comparaison de sh, bash, ksh et dash
Aide
- L’aide locale
- À savoir
- Freenode
- Usage IRC
Commandes de base
- Accéder au contenu des fichiers
- Commandes de compression, d’impression et de gestion du temps
- Gestion administration
- Commandes composites pipes et redirections
Variables
- Présentation
- Variables utilisateur
- Prompt
- Substitutions
Commandes internes
- Set
- cd, pushd, popd, umask, type, enable
- Historique et Alias
- Commande sur les processus : kill, jobs, wait, ulimit
Utilitaires
- Commandes cut, tr, uniq, sort, wc, find, grep
- Commandes de transformation : iconv, od, nl, basename, diff
- Commande utilitaires : xargs, tee, cmp, comm, paste, sed
- Expressions régulières
SHELL SCRIPT
Introduction
- Rôle d’un Shell
- Présentation des différents shell sous Unix/Linux
- Types et syntaxes
Aide
- Les man
- Help
- IRC freenode
Paramétrage de l’environnement
- Options du Shell
- Variables et fichiers d’environnement
- Historique des commandes
Utilisation du Shell en mode interactif
- Énumérer les commandes essentiels par thème
- Substitution de nom de fichiers
- Protection des caractères spéciaux
- Redirections et Tubes de communication
- Regroupement des commandes
Base de la programmation
- Structure d’un script
- Commentaires
- Exécution d’un script
- Débogage d’un script et Code de retour
Variables et constantes
- Variables et Constantes
- Tableaux
- E/S de données
- Commandes de substitution
- Pushd et popd
Structure de contrôle
- Instructions conditionnelles
- Choix multiples
- Boucles et Sauts inconditionnels
Alias et fonctions
- Alias
- Sous-programme sous forme de script
- Sous-programme sous forme de fonction
Arithmétiques
Expressions régulières
- Meta-caractères des expressions régulières
- Utilisation des expressions régulières avecGrep
Chaine de caractères
- Manipulation de chaînes de caractères
- Expressions de variables
- Commandes basename et dirname
Filtre Sed
- Principe de fonctionnement
- Commandes de sed
- Utilisation des expressions régulières
- Présentation des sous-expressions
Processeur de texte AWK
- Principes de fonctionnement
- Structure d’un programme awk
- Critères
- Variables et les expressions
- Tableaux
- Instructions et Fonctions prédéfinies
REDHAT SYSTEM ADMINISTRATION I
- Introduction à la ligne de commande
- Gestion du stockage physique
- Installation et configuration des composants logiciels et des services
- Établissement de connexions réseau et d’accès par le pare-feu
- Surveillance et gestion des processus
- Gestion et sécurisation des fichiers
- Gestion des utilisateurs et des groupes
- Accès aux systèmes de fichiers Linux
- Installation et utilisation de systèmes virtualisés
- Vérification des fichiers journaux et de l’historique
PROGRAMMATION PYTHON
Syntaxe du langage Python
- Les Identifiants et les références. Les Conventions de codage et les règles de nommage.
- Les blocs, les commentaires.
- Les types de données disponibles.
- Les variables, l’affichage formaté, la portée locale et globale.
- La manipulation des types numériques, la manipulation de chaînes de caractères.
- La manipulation des tableaux dynamiques (liste), des tableaux statiques (tuple) et des dictionnaires.
- L’utilisation des fichiers.
- La structure conditionnelle if / elif / else.
- Les opérateurs logiques et les opérateurs de comparaison.
- Les boucles d’itérations while et for. Interruption d’itérations break / continue.
- La fonction range.
- L’écriture et la documentation de fonctions.
- Les Lambda expression.
- Les générateurs.
- La structuration du code en modules.
- Travaux pratiques
Approche Orientée Objet
- Les principes du paradigme Objet.
- La définition d’un objet (état, comportement, identité).
- La notion de classe, d’attributs et de méthodes.
- L’encapsulation des données.
- La communication entre les objets.
- L’héritage, transmission des caractéristiques d’une classe.
- La notion de polymorphisme.
- Association entre classes.
- Les interfaces.
- Présentation d’UML.
- Les diagrammes de classes, de séquences, d’activités, …
- Notion de modèle de conception (design pattern).
- Travaux pratiques
Modélisation en UML d’un cas d’étude simple.
Programmation Objet en Python
- Les particularités du modèle objet de Python.
- L’écriture de classes et leur instanciation.
- Les constructeurs et les destructeurs.
- La protection d’accès des attributs et des méthodes.
- La nécessité du paramètre self.
- L’héritage simple, l’héritage multiple, le polymorphisme.
- Les notions de visibilités.
- Les méthodes spéciales.
- L’introspection.
- L’implémentation des interfaces.
- Les bonnes pratiques et les modèles de conception courants.
- L’utilisation du mécanisme d’exception pour la gestion des erreurs.
- Travaux pratiques
Utilisation StdLib
- Les arguments passés sur la ligne de commande.
- L’utilisation du moteur d’expressions régulières Python avec le module « re », les caractères spéciaux, les cardinalités.
- La manipulation du système de fichiers.
- Présentation de quelques modules importants de la bibliothèque standard : module « sys », « os », « os.path ».
- Empaquetage et installation d’une bibliothèque Python.
- Les accès aux bases de données relationnelles, le fonctionnement de la DB API.
- Travaux pratiques
Outils QA
- Les outils d’analyse statique de code (pylint, pychecker).
- L’analyse des comptes rendus d’analyse (types de messages, avertissements, erreurs).
- Extraction automatique de documentation.
- Le débogueur de Python (exécution pas à pas et analyse post-mortem).
- Le développement piloté par les tests.
- Les modules de tests unitaires Python (Unittest, …).
- L’automatisation des tests, l’agrégation de tests.
- Les tests de couverture de code, profiling.
- Travaux pratiques
Création IHM TkInter
- Les principes de programmation des interfaces graphiques.
- Présentation de la bibliothèque TkInter.
- Les principaux conteneurs.
- Présentation des widgets disponibles (Button, Radiobutton, Entry, Label, Listbox, Canvas, Menu, Scrollbar, Text, …).
- Le gestionnaire de fenêtres.
- Le placement des composants, les différents layouts.
- La gestion des événements, l’objet event.
- Les applications multi-fenêtres.
- Travaux pratiques
Interfaçage Python/C
- Présentation du module ctypes.
- Le chargement d’une librairie C.
- Appel d’une fonction.
- La réécriture d’une fonction Python en C avec l’API Python/C.
- La création de modules C pour Python avec Pyrex.
- L’Interpréteur Python dans C.
- L’utilisation du profileur de code.
- Travaux pratiques.
Conclusion
- Analyse critique de Python.
- L’évolution du langage.
- Eléments de webographie et de bibliographie.
DEVOPS
Historique du mouvement DevOps, origines et influences
- Qu’est-ce que DevOps ?
- Planète DevOps : tendances et mouvements émergents
La conduite du changement
- DevOps, comment placer le curseur entre Dev et Ops ?
- Vers une convergence des métiers : changements organisationnels / culturels / technologiques
- Alignement des Dev aux réalités des Ops : rendre son application « prête pour la production »
- Alignement des Ops aux enjeux des Dev : intégration de la plateforme de production à l’usine logicielle
Processus et étapes éligibles à des fonctionnements DevOps
- Usine logicielle
- Livraison
- Déploiement
- Exploitation
- Troubleshooting
Bonnes pratiques pour un développement industriel
- Performance
- Sécurité
- Exploitabilité
Le rôle et choix des outils dans les organisations DevOps
- Puppet
- Chef
- Ansible
- Terraform
- Kubernetes
CI/CD (CONTINUOUS INTEGRATION/CONTINUOUS DELIVERY) (Suite 1)
Les tests dans le processus de construction
- Intérêts de l’automatisation des tests
- Concepts de « l’extreme Programming »
- Principes des « TestDriven Development »
- Présentations des familles de tests
- Tests unitaires, tests d’intégrations et tests fonctionnels
- Exemple de test d’une application Web avec Selenium
Qualité de code et traitement des résultats
- Apports de la mise en place d’outils de métriques
- Les principaux outils de métriques Java: de la génération de la documentation à la couverture de code en passant par la détection de bugs
- Exemple du site Maven
- Installation et configuration de Sonar
- Mise en oeuvre d’une qualimétrie avec Sonar pour un projet Maven et un projet Ant/Ivy
- Publication des résultats dans le serveur Hudson/Jenkins à travers ses plugins
- Les bonnes pratiques d’utilisation
Communication
- Indicateurs de visibilité du résultat construit
- Statut, Santé et tendance
- Savoir réagir
- Communication avec des outils externes
- Notification par email et flux RSS
Concepts et enjeux
- Les problématiques de la livraison logicielle (Déploiement manuel, Déploiement dans un environnement différent, configuration manuelle, etc)
- Qui est concerné?
- Définition du procesus et l’amélioration de la chaîne de valeur
- Les bénéfices
- Mesurer son niveau de maturité et se fixer des objets par palier
La gestion de configuration
- L’usage d’un outil de gestion de source
- La gestion des dépendances (internes et externes)
- La gestion de la configuration logicielle
- La gestion des spécificités des différents environnements
«Continuous Integration» première étape du «Continuous Delivery»
- Rappel des principes et enjeux de l’intégration continue
- Liaison entre l’outil de gestion de sources, le build, les tests, le déploiement et la livraison
- Rappel des meilleures pratiques (TDD, Pre tested commit, etc)
Continuous Delivery & Continuous Deployment
- Les différences impacts (versionning, markering des nouvelles versions, etc)
- Les cas d’usage et exemples concrets
Chaîne (Pipeline) de déploiement
- Les principales étapes
- Mise en oeuvre
- Le rôle d’un serveur d’intégration continue comme orchestrateur de déploiement
- Les critères de validation
- Illustration avec Jenkins
L’importance des tests
- Rappel des différents types de tests
- Les éléments d’automatisation des tests
- Gestion des tests non automatisés
- La notion d’environnement de pré-production
Déploiement et Livraison Logicielle
- Les stratégies de livraisons (release) et utilisation de la notion de promotion logicielle
- Illustration de la mise en oeuvre d’un projet avec Maven et GIT
- Les différentes stratégies de déploiement (blue-green deploymen, canary release, etc)
Gestion des infrastructures et des environnements
- Comprendre le besoin des équipes opérationnelles
- Gestion du provising de serveurs et de la configuration
- Présentation des outils Puppet et Ansible
- Cas de la virtualisation
- Le monitoring
- Cas de l’utilisation de Docker
Gestion des données
- Exemple d’une application avec une base de données relationnelle
- Les problématiques de la montée de versions du schéma de base
- Présentation des outils Flyway et Liquibase; et cas d’utilisation
L’INGENIERIE DEVOPS SUR AMAZON WEB SERVICES
Introduction
- En quoi consiste le DevOps?
- Pratiques et concepts principaux de la méthodologie
Conception
- Conception et sécurité
- Mise en place d’une infrastructure sur AWS avec un ou plusieurs projets Devops
- CloudFormation et gestion des applications
Infrastructure en tant que code
- Conception et sécurité
- CloudFormation et gestion des applications
Intégration
- Intégration continue dans le cloud.
- Livraison continue sur AWS
- Utilisation de Git
- Déploiements d’applications
Les différentes technologies de déploiement
- Choix de la technologie (AWS CodeDeploy, AWS OpsWork…)
- Analyse du scénario
Mise en œuvre des composants AWS
- Les possibilités des services EC2, S3, SQS, RDS et de leur modèle de programmation.
- Comment les applications Java peuvent-elles utiliser ces ressources ?
- Composants Amazon AWS avancés.
- Les services Virtual Private Cloud, Beanstalk et leur modèle de programmation.
- Exercice
Industrialisation et pratiques DevOps
- Besoin de traçabilité, de répétabilité. Infrastructure as Code (IaC).
- Bonnes pratiques et outils disponibles.
- Définition et utilité des architectures Cloud avec des instances basées sur les rôles.
- Mécanisme Cloud-Init et notion de UserData.
- Exercice
GITLAB-CI
- Introduction à GIT
- Introduction à GitLab CI/CD
- Pipeline
- GitLab CI/CD pour Docker
- Revues des Apps
- Auto Devops
- GitLab CI pour GitLab Pages
- Exemples
- Intégrations
- Configuration spécifique
JENKINS
Intégration continue
- Définition, principes
- Notions de génie logiciel
- Best practices d’intégration continue
- La chaine de fabrication logicielle
Utilisation de Jenkins
- Concepts, définitions
- Présentation de Jenkins comme serveur de build
- Archétype de projet
- Déclencheurs de build
- Résultat du build
- Workspace
- Visite guidéde l’IHM
- Jenkins dans l’IDE
Utilisation de Jenkins en cluster
- Configuration des « esclaves »
- Modes de démarrage Unix, Windows
- Répartition des jobs entre « esclaves ».
- Bonnes pratiques de déploiement
Administration de Jenkins
- Configuration des vues Jenkins
- Considérations multiplateformes
- Visite guidée de la JENKINS_HOME
- Monitorer et sauvegarder Jenkins
- Scripts Jenkins en langage Groovy
- Utiliser la ligne de commande d’administration
Cas pratiques
- Création de buildset déploiements
Docker
De la virtualisation à Docker
- Les différents types de virtualisation.
- La conteneurisation : LXC, namespaces, control-groups.
- L’évolution de Dotcloud à Docker.
- Le positionnement de Docker.
- Docker vs virtualisation.
Présentation de Docker
- L’architecture de Docker.
- Disponibilité et installation de Docker sur différentes plateformes (Windows, Mac et Linux).
- Création d’une machine virtuelle pour maquettage.
- La ligne de commande et l’environnement.
- Travaux pratiques
Mise en œuvre en ligne de commande
- Mise en place d’un premier conteneur.
- Le Docker hub : ressources centralisées.
- Mise en commun de stockage interconteneur.
- Mise en commun de port TCP interconteneur.
- Publication de ports réseau.
- Le mode interactif.
Travaux pratiques
- Création de conteneur personnalisé
- Produire l’image de l’état d’un conteneur.
- Qu’est-ce qu’un fichier DockerFile ?
- Automatiser la création d’une image.
- Mise en ouvre d’un conteneur.
- Conteneur hébergeant plusieurs services : supervisor.
- Travaux pratiques
Utilisation Docker Compose.
- Création d’un fichier yml de configuration.
- Déployer plusieurs conteneurs simultanément.
- Lier tous les conteneurs de l’application.
- Travaux pratiques
Interfaces d’administration
- L’API Docker et les Webservices.
- Interface d’administration en mode Web.
- Docker Registry : construire et utiliser son propre hub.
- Exercice
Administrer des conteneurs en production
- Automatiser le démarrage des conteneurs au boot.
- Gérer les ressources affectées aux conteneurs.
- Gestion des logs des conteneurs.
- Sauvegardes : quels outils et quelle stratégie ?
- Travaux pratiques
Orchestration et clusterisation
- Présentation de Docker Machine.
- Présentation de l’orchestrateur Swarm.
- Déploiement d’applications.
KUBERNETES
Introduction
- Pourquoi utiliser un orchestrateur ?
- Comment Kubernetes se démarque par rapport aux autres orchestrateurs
- Découverte des ressources de base : Pod, Services, ReplicationController…
Au quotidien
- Monitoring
- Troubleshooting
- Scaling
- Upgrade
Programme détaillé de la formation
- Mise en place
- Installation sur GKE et AWS
- Découverte des différentes solutions réseau
- Mise en place d’un cluster hautement disponible
Pour aller plus loin
- Découverte de l’ensemble des ressources Kubernetes
- Mise en place d’une application 3 tiers avec scaling automatique
- Mise en place d’une solution de déploiement continu
ANSIBLE
Positionnement de Ansible
- Ansible et DevOps.
- Devops & IaC (Infrastructure as Code), le code source de l’infrastructure.
- Outils Puppet, Chef, Saltstack… Ansible.
- Fonctionnement d’Ansible.
- Architecture : inventaire, modules, playbooks,tasks, rôles.
Installation et configuration
- Installation et prise en main de l’outil.
- Les commandes de base d’Ansible.
- Configuration des noeuds : clés ssh, escalade de privilèges sudo.
- Le fichier de configuration.
- L’inventaire : création et utilisation.
Travaux pratiques
- Installation d’Ansible et configuration de plusieurs noeuds clients, création de l’inventaire et utilisation des premières commandes.
Les commandes Ad-Hoc
- Parallélisme et commandes Shell.
- Transferts de fichiers.
- Les packages avec yum, apt.
- Les utilisateurs et les groupes.
- Les services.
Travaux pratiques
- Utilisation des différentes commandes Ad-hoc en parallèle sur plusieurs noeuds.
Les playbooks
- Introduction aux playbooks.
- Définition des tasks, plays.
- Syntaxe Yaml.
- Variables, modules et tâches.
- Exécution d’un playbook.
- Test d’un playbook en dry-run.
- Exécution step by step, saut de tâches.
- Gestion des erreurs.
Travaux pratiques
- Écriture d’un playbook simple composé de plusieurs tâches.
Ecrire du code modulaire
- Notifications et Handlers.
- Les rôles et les includes. Les tags.
- Les modules de la communauté.
- Ansible-galaxy : partager son code.
Travaux pratiques
- Exploration de la galaxie Ansible, téléchargement et utilisation de modules, ajout de tags dans un playbook.
Les playbooks
- Les variables. Les templates et les filtres.
- Structures de contrôle : Conditions, Boucles et Blocks.
- Les prompts. Les facts.
- La rédaction de playbooks.
Travaux pratiques
- Écrire un playbook complet pour le déploiement d’un service Apache sur plusieurs noeuds.
Commandes avancées
- Vault : chiffrement de données.
- Les lookups.
- Développer ses propres modules, débugger un module, les plugins.
- Créer ses propres filtres.
- Ansible et Ansible Tower.
TERRAFORM
Introduction
- Rappel des concepts et contraintes d’Infrastructure as Code
- Terraform au sein des différentes solutions d’Infrastructure as Code
- Découverte de la ligne de commande Terraform
Concepts et Prise en main
- Création d’une infrastructure simple sur AWS avec Terraform
- Modularisation de code Terraform
- Cycle de vie des “states” Terraform
- Création d’une infrastructure WordPress de production avec Terraform
- DNS public
- Load balancing et autoscaling
- Base de données (RDS)
- Système de fichier partagé (EFS)
- Segmentation d’infrastructure pour limiter les périmètres opérationnels
- Organisation des équipes et périmètres de responsabilité
- Reprise d’infrastructure existante par import dans Terraform
Questions/Réponses
PRESENTER SES NOUVELLES COMPETENCES
Les bases de la communication
- Ecoute active
- Le questionnement
- Reformulation et feedback
La communication verbale et non verbale
- Importance de la communication non verbale
- Savoir se présenter à l’oral
- Postures – Attitudes – Discours
Les profils comportementaux
- Les 4 profils
- Auto évaluation
- Développer son adaptabilité relationnelle
Développer son Capital Talents
- Définition d’un talent
- Talent vs points forts
- 5 stratégies pour gérer ses points faibles
PROJET FINAL & SOUTENANCE DEVOPS
Déroulement du module
- Les stagiaires travaillent en toute autonomie, en binôme. Ils sont libres d’effectuer les choix adaptés, de développer les parties dont ils jugent avoir le plus besoin et d’apporter leurs propres solutions aux problèmes posés.
- Le formateur encadre les stagiaires par sa présence et répond aux questions. Il intervient pour épauler un binôme en difficulté ou pour faire le point à l’ensemble du groupe sur des notions non acquises. Il peut être amené à approfondir ou compléter certaines connaissances.