Présent dans quasiment toutes les offres d'emplois de nos jours, le terme DevOps a perdu de son sens au travers d'une utilisation parfois erronée. Mais finalement être DevOps c'est quoi ? Est-ce un métier ? Est-ce que je peux devenir un DevOps ?
DevOps pour les nuls
Il s'agit en fait d'une culture, d'une philosophie de travail, né du mouvement agile. Cette méthodologie vise à faire communiquer deux mondes antagonistes par nature ( troll inside ), les développeurs et les administrateurs Systèmes ( avec un grand S, je ne vais pas commencer à citer nos ami(e)s les administrateurs de base de données ou réseaux qui jouent un rôle également important ).
Je ne vais pas revenir ici sur l'origine du mouvement DevOps car la page wikipédia est parfaite pour ça 😃 Par contre revenons clairement sur la philosophie du mouvement DevOps !
Il s'agit donc de mettre en place un état d'esprit, une culture, et des outils ( quand même ) afin de faciliter et d'automatiser le développement, les tests et l'intégration des applications développés par une équipe IT.
Dans quel but ? Accélérer le processus de développement et de déploiement des applications, tout en garantissant la disponibilité du service. Et ceci pour satisfaire et rendre heureux le client final.
Vous remarquerez très facilement, l'analogie avec la méthodologie AGILE.
Le problème aujourd'hui c'est que vu par le monde du travail, cela donne :
Les compétences techniques à maîtriser sont vastes :
- Langages de programmation utilisés par l’équipe de développement avec laquelle il travaille : que ce soit du Mobile, du Front ou du Back
- Outils de construction (exemple : Jenkins, Team Foundation Server) ainsi qu’outils de virtualisation / images tels que Docker, Kubernetes ou Vagrant
- Repository de code : Git, SVN ou Team Foundation Server
- Langages de scripting : bash / powershell ou Korn-shell
- Systèmes d’exploitation (Linux / Windows)
- Fournisseurs de services IaaS ou PaaS (AWS / Azure ou OVH par exemple)
- Outils de tests automatisés (QTP) ou bien outils de monitoring des déploiements (Octopus Deploy par exemple)
Je dois donc maîtriser 3 ou 4 langages de programmation, "quelques" outils sysadmin très simple d'utilisation. Mais également faire du scripting à mes heures perdues et être un ingénieur cloud à l'occasion.
Soyons honnête, cela commence à faire beaucoup pour un seul homme ...
Après on s'étonne que les jeunes ne savent plus coder !!
Donc DevOps un métier ?
Je dirais oui, à condition de ne pas oublier les origines du mouvement :
So, the Devops movement is characterized by people with a multidisciplinary skill set - people who are comfortable with infrastructure and configuration, but also happy to roll up their sleeves, write tests, debug, and ship features. These are people who making connections, because they can - because they have feet in multiple camps, they can be ambassadors, peace makers, facilitators and communicators. And the point of the movement is to identify these, currently rare, people and encourage them, compare ideas, and start to identify, train, recruit and popularize this way of doing IT.
Il s'agit très clairement d'un facilitateur, aux compétences certes multiples. Mais qui n'est en aucun cas un expert de tous ces domaines. Il doit faire travailler ensemble le dev
et l' ops
en se servant de ses connaissances pour faciliter leurs échanges et créer une communication d'équipe. Afin de faire tomber les barrières entre ces deux équipes.
Bien évidement, ces échanges, et les compétences de chacun viendront alimenter la mise en place d'outil d'automatisation des tâches, de déploiement du code, etc.
Dis papa, je peux devenir DevOps ?
Bien sûr ! Tout le monde peut se convertir à la culture DevOps à condition d'être curieux, ouvert d'esprit et aimer la communication !
Il n'y a pas un profil type technique pour diffuser cet état d'esprit. Les connaissances dans des domaines aussi diversifiés que le développement et l'administration système nécessitent sûrement un minimum d'expérience professionnelle mais il n'est pas impossible d'être junior et d'envisager une carrière sur la voie du DevOps .Par contre, cela demandera surement un travail encore plus important afin d'apprendre plus de choses et plus vite qu'en se spécialisant.
En effectuant quelques recherches pour cet article, j'ai eu l'occasion de tomber sur ce poste :
http://www.jedi.be/blog/2010/02/12/what-is-this-devops-thing-anyway/
Il est étonnant de voir que 10 ans plus tard, les réflexions apportées par cet article - et le mouvement en général - sont toujours d'actualités. En fait, la vraie question ne devrait-elle pas être la suivante : Nos entreprises peuvent-elles et doivent-elles passer au mouvement DevOps ?