De l’administrateur réseaux à l’ingénieur DevOps : quelle évolution pour le métier de cloud architecte ?

Pour mener avec succès la convergence entre développement, tests et exploitation, les entreprises ont besoin de trouver des personnes dont les compétences sont à la fois techniques, mais aussi relationnelles.

Que l’on positionne la naissance du DevOps lors de l’intervention de John Allspaw et Paul Hammond intitulée « 10+ Deploys Per Day » à la conférence Velocity de 2009 ou lors d’une discussion de couloir entre Andrew Clay Shafer et Patrick Dubois il y a une dizaine d’années, tous s’accordent sur le fait qu’une intégration étroite entre les équipes « Dev » et « Ops » permet d’atteindre en toute sécurité un taux de changement supérieur à plusieurs déploiements par jour.

Si, auparavant, siloter les développeurs des opérations étaient plus rentable mais surtout plus facile, chaque équipe ayant des tâches bien définies, la diversification des applications et des infrastructures a complexifié les façons de travailler. En conséquence, la séparation entre les équipes de développement et d’opérations ne présente aujourd’hui plus d’avantages puisqu’elle entrave la capacité de l'organisation à intégrer la rétroaction en temps réel;

Vraie révolution chez les équipes techniques, cette nouvelle méthode s’est rapidement démocratisée au sein d’une majorité d’entreprises : en 2015, selon une étude, 53% des entreprises françaises qui ont engagé une démarche DevOps l'ont généralisée à tous leurs développements. La même année, les technologies de DevOps ont atteint 2,3 milliards de dollars selon Gartner. Forrester a même qualifié 2017 « l’année DevOps ». Aujourd’hui, la méthode est devenue une fonction et les entreprises cherchent à recruter des ingénieurs DevOps, impliqués dans l’intégralité du cycle de livraison des logiciels et l’optimisation du déploiement et de l’exécution des applications, afin de répondre à leur besoin d’agilité et d’accélérer leur transformation digitale.

Dev et Ops, le meilleur des deux mondes

Pour mener avec succès la convergence entre développement, tests et exploitation, les entreprises ont besoin de trouver des personnes dont les compétences sont à la fois techniques, mais aussi relationnelles. En dehors des formations digitales reconnues, aucun parcours universitaire n'existe à ce jour en France. C’est donc au candidat de se former et d’évoluer en ce sens afin d’obtenir ce rôle, qu’il soit un informaticien avec un fort intérêt pour la programmation ou un développeur investi dans les tests et le déploiement du code.

Les compétences techniques que l’ingénieur DevOps doit maîtriser sont nombreuses et concernent des outils spécifiques variés, propres à l'élaboration, au déploiement et à l'exploitation des logiciels. En plus de savoir programmer, et donc d’afficher de solides connaissances des différents langages informatiques afin d’accélérer la mise en production et l’intégration, l’ingénieur DevOps doit également détenir des compétences en matière d’infrastructure et de matériel informatique. Enfin, il doit être capable d'évaluer objectivement le fonctionnement de chaque nouvelle version, de procéder selon les besoins à des ajustements des ressources, d'utiliser différents outils pour mesurer les performances de la charge de travail, puis de partager ces informations avec toute l'équipe afin d'améliorer les prochaines livraisons.

Au-delà des tâches techniques qui lui incombent, l’ingénieur DevOps occupe un poste où il est en contact permanent avec différents interlocuteurs au sein de l’entreprise. Il doit donc disposer d’une certaine aisance relationnelle pour mettre en place une communication fluide entre ses différents interlocuteurs ; qu’ils s’agissent de l’équipe de développeurs, de la DSI ou des dirigeants. Il lui faut comprendre le point de vue de chacun et fédérer l’ensemble de ces protagonistes pour garantir un développement continu et rapide. En plus de sa flexibilité et adaptabilité, sons sens aigu de la communication lui permet notamment de surmonter des difficultés telles que des changements de rôles et de responsabilités au sein de l'entreprise, ou la rupture de processus métier.

L’ingénieur DevOps, acteur de la transformation digitale

L’avènement de la méthode et des ingénieurs DevOps a poussé les entreprises à reconsidérer les structures traditionnelles afin d’ouvrir la voie à de petits groupes audacieux en interne dans le but d’innover. Les initiatives équilibrées des équipes DevOps, lorsqu'elles sont correctement mises en œuvre, constituent généralement une force positive mettant en évidence les actions concrètes et spécifiques que les organisations peuvent mettre en place pour améliorer la qualité et la fiabilité des services et accélérer la mise en service. Par exemple, le taux de déploiement est un indicateur pragmatique mis à disposition des dirigeants, jugé par certains plus fiables que d’autres résultats. 

L’ingénieur DevOps occupe une position stratégique et transversale au sein de l’entreprise. Les PDG et les membres du conseil d'administration lui font confiance pour générer davantage de revenus grâce à ces nouveaux canaux numériques. Quant aux CTO, ils recrutent des ingénieurs DevOps afin de développer et d'exécuter du code plus rapidement et plus efficacement que jamais auparavant. Toutefois, la modernisation des entreprises dans le cadre de la transformation digitale ne se limite pas au recrutement d’ingénieur DevOps. Les entreprises sont entrées dans une nouvelle ère de développement où de nombreux processus des opérations informatiques évoluent : l’adoption du cloud, la décomposition des applications monolithiques en micro services sont d’autres mesures complémentaires à la méthode DevOps favorisant l’optimisation de l’organisation informatique.

Les ingénieurs DevOps n’échapperont pas à l’intelligence artificielle (IA). Les processus de développement logiciel vont être profondément impactés par cette dernière  et plus particulièrement par l’automatisation. Auto-codage, applications « non-programmées », adaptation dynamique des comportements… Les tâches comme l’intégration, la sécurité, les tests et le déploiement seront transformées par l’IA, le deep et le machine learning. D’ailleurs, la notion de AIOps a déjà vu le jour et commence à se répandre au sein des équipes techniques.

S’il est impossible de savoir si, dans 10 ans, les entreprises chercheront toujours à recruter des ingénieurs DevOps, il est certain que le concept, lui, sera devenu la norme. L’agilité et la rapidité propre au DevOps seront de plus en plus nécessaire aux entreprises à mesure que celles-ci tireront davantage, voire la grande majorité, de bénéfices par les canaux digitaux. Tout porte à croire que l’évolution naturelle d’un ingénieur DevOps se fasse vers le Site Reliability Engineering (SRE), un travail à plein temps attaché à la création de systèmes logiciels ultra-évolutifs et très fiables. Si les méthodes SRE et DevOps partagent les mêmes principes fondamentaux, les ingénieurs SRE, en tant que développeurs eux-mêmes, apporteront des solutions qui permettront de lever davantage les barrières entre les équipes de développement et les équipes opérationnelles.