Comment la GenAI transforme le métier de DevOps
🔨

Comment la GenAI transforme le métier de DevOps

LLM, GenAI, ChatGPT… Ces mots circulent partout : au bureau, à la maison, à l’école, lors des apéros entre amis… Ces technologies se sont imposées dans nos vies en quelques mois seulement, et on ne peut plus s’en passer. Quels sont les nouveaux avantages et usages pour notre métier de DevOps ? La réponse dans cet article ! 👇

La GenAI transforme le métier de DevOps !

Chez Skale-5 (a Deloitte business), pur player du cloud, nous exerçons notre métier de build et d’infogérance depuis un peu plus de 7 ans, et nos salariés cumulent pour certains plus de 15 ans d’expérience dans l’administration des systèmes, réseaux et infrastructures IT.

Nous avons vu émerger de nombreux paradigmes et technologies, que nous avons appris et adoptés.

C’est le cas du DevOps et de toutes ses facettes (GitOps, CI/CD, la méthode agile, les conteneurs, Kubernetes, Terraform...), et chaque compétence ou technologie doit être maintenue à jour, car le développeur moderne doit s’adapter.

Avec l’arrivée des LLM, nous avons exploré ces technologies pour identifier des cas d’usage pertinents.

Pourquoi vouloir intégrer la GenAI dans notre métier ?

Chaque siècle et chaque décennie apportent leurs lots d’innovations. L’agriculture, l’imprimerie, le charbon, le pétrole, la machine à vapeur, le transport maritime, l’avion, l’informatique, internet, l’impression 3D, le smartphone… Inutile de toutes les citer, elles ont incontestablement ouvert la porte à de nouvelles possibilités, et notre espèce a su s’adapter et adopter ces nouveaux paradigmes. On observe également une accélération de ce phénomène de découverte et d’adoption : les smartphones et les GPS ont moins de 25 ans. Et pourtant, on ne s’imagine déjà plus vivre sans.

Cette accélération des découvertes et nouveaux paradigmes se constate aussi dans notre métier.
Cette accélération des découvertes et nouveaux paradigmes se constate aussi dans notre métier.

Au fil de ces découvertes, certaines technologies sont devenues des commodités : prendre l’avion est devenu banal, utilisé quotidiennement par des millions de passagers pour voyager pour voyager à titre privé ou professionnel, et les entreprises de ce secteur ont atteint une maturité opérationnelle…

Il n’y a pas de raison de penser qu’il en sera autrement pour les LLM : ils deviendront tôt ou tard des commodités.

Cependant, l’émergence d’un nouveau paradigme peut remettre en question les opérations des entreprises établies. Internet a facilité la réservation de vols à distance, le smartphone a permis l’utilisation de cartes d’embarquement dématérialisées… le secteur de l’aviation a dû s’adapter et embrasser les nouveaux usages offerts par ces technologies. De la même façon, les LLM sont en train de révolutionner les usages, rendant possible la délégation de tâches à un agent virtuel et obtenant des réponses de qualité similaire à celles d’un humain.

Ce bouleversement a nécessairement un impact sur le métier de DevOps. Même si des technologies comme la CI/CD et l’infrastructure as code se sont établies autour de produits éprouvés, et que les catalogues des fournisseurs de cloud proposent des produits matures, la possibilité d’être assisté par un agent ou de lui déléguer certaines tâches modifie nos opérations.

Si ça ressemble à un humain, parle comme un humain et agit comme un humain, c’est que c’est (peut-être) un humain

Votre serviteur, bientôt disponible (et rebootable) à la machine à café :-)
Votre serviteur, bientôt disponible (et rebootable) à la machine à café :-)

Les débats sont vifs concernant l’IA générale : un LLM peut-il être considéré comme humain ? Peut-il ressentir ? Raisonner ? Ces questions, bien que fascinantes et controversées, n’intéressent pas les entreprises qui évaluent le produit de manière pragmatique.

Un LLM, capable de parler, raisonner et agir « comme un humain », peut parfaitement compléter ou remplacer un humain.

Cela implique aussi d’évaluer la performance de ces modèles selon les critères humains, ce qui diverge parfois des standards appliqués aux machines.

Traditionnellement, un programme qui renvoie 1+1=3 est considéré comme défectueux. De plus, un programme est en général déterministe, c'est-à-dire que si les paramètres d'entrée restent constants, le résultat le sera aussi.

Les êtres humains ne sont pas déterministes, peuvent être fatigués, et affirmer des faits inexacts.

En évaluant l’impact des LLM sur notre métier, il faut adopter cette perspective : si ces modèles agissent comme des humains, la qualité et la fiabilité de leurs réponses doivent être évaluées selon les mêmes critères que pour un humain.

Notre objectif est par conséquent de trouver des cas d'usage où les réponses du modèle sont convaincantes et souvent correctes, pour augmenter ou remplacer l'intervention humaine.

Concrètement, quels cas d’usage ?

Exit la diatribe, place au concret :

  • Github Copilot, AWS CodeWhisperer et Duet AI de Google sont autant d’outils qui permettent de suggérer du code, et augmente le DevOps dans son quotidien
    • Plusieurs études montrent que les développeurs équipés d’un tel plugin dans leur IDE terminent leurs tâches plus vite, ou qu’ils ont simplement pu terminer une tâche grâce au plugin.
  • Un LLM tel que Bard ou ChatGPT peut épauler le DevOps lorsqu’une question en langage naturel doit être posée
    • Résumer le contenu d’un document, écrire du contenu, traduire, corriger, suggérer ou écrire une requête SQL complexe sont autant de services à portée de conversation pour un DevOps aguerri doté d’un tel outil.
    • La feature “code-interpreter” permet une utilisation “data analyst as-a-service”, c’est un peu comme avoir un data-analyst junior à sa disposition et qui nous aide à explorer les données dont on dispose. Chez Skale-5, cette feature est par exemple utilisée pour aider les delivery manager à préparer des COPIL (nombre d’incidents, fréquence, délai de résolution...) à partir de données brutes issues du Gitlab.
image
image
  • Un LLM tel que Mixtral, Gemini ou GPT-4 peut se substituer à l’humain pour exécuter des tâches précises :
    • 1️⃣ Faire la revue de code d’une merge request
    • 2️⃣ Ecrire un changelog pour une merge request
    • 3️⃣ Soumettre une merge request en réponse à un ticket
    • 4️⃣ Ecrire des rapports d’incident
    • 5️⃣ Assister le DevOps dans sa phase de troubleshooting, en augmentant l’agent virtuel, et en le connectant à des sources de données (stack de monitoring, API du cloud provider, tickets, commits...)

Si 1️⃣, 2️⃣ et 4️⃣ sont considérés “nice to have”, je vous conseille de bien vous accrocher à votre siège, car 3️⃣ et 5️⃣ sont carrément déments et nous vous proposerons d’autres articles pour les découvrir !

👆
Si l’un de ces use-cases vous intéresse, programmez une démo ! Nous pouvons les déployer chez vous, et former vos équipes à leur intégration.

Augmenter ou remplacer ?

Remplacer le labeur humain par des machines a toujours crée son lot de complications.
Remplacer le labeur humain par des machines a toujours crée son lot de complications.

Les LLM ont des cas d'usage justifiés, apportant des avantages qui valident l'effort de leur déploiement.

L’énergie nécessaire pour imaginer des cas d’usage, les tester et les déployer est parfois proportionnelle à la complexité du processus automatisé ou mécanisé, c’est pourquoi les tâches considérées répétitives, pénibles ou à faible valeur ajoutée sont en général automatisées en premier.

Bien que certaines technologies effacent certaines professions (j’ai notamment en tête les allumeurs de réverbères de la fin des années 1800), d’autres les transforment ou les supplémentent, c’est pourquoi il est essentiel que les DevOps se forment et s’approprient les outils de GenAI.

Que les LLM deviennent des outils supplémentaires, ou que notre profession évolue pour se compléter d’une facette « dresseurs d'IA », l'essentiel est de rester attentifs à ces technologies et de s'adapter.

Par exemple, depuis que Skale-5 a automatisé l'écriture des changelogs et la revue de code pour chaque merge request, plus de 100 JIA (Jours IA) seront vraisemblablement générés en 2024 au sein de notre activité d'infogérance.

Pour autant, est-il possible de dire qu’on a augmenté l’équipe d’un DevOps virtuel à temps partiel, ou que l’on a pu se séparer d’un demi-DevOps fait de chair et d’os ?

La réponse est en vérité plus nuancée : ces jours n’auraient de toute façon pas été produits si les LLM n’avaient pas été là.

Auparavant, seules certaines merge requests faisaient l'objet d'une revue de code et d'un changelog. C'est l'équipe DevOps qui choisissait ces merge requests et en assumait la responsabilité. Autrement dit, ces tâches étaient limitées à certaines merge requests parce qu'elles étaient coûteuses et pénibles pour les exécutants.

Mais avec un LLM capable de remplacer l'humain de manière fiable et à un coût marginal quasi nul, il devient économiquement viable (et recommandé) de généraliser cette approche pour 100% des merge requests.

De plus, un LLM n'est pas sujet à la fatigue et effectuera les tâches de revue de code et d'écriture de changelog avec la même constance, quel que soit le nombre de fois ou il sera sollicité dans la journée.

Quels avantages in fine pour le DevOps ?

Un DevOps sachant chasser sans son chien sachant utiliser la GenAI pour son quotidien est un DevOps qui :

  • Produit plus,
  • En moins de temps,
  • Avec plus de qualité et moins de friction, ce qui peut améliorer son bien-être puisqu’il se concentre désormais sur ses objectifs, plutôt que sur les étapes “boilerplate” de l’exécution.

De plus, si le DevOps ne s'adapte pas ou échoue à maîtriser ces outils, il sera rapidement surpassé par un collègue qui les aura intégrés dans son quotidien

On observe également cette tendance dans le monde du graphisme, ou du développement web : les IA génératives sont capables de produire des logos, ou d’intégrer du code HTML depuis une maquette Photoshop… Pas de raison que le monde du DevOps y échappe, n’en déplaise aux “gatekeepers” qui souhaiteraient s’accrocher bec et ongle à leur expertise, élevée au rang d’une institution qui ne saurait s’engager dans le virage de la GenAI ! Ces outils réduisent la friction entre le besoin business et sa réalisation… même s’il faudra toujours des experts et des pilotes aux commandes des machines qui se substituent à l’humain... cf les “dresseurs d’IA”.

En temps qu’experts du Cloud, nous sommes les mieux placés pour comprendre, guider et maîtriser ces nouveaux agents virtuels.

Quels avantages in fine pour nos clients ?

Chez Skale-5, nous avons trois métiers : la régie, le build et le run.

Quelle que soit la facette business, nos clients bénéficient indirectement des avantages énoncés ci-dessus.

La GenAI va niveler et normaliser certaines approches. Là ou un expert écrivait manuellement du code boilerplate, un LLM va le suggérer et faire gagner de plus en plus de temps aux équipes. Les clients doivent s’attendre à plus d’efficience en termes de vélocité, de nombre de tickets traités, de temps moyen de résolution de chaque ticket, bugs, etc…

Déjà outillés pour isoler ces KPIs, nous comptons réutiliser ces habitudes de mesurer notre performance afin de rendre un état des lieux clair sur les avantages apportés à la GenAI.

Quels avantages in fine pour Skale-5 ?

Comme toutes les autres technologies mentionnées (ou omises) dans cet article, la GenAI va inévitablement devenir une commodité. Il est inutile de prétendre avoir transformé le plomb en or, ou de garder jalousement nos découvertes : avec le temps, tous nos concurrents, partenaires et contacts l'auront adoptée.

Les avantages offerts par cette technologie aux DevOps ainsi qu’à nos clients découlent sur notre société, et nous permettent de retrouver un équilibre proche de notre maturité opérationnelle... Jusqu'au prochain bouleversement !

La problématique de la confidentialité des données

La confidentialité est un enjeu qui nous préoccupe tous et à juste titre … Lorsqu’on supplémente un DevOps avec un LLM, il faut soigneusement sélectionner les informations ainsi que le contenu envoyé à la plateforme qui exécute l’inférence du LLM.

Il peut également être opportun de consolider l’exécution du LLM sur la plateforme du cloud provider déjà élu par le client, et c’est vers cet objectif que nous tendrons en 2024.

Les dérives possibles d’une (sur)utilisation de la GenAI

Dans un monde rempli de LLM, pas sûr que ton voisin soit fan de pelote basque !
Dans un monde rempli de LLM, pas sûr que ton voisin soit fan de pelote basque !

Disclaimer oblige, il est indispensable d’évoquer les situations qui pourraient s’avérer problématiques suite à l’utilisation de ces nouveaux outils.

  1. Les LLM hallucinent fréquemment des faits : ça s’améliore petit à petit, mais les DevOps interagissant avec un agent virtuel doivent prendre l’habitude de faire du “fact-checking” avant d’accepter les solutions proposées → Être un DevOps compétent et expérimenté est donc profondément nécessaire, même quand on utilise un LLM…
  2. Les LLM ne sont pas déterministes : la qualité des réponses peut varier d’un appel à l’autre, sans avoir changé les entrants et/ou le prompt.
  3. La qualité de la réponse d’un LLM dépend fortement de la qualité du prompt : un DevOps aguerri saura expliquer/détailler son problème avec pertinence et donc obtenir une réponse qui l’est également.
  4. Les DevOps trop habitués à interagir avec un LLM peuvent perdre leur volonté d’apprendre et s’éloigner des concepts bas-niveaux qu’ils prendraient l’habitude de confier à un LLM

Nous avons constaté que les LLM sont des outils redoutables entre les mains d’un senior/expert, et que les juniors étaient potentiellement pénalisés par ces problématiques.

Les LLM sont à considérer comme un outil de plus, avec ses avantages et ses inconvénients. Ils renforcent, augmentent, améliorent l’agilité mais ils ne remplacent pas (encore) nos DevOps.

André Gide disait, "Choisir, c'est renoncer". Les utilisateurs avertis adoptent cet outil tout en acceptant ses avantages et ses limites. Il est probable que les inquiétudes étaient similaires lors de l'avènement des calculatrices ou du passage à l'écriture numérique qui ont progressivement réduit la capacité à effectuer des calculs complexes de tête ou à pratiquer l'écriture manuelle.

Pourquoi les LLM sont géniaux

Les possibilités offertes par les LLM se sont considérablement étendues car il est maintenant possible, avec simplement un prompt et des données d'entrée, de résoudre des problèmes qui nécessitaient auparavant la création de programmes ou d'algorithmes dans des langages spécialisés (C, Python, ASP.Net... et bien d'autres !).

Là où il fallait auparavant investir du temps et des ressources humaines sur un problème, il suffit désormais de le confier à un LLM généraliste.

J'aime penser que les LLM sont un peu l'équivalent du x86 : polyvalents, capables de faire beaucoup de choses, mais pas aussi spécialisés et optimisés qu'un ASIC ou un GPU.

Les LLM sont remarquables pour cette raison, même si un regard critique sur leurs capacités et la qualité des réponses qu'ils fournissent est essentiel.

Pour analyser du code, est-il préférable d'utiliser un produit spécialisé qui n'intègre pas (encore) de GenAI, comme SonarQube, ou de consulter un LLM ?

Il n’y a pas de réponse simple à cette question, mais rester conscient des forces et des faiblesses de ce nouvel outil permet d’appréhender les cas d’usage où l’impact des LLM est maximal.

Quel est l’avenir ?

L’homme et la machine doivent pouvoir se supplémenter
L’homme et la machine doivent pouvoir se supplémenter

Bien que les cas d’usage et leurs bienfaits vont continuer de fleurir au sein de toutes les organisations, les sociétés comme Skale-5 qui auront été pionnières et précurseurs, continueront à démontrer ce petit plus qui fait toute la différence…

Nous sommes également convaincus que cette exploration ne doit pas se faire seul. Nous sommes impatients de vous accompagner dans vos usages GenAI for DevOps, et apprendre ensembles comment cette révolution impacte notre futur proche. Que vos équipes commencent ce voyage ou qu’elles engagent un passage à l’échelle d’usages GenIA, contactez-nous pour construire ensemble les outils et processus industriels de demain!

Merci pour votre lecture. Cet article vous a plu, partagez sur vos réseaux 😉

Fair AI Usage Policy

Comme les industriels de la pub sont tenus de vous avertir lorsque les mannequins sont photoshoppés, nous avons pensé qu’il serait utile de vous donner tous les éléments d’IA générative ayant contribué à cet article :

  1. Le brouillon a été soumis à ChatGPT afin de corriger certaines fautes, ou éliminer certaines répétitions. Seules certaines suggestions émises par l’agent ont été manuellement sélectionnées par l’auteur du billet.
  2. Les vignettes et la bannière ont été générées grâce à Midjourney
  3. Quelques exemples supplémentaires d’inventions en sus de l’avion, imprimerie, l’agriculture... ont été demandées à ChatGPT.

Hugo Claria - Le 6 Février 2024

image