La solution proposée par AWS se compose de deux services : CodeGuru Reviewer, un outil d’examen du code pour détecter les problèmes, et CodeGuru Profiler, qui fournit des recommandations ciblées.
Le nouveau service lancé par Amazon Web Services. © Amazon
Annoncé lors de la conférence AWS re:Invent 2019 à Las Vegas, Amazon CodeGuru est officiellement lancé par Amazon. Il s’agit d’un outil de développement basé sur l’apprentissage automatique, qui fournit des recommandations ciblées pour améliorer la qualité du code. Deux composants sont proposés : CodeGuru Reviewer et CodeGuru Profiler. L’objectif : aider les développeurs à optimiser la qualité de leur code en recherchant les problèmes critiques et en apportant des solutions pour les corriger.
Amazon CodeGuru permet d’automatiser les révisions de code lors du développement d’applications et leur profilage lorsque celles-ci sont mises en production. L’outil exploite des algorithmes d’IA formés à partir de plus de 10 000 projets en open source dans GitHub, afin d’évaluer le code lors de son écriture. CodeGuru a été utilisé en interne chez Amazon. Le résultat : 80 000 applications ont été optimisées, ce qui a permis de réaliser des dizaines de millions de dollars d’économies, selon la firme américaine. Certaines équipes ont ainsi pu réduire de 325 % l’utilisation du processeur et diminuer les coûts de 39 % en un an.
CodeGuru Reviewer : un outil d’examen du code pour détecter les problèmes
Formé à l’aide de modèles d’exploration de règles et de machine learning supervisé, CodeGuru Reviewer « examine les modifications de code et crée des références croisées entre elles et les données de documentation, qu’il explore également en parallèle. Cela permet de créer des modèles de bonnes pratiques que Reviewer utilise au moment d’examiner votre code afin de vous fournir des recommandations », explique Amazon.
Les développeurs peuvent ajouter CodeGuru Reviewer comme l’un des réviseurs de code dans le référentiel de leur choix (GitHub, Bitbucket Cloud, AWS CodeCommit). L’outil analyse les bases du code existant dans le référentiel et détecte les écarts par rapport aux meilleures pratiques d’utilisation des API et SDK d’AWS. Il signale également les problèmes courants pouvant entraîner des problèmes en production (pagination manquante, gestion des erreurs avec les opérations par lots…). Un tableau de bord permet de répertorier les informations pour toutes les révisions de code.
CodeGuru Profiler : un outil pour optimiser les performances d’une application
De son côté, CodeGuru Profiler « recherche constamment à optimiser les performances de l’application, en identifiant vos lignes de code les plus « onéreuses » et en recommandant des manières de les corriger en vue de réduire l’utilisation processeur, de diminuer les coûts de calcul et d’améliorer les performances de l’application ». Le plus : CodeGuru Profiler fournit des recommandations ciblées. Ainsi, les développeurs pourront prendre des mesures immédiates si l’outil trouve des anomalies dans le code.
CodeGuru Profiler utilise l’apprentissage automatique pour identifier le code et les comportements anormaux, qui auront le plus d’impact sur la latence et l’utilisation du processeur. Concrètement, les utilisateurs installent un agent dans leur application. Ce dernier observe le temps d‘exécution de l’app, qui va détecter les problèmes de qualité au niveau du code. Les informations sont rassemblées dans un profil, qui montre les zones de codes les plus inefficaces. Amazon assure que son outil, qui fonctionne en continu lors de la production, consomme « des capacités de processeurs minimales » pour ne pas affecter les performances de l’application.
Une tarification adaptée en fonction de son utilisation
Amazone CodeGuru peut être activé à partir de la console AWS. La tarification repose sur l’utilisation du service, en fonction du nombre de lignes de code examinées et les heures d’échantillonnage par profil d’application :
- Amazon CodeGuru Reviewer : 0,75 dollar pour l’analyse de 100 lignes de code,
- Amazon CodeGuru Profiler : 0,005 dollar par heure d’échantillonnage.
Un essai gratuit pendant 90 jours est actuellement proposé pour tester le service.
Pour l’heure, Amazon CodeGuru est disponible seulement dans quelques pays : aux États-Unis (Virginie du Nord, Ohio, Oregon), en Europe (Francfort, Irlande, Londres et Stockholm) et en Asie-Pacifique (Sidney, Singapour, Tokyo). Son déploiement s’étendra à d’autres régions dans les prochains mois. Parmi les entreprises qui ont déjà adopté l’outil, on retrouve : Atlassian, EagleDream Technologies, DevFactory, Renga ou encore YouCanBook.me.
Recevez par email toute l’actualité du digital