Première partie d'une série sur l'intégration de l'intelligence artificielle dans les pratiques DevOps
Je crois que la formalisation du titre de développeur opérationnel (ou spécialiste DevOps) a mûri avec l'éclosion du cloud computing (infonuagique).
Une valeur ajoutée par les fournisseurs de cloud publics effet c'était de rationaliser le rôle d'administrateur de système (sysadmin) ainsi que d'autres postes connexes comme technicien de réseau. Le cloud commercial se présente comme des blocs de ressource préfabriquées, optimisées out-of-the-box et souvent gérées (managed) par le fournisseur cloud suivant un SLA déterminé. Il ne resterait donc plus qu'à former des développeurs ou recycler des administrateurs de système volontaires pour faire le pont entre les programmeurs (dev) et les opérations (ops).
L'intelligence artificielle générative, c'est-à-dire les IA capables de générer du texte, du code et des images, vient déranger cette idée. La toute-puissance du programmeur est remise en question ; un paquet de code peut être généré en quelques secondes. Même chose du côté des opérations: des problèmes mystérieux peuvent être débogués et résolus en beaucoup moins de temps grâce à ChatGPT ; c'est prouvé.
pourquoi les DevOps sont-ils les mieux positionnés pour devenir "AI natifs" ?
Nonobstant que DevOps c'est pas tant une profession qu'une culture entourant les produits technologiques, je crois que les premiers à devenir des AI natifs c'est les DevOps d'aujourd'hui. Pourquoi?
Premièrement parce que les DevOps ont généralement une mentalité opportuniste. Ils aiment solutionner des problèmes et sont naturellement enclin à mettre leurs idées reçues en parenthèse pour adopter des solutions simples et efficaces comme l'automatisation de processus et le "tout-par-le-code".
Deuxièmement parce qu'être développeur opérationnel c'est moins un titre qu'un état d'esprit. En pivotant vers l'IA le DevOps renforce cet état d'esprit qui se résume à un pragmatisme de premier ordre.
Surtout, le principal objectif d'un DevOps c'est le cycle de développement logiciel (SDLC). C'est faire en sorte d'amener des idées à se transformer en produits et en services qui ajoutent de la valeur pour ses clients. Tout le reste: l'infrastructure-as-code, les pipelines automatisés et la collaboration avec les programmeurs ne sont pas des fins en soi.
L'objectif principal c'est toujours d'amener un produit ou un service de qualité à des gens qui sont prêts à payer pour les utiliser. Et ça ne changera pas avec l'IA.
comment pivoter vers l'IA : une approche pragmatique
C'est drôle, mais l'idée d'embrasser l'intelligence artificielle en tant que développeur opérationnel, c'est encore controversé. On aime se moquer des suggestions de l'IA quand le coupable ce n'est pas tant l'outil que la personne qui l'utilise.
Pour moi, pivoter vers l'IA ne veut pas dire de déléguer aveuglément toutes nos tâches à ChatGPT. Ca veut dire d'abord dire d'accepter cet outil en apprenant mieux à s'en servir.
- Maîtriser l'art du prompt engineering: Comprendre comment optimiser nos questions pour obtenir de meilleurs réponses.
- Développer un jugement critique: Savoir déterminer quand utiliser ChatGPT et quand prendre le temps de réfléchir et de lire soigneusement la documentation.
Un peu comme quand on est appelé à accomplir une tâche qui nous prend 2 minutes une fois par 6 mois : est-ce qu'un bon DevOps va passer une semaine à automatiser cette tâche ou passer son tour ?
fondements techniques : par où commencer ?
Pour apprendre à mieux utiliser l'IA, il faut commencer par les fondements.
Comme on aime livrer de la valeur rapidement je suggère de sauter quelques chapitres de l'histoire de l'intelligence artificielle et commencer immédiatement avec le sujet du jour:
Le traitement du langage naturel (Natural Language Processing) et les grands modèles de langage (Large Language Models). Ces deux concepts représentent le fondement des outils révolutionnaires de l'intelligence artificielle générative. Comprendre comment ChatGPT fonctionne nous aidera à mieux l'exploiter tout en sachant gérer ses déficiences.
ressources d'apprentissage recommandées
Il existe une myriade de ressources en ligne pour se familiariser avec le NLP et les LLMs. D'articles de magazine jusqu'à des cours universitaires j'aimerais choisir des options gratuites qui comprennent des travaux pratiques ainsi qu'une certaine forme de certification.
hugging face's natural language processing course (gratuit) avec examens
conclusion
J'ai donc proposé l'idée que les DevOps (ou développeurs opérationnels) présentent des traits professionnels favorables pour pivoter vers un univers où l'intelligence artificielle a une place primordiale dans la conception et la livraison de produits et services technologiques
Comme appel à l'action je me propose de suivre deux tracés introductifs proposés par des organisations réputées en IA: HuggingFace et Google. Comprendre la technologie derrière des outils révolutionnaires comme ChatGPT nous permettra d'emblée de mieux les utiliser et ensuite poursuivre notre pivot en creusant davantage
Il est encore tôt, mais je crois qu'ensuite nous étudierons les librairies et frameworks utilisés par les acteurs du domaine (ex.: TensorFlow, PyTorch et scikit-learn), pour ensuite explorer l'aspect de gestion des données: data wrangling, ETL et preprocessing avec des outils comme Pandas, NumPy et SQL. Puis pourquoi ne pas démontrer nos acquis en creusant l'automatisation de workflows pour des cas d'utilisations réels impliquant des modèles et des APIs externes
à suivre

