Connexion

Les missions d’un ingénieur DevOps

Le 26 May 2021

Acteur central dans la stratégie digitale des entreprises et contribuant au développement de leurs infrastructures numériques, l’ingénieur DevOps est le garant de la rapidité et de l’efficacité des outils de production.

À mi-chemin entre le métier de développeur web d’application et celui de gestionnaire des systèmes et réseaux (DevOps étant la contraction de “développement” et “opérations”), l’ingénieur DevOps intervient dans la mise en œuvre globale des projets numériques des entreprises, et cela de leur programmation à leur mise en production, en passant par leur automatisation.

Intervenant dans toutes les étapes du déploiement de solutions numériques adaptées à chacun de ses clients, le métier d’ingénieur DevOps recouvre un ensemble de missions variées. Découvrons ensemble quelles sont les missions d’un ingénieur DevOps.

Les missions d’un ingénieur DevOps

Les missions techniques de l’ingénieur DevOps

L’objectif final de l’ingénieur DevOps est de mettre en place l’automatisation la plus complète possible de la mise en production d’une application ou d’un logiciel, qu’il ait un usage interne à destination des collaborateurs, ou externe (clients, fournisseurs, prestataires, etc.).

Pour cela, il met en place, gère et administre les systèmes informatiques, ce qui implique de :

  • définir l’architecture technique des infrastructures d’intégration continue entre les équipements de ses clients et le service d’architecture du centre de service partagé, ou de l’hébergeur de service ;
  • Construire, déployer et maintenir la production des infrastructures dans des environnements de Cloud public (comme Azure, AWS ou GCP) ainsi que de Cloud privé ;
  • automatiser les déploiements des infrastructures d’intégration et de configuration, comme Ansible, Puppet, Saltstack ;
  • mettre en place et automatiser des infrastructures conteneurisées ;
  • créer, déployer et maintenir des solutions applicatives dans les différents environnements de Cloud public ou privé et les infrastructures “on premises” à base de VMWare ;
  • mettre en place une organisation autour d’un repository central pensé pour les utilisateurs des solutions digitales ;
  • assurer le déploiement de Middlewares, comme Apache, MySQL, Tomcat, etc. ;
  • procéder aux intégrations continues dans les CI ou CD clients, comme Jenkins, et les développements locaux à destination des développeurs ;
  • assurer l’unité et l’homogénéité des systèmes applicatifs ;
  • garantir la sécurité des données et outils (centralisation des logs, gestion des mots de passe, synchronisation dans un gestionnaire, etc.) ;
  • mettre en oeuvre les différents tests qualité ou de “Gated check-in” pour détecter et traiter les bugs ;
  • développer les outils de monitoring et leur configuration afin d’assurer le suivi de la performance des outils.

Cette liste des missions du DevOps n’est pas exhaustive, tant elles peuvent être variées. En effet, selon la structure dans laquelle intervient l’ingénieur DevOps, ses missions peuvent s’étendre à d’autres aspects qui dépassent le cadre du développement applicatif ou la gestion des infrastructures. C’est notamment le cas dans les petites structures qui n’ont pas d’équipes techniques par exemple, et dans lesquelles le DevOps pourra se voir confier une mission plus globale encore.

À contrario, lorsqu’il travaille dans une grande, voire très grande structure, le métier de DevOps peut faire l’objet d’une spécialisation (automatisation, virtualisation, conception d’infrastructures, etc.)

Le métier d’ingénieur DevOps demande donc des connaissances et compétences dans de nombreux domaines, notamment dans les différents langages de programmation utilisés par les développeurs de l’entreprise (back end et front end), les outils de construction et de virtualisation (comme Team Foundation Server ou Docker), le développement de scripts, les différents systèmes d’exploitation, les outils de tests automatisés, ou encore connaître les principales plateformes Cloud (AWS, Azure, GPC, OCI, etc.).

En sus de ses compétences techniques, il doit savoir analyser et comprendre l’environnement complet de l’entreprise (particularités et enjeux du secteur d’activité, normes légales et réglementaires, fonctionnement propre à l’entreprise, etc.) et prendre le recul nécessaire pour proposer des solutions adaptées aux spécificités de chaque structure (taille, moyens humains et technologiques, process en place, freins, etc.).

Les missions humaines de l’ingénieur DevOps

Un ingénieur DevOps ne travaille pas seul, dans la majorité des cas. Il intervient au sein des équipes informatiques internes dédiées aux projets IT des entreprises qui font appel à lui. En effet, il est le chef d’orchestre entre les développeurs web d’applications, les gestionnaires du système d’information et les prestataires informatiques (serveur d’hébergement Cloud par exemple) tout en assurant le lien avec la direction de l’entreprise et les autres services concernés.

Outre ses missions techniques, il lui est souvent demandé d’assurer des missions plus orientées sur l’aspect humain, tant pour le pilotage du projet que son accessibilité par les différents utilisateurs :

  • management des différentes équipes de déploiement afin de s’assurer de leur collaboration dans la poursuite d’un objectif commun ;
  • gestion et pilotage de projet ;
  • conduite du changement ;
  • lien et interlocuteur unique entre les différents acteurs internes et externes à l’entreprise, il doit savoir adapter son vocabulaire à des publics variés ;
  • réalisation d’outils de formation ou d’auto-formation à l’utilisation des solutions digitales mises en œuvre ;
  • formation physique des utilisateurs (équipe de développement, équipe de maintenance, collaborateurs impliqués dans le changement opéré, etc.) ;
  • rédaction des documentations d’utilisation des outils développés pour faciliter la prise en main.

Le métier d’ingénieur DevOps suppose donc de posséder des compétences humaines dépassant largement le cadre d’un bon relationnel et une capacité naturelle à communiquer et à fédérer. Leader naturel, ses différentes missions en font une personne ouverte au changement et à la remise en question de décisions.

En effet, rappelons que l’ingénieur DevOps, qui en plus d’être une personne externe à l’entreprise dans laquelle il doit faire sa place, doit manager et piloter des équipes plurielles et souvent en contradiction du fait de leurs propres objectifs (souvent contraires).

En plus d’assurer le lien entre des services cloisonnés qui communiquent habituellement peu, voire pas, ensemble, il a parfois une mission de négociateur, voire de médiateur, et doit conjuguer les différents points de vue de chaque partie prenante pour la bonne mise en œuvre du projet de déploiement.

Pour résumer tout ce qui précède, les missions et le rôle que doit tenir l’ingénieur DevOps sont donc pluriels et représentent un des défis majeurs de sa mission. Il doit savoir s’imposer pour la bonne mise en œuvre du projet, sans véritablement s’imposer pour ne pas susciter de résistance. Il doit également créer, développer, gérer et mettre en œuvre le déploiement d’un projet numérique adapté à l’entreprise, qualitatif et sécuritaire. Enfin, il doit s’assurer de la continuité de la bonne marche digitale de l’entreprise une fois sa mission terminée.

L’ensemble des compétences et savoir-être de l’ingénieur DevOps en font un poste de haut niveau et stratégique dans l’entreprise. Accessible aussi aux profils débutants via des missions “junior”, il faut tout de même préciser que les entreprises ont plus facilement tendance à faire appel à des profils seniors expérimentés.

Je note cette page
noter