Partie 1 · DevOps
Dev, Ops et la promesse du DevOps
Avant d'ouvrir Docker, le cours pose le décor : pourquoi a-t-on besoin de conteneurs ? La réponse commence par un problème d'organisation. Le terme DevOps vient d'une présentation de 2008 chez Flickr : « 10+ deploys per day : Dev and Ops cooperation at Flickr ». Le cours rappelle aussi que l'idée est plus ancienne : c'est celle de l'industrialisation (Henry Ford : automatisation, chaînes de production, passage à l'échelle). « Le DevOps = on prend les mêmes et on recommence. »
Le mot « informaticien » cache des dizaines de métiers, empilés en couches : logiciel frontend, logiciel backend, architecture opérationnelle, systèmes d'exploitation et réseaux, matériel / datacenters, infrastructure. La collaboration entre ces couches est difficile.
| Dev | Ops |
|---|---|
| Analyse les besoins des clients, écrit des spécifications et du code, corrige des anomalies, package et livre son application | Analyse les besoins des développeurs, met en place et maintient des infrastructures, surveille leur bon fonctionnement, traite les incidents de production |
| Contraintes : adéquation fonctionnelle, performance, rapidité de développement, technologies innovantes | Contraintes : sécurité, consommation de ressources, suivi des livraisons, technologies stables |
Les deux métiers font des choses proches (analyser, concevoir, réaliser), mais leurs objectifs s'opposent : les Devs veulent de l'innovation rapide, les Ops de la stabilité. Ajoute une organisation en silos et tu obtiens un cercle vicieux, « la spirale de l'enfer » : plus de fonctionnalités, pas de temps pour le « non fonctionnel », systèmes fragiles, Ops de plus en plus cher, passage à l'échelle difficile.
Vérifie que tu as compris
Le cours donne les coûts : heures supplémentaires, sentiment d'impuissance, travail futile et de mauvaise qualité, gâchis de ressources, image de marque abîmée par les incidents. La promesse du DevOps : créer une spirale saine, donner du sens au travail, éviter les incidents, utiliser efficacement les ressources. Objectif commun Dev + Ops : la création de valeur.
Le DevOps n'est ni un intitulé de poste, ni un outil, ni une marque : c'est une philosophie, une manière d'organiser le travail, un ensemble de bonnes pratiques et d'outils, sans modèle « taille unique ». Il tient en 4 lettres, CAMS : Culture, Automation, Measurement, Sharing.
Automation : éviter les tâches répétitives, « robotiser » pour supprimer les erreurs humaines, permettre le passage à l'échelle, éviter les hommes-clés. On automatise la compilation, la release, les tests, les déploiements, la mise en place des surveillances et le suivi de projet. Dans le cours, un simple git push doit suffire à déclencher toute la chaîne. Exemple : les micro-services multiplient les packagings et livraisons, impossibles à gérer à la main.
Vérifie que tu as compris
Docker comme levier du DevOps : « Ingénieur DevOps » est parfois synonyme d'« ingénieur Docker » dans les offres d'emploi. Docker apporte trois choses : un langage commun pour définir les besoins d'infrastructure, des outils communs pour construire et déployer, et une grande souplesse d'automatisation.