Formation DevOps
Cette documentation est en cours d'écriture, donc soyez indulgent pour le moment. Dans certaines sections, vous ne retrouverez qu'une page de liens, mais je compte ajouter régulièrement du contenu pour le rendre de qualité.
Souvent, on me pose ces questions :
- Comment je me lance si je veux maîtriser la philosophie et les outils Devops ?
- Par quoi dois-je commencer ?
C'est pour répondre à ces questions que j'ai décidé de créer cette partie documentation. À terme cela devrait constituer une formation DevOps gratuite.
Introduction
La démarche DevOps est devenue une philosophie qui a révolutionné la façon dont les équipes de développement et d'exploitation travaillent ensemble. Cette démarche s'est étendue à d'autres équipes comme la sécurité qui a donné naissance au DevSecOps. Pour répondre aux besoins de cette démarche de nouveaux outils ont émergé qui ont transformé nos métiers en nous demandant de tout écrire sous forme de code informatique.
Objectif de ce site
Pour bien maitriser la démarche DevOps, il est essentiel d'en saisir les origines, les principes fondamentaux qui sous-tendent cette approche et les avantages qu'elle apporte.
L'objectif que je me fixe pour ce site est d'offrir du contenu et des liens pour se former à tout ce qui touche de près ou de loin au DevOps. Que ce soit des pré-requis, comme la connaissance des réseaux informatiques en passant par celle de l'administration de serveurs, ou des outils permettant de la mettre en œuvre.
Plan de Formation Devops
C'est dans cette optique que pour vous aider que j'ai créé une roadmap décliné sous la forme d'un mind-map.
Légende :
- en magenta les plus courants, il faut en maîtriser au moins un
- en rouge les moins courants, il faut en connaitre le fonctionnement
- en jaune les peu rencontrés, c'est bien de les connaître de nom
Voici les compétences que vous devez connaître :
1. La culture DevOps
Objectifs pédagogiques :
- Connaitre l'historique du mouvement DevOps
- Expliquer en quoi consiste la démarche DevOps
- Connaitre les valeurs, principes et pratiques de DevOps
- Maitriser la boucle de Rétroaction DevOps
- Connaitre les différents types d'outils DevOps et leur implémentation
- L'importance de la veille Technologique
- Connaitre les bonnes pratiques DevOps
2. L'administration de serveurs
Objectifs pédagogiques :
- Connaitre ce qu'est l'Administration Système sur des serveurs Linux ou Windows
- Maitriser le fonctionnement de serveurs tournant sous le système d'exploitation Linux
- Savoir installer et configurer un serveur Linux
- Utiliser les principales commandes Linux
- Maitriser l'écriture des scripts Shell pour automatiser des taches d'administration
- Optimiser les performances d'un serveur Linux
- Appliquer les bonnes pratiques DevOps pour un administrateur Système
3. Les réseaux informatiques
Objectifs pédagogiques :
- Appréhender la nécessité pour un administrateur système DevOps d'avoir de bonnes connaissances réseaux
- Connaître les différents types de réseaux : LAN, MAN, WAN et sans fil
- Connaître les différents équipements réseaux : switchs, routeurs...
- Connaitre le modèle OSI et TCP/IP
- Appréhender les principaux services et protocoles TCP, UDP, DNS, HTTP, HTTPS...
4. L'écriture de code informatique
Objectifs pédagogiques :
- Comprendre pourquoi un Consultant DevOps doit savoir programmer.
- Savoir écrire des petits programmes pour automatiser des taches
- Connaitre et utiliser les principaux outils de développement : lint, compilation, test, analyse...
5. La Sécurité Informatique
Objectifs pédagogiques :
- Connaitre les conséquences sur une attaque
- Connaitre les différents types de cybermenaces
- Comprendre la nécessité de former continuellement ses équipes sur l'évolution de ces menaces
- Mettre en œuvre une démarche sécurité au plus tôt dans le cycle DevOps
- Mettre en œuvre des solutions pour s'en protéger dans une démarche DevOps
6. L'écriture de Documentation
Objectifs pédagogiques :
- Comprendre la nécessité de produire de la documentation
- Connaitre les principaux outils de création de documentation statique
7. La configuration et la maintenance de services
Objectifs pédagogiques :
Installer, configurer et dépanner les principaux services (IDP, WEB, Cache, Base De Base de Données...)
8. La virtualisation
Objectifs pédagogiques :
- Connaitre les principes de la virtualisation d'infrastructure informatique
- Comprendre les différents types de virtualisation de serveurs
- Appréhender les avantages d'utiliser de la virtualisation
- Connaitre les principaux outils de virtualisation
9. L'écriture du code d'infrastructure
Objectifs pédagogiques :
- Apprendre ce qu'est l'infrastructure en tant que Code
- Comprendre la nécessité d'utiliser des outils IaC dans une démarche DevOps
- Connaître les différents types d'outils d'Infra As Code
- Comprendre comment Vagrant accélère la formation et le développement
- Maitriser l'outil de gestion de configuration ansible
- Maitriser l'outil de provisionnement Terraform
10. L'écriture du code des pipelines de CI/CD
Objectifs pédagogiques :
Mettre en place la boucle de rétroaction avec toutes ses étapes en s'appuyant sur des outils de pipeline CI/CD
11. Le Cloud
Objectifs pédagogiques :
Connaitre l'origine, les concepts et les principaux fournisseurs.
12. La construction et l'orchestration de conteneurs
Objectifs pédagogiques :
- Maitriser la notion de conteneurisation
- Maitriser la construction d'images de conteneurs via un Dockerfile
- Connaitre les différents outils de construction d'images
- Connaitre les principaux moteurs de conteneurs
- Connaitre les principes de l'orchestration de conteneurs
- Connaitre les principaux outils d'orchestration de conteneurs
- Maitriser Kubernetes
13. L'observabilité
Objectifs pédagogiques :
- Connaitre la notion d'Observabilité
- Connaitre les principaux de outils de monitoring, de tracing et de centralisation des logs
Si vous démarrez de zéro, il faut suivre l'ordre indiqué !
Vous pouvez commencer plusieurs sujets en parallèle, mais pas trop tout de
même. Par exemple pour la partie Administration de Serveurs, vous pouvez lire en
parallèle la configuration réseau. Vous pouvez aussi regarder la création de
machines virtuelles avec
Vagrant
pour
réaliser vos exercices.
Comment s'équiper pour se former ?
J'ai écrit une page dédiée à ce sujet. C'est par là