Lors de sa conférence re:Invent, AWS a annoncé une série de mises à jour de Q Developer, sa plateforme d’assistance au codage qui concurrence des services comme GitHub Copilot. L’objectif est d’aller au-delà de la simple complétion de code et d’aider les développeurs dans un plus large éventail de tâches routinières impliquées dans l’ensemble du cycle de vie du développement logiciel.
Le service, que vous connaissez peut-être encore sous son ancien nom « CodeWhisperer », fait partie de la plateforme globale d’intelligence artificielle générative Amazon Q d’AWS, qui comprend également Q Business (qui bénéficie également d’une multitude de mises à jour aujourd’hui).
« Ce dont les développeurs ont besoin, c’est qu’Amazon Q soit le compagnon qui les soulage de certaines tâches répétitives afin qu’ils puissent avoir plus de liberté pour innover »
– Swaminathan Sivasubramanian, VP IA et Data chez AWS
Gérer le cycle de vie complet du développement logiciel
Selon Sivasubramanian, ce qui différencie Q Developer des plateformes concurrentes est son accent mis sur l’intégralité du cycle de vie du développement logiciel. Jusqu’à présent, cela signifiait aider les développeurs à résoudre les problèmes, à effectuer des tâches en plusieurs étapes pour les corriger (ou à construire de nouvelles applications), ainsi qu’à analyser le code à la recherche de failles de sécurité.
Lors de ce re:Invent, l’entreprise va encore plus loin. Q peut désormais, par exemple, générer automatiquement des tests unitaires. Mais ce qui est peut-être encore plus important, c’est qu’il peut maintenant faire la seule chose que de nombreux développeurs détestent le plus : écrire et maintenir la documentation de ce code. Pour compléter ce cycle, Q peut désormais générer une première revue de code lorsque les développeurs valident leur code.
« Chez Amazon, nous avons cette règle qu’aucun code ne doit être intégré sans examen de code. Q rationalisera le processus d’examen du code en étant le premier relecteur et en s’occupant automatiquement de la vérification de la qualité du code, des failles de sécurité, etc. »
– Swaminathan Sivasubramanian
Ensuite, une fois le code en production, un nouvel agent d’exploitation pour Q peut maintenant extraire automatiquement les données de AWS CloudWatch, le service de surveillance de l’entreprise, et commencer immédiatement à enquêter lorsqu’une alarme se déclenche. Il utilise les connaissances qu’il a sur les ressources AWS d’une organisation et passe au crible des centaines de points de données sur diverses ressources présentes dans CloudWatch. Après analyse, Q propose des hypothèses sur la cause profonde et guide les utilisateurs sur la façon de résoudre le problème.
Vous vouliez de l’aide pour vos migrations Cobol et .NET ?
Pour les entreprises disposant de bases de code plus anciennes, la transition vers le cloud implique souvent la réécriture d’une grande partie de leur code existant. L’une des premières caractéristiques différenciatrices d’Amazon Q Developer était son agent de transformation de code. À l’époque, cet agent se concentrait sur la modernisation d’anciennes applications Java. Aujourd’hui, l’équipe élargit cette offre en aidant également les développeurs à mettre à jour leurs anciennes applications basées sur .NET de Windows vers Linux.
Et bien que cela puisse sembler au premier abord une curiosité, AWS lance également un agent pour la modernisation des applications mainframe COBOL. Après tout, de nombreuses grandes entreprises s’appuient encore sur ce vieux code, que peu de développeurs savent manipuler aujourd’hui. Il s’agit de migrations très complexes, a souligné Sivasubramanian, et l’objectif n’est donc pas de simplement traduire le code existant à l’identique.
« Notre objectif n’est pas simplement de faire entrer du code COBOL et de ressortir du code. En réalité, ces projets sont extrêmement complexes. Il faut un humain dans la boucle pour en tirer parti »
– Swaminathan Sivasubramanian
Sivasubramanian a noté que bien qu’il y ait moins de code COBOL pour entraîner des modèles afin d’automatiser la migration du code, l’équipe a pu tirer parti de l’expérience globale d’AWS dans la modernisation des applications mainframe, ainsi que de méthodes plus traditionnelles de traduction du code.
Ce que Q Developer a construit est vraiment très innovant. Le système comprend également, au niveau du projet, quels sont les objectifs de chaque module, puis planifie et crée un calendrier de migration pour générer le code et les tests, tout en faisant intervenir les humains pour voir comment le valider.
En résumé
Avec ces nouvelles fonctionnalités, Amazon Q Developer d’AWS devient un véritable compagnon pour les développeurs tout au long du cycle de vie logiciel :
- Génération automatique de tests unitaires et de documentation
- Revue de code automatisée lors de l’intégration
- Analyse des causes profondes des problèmes en production
- Aide à la modernisation d’applications Cobol et .NET
Il ne fait aucun doute que ces avancées dans le domaine de l’IA appliquée au développement logiciel vont considérablement améliorer la productivité et la qualité du travail des équipes de développement. AWS confirme ainsi son leadership dans le cloud et l’IA en apportant des solutions concrètes et innovantes aux défis quotidiens des développeurs.