CodeGuru : AWS fournit aux développeurs une assistance algorithmique

AWS acte le lancement commercial de CodeGuru, service de révision automatisée de code et de profilage d’applications. La prise en charge initiale se limite à Java.

Révision automatisée de code et profilage d’applications : telles sont les deux briques fonctionnelles d’Amazon CodeGuru.

AWS avait lancé une version préliminaire de ce service fin 2019, à l’occasion de sa conférence re:Invent. Il vient d’en annoncer le passage en phase commerciale.

Les modèles de machine learning sur qui sous-tendent la partie révision (Reviewer) s’appuient sur les normes issues de projets open source et de la base de code Amazon.

L’outil délivre des recommandations soit dans les demandes d’extraction du code, soit directement au sein du référentiel auquel on l’a connecté (GitHub, Bitbucket ou AWS CodeCommit). Il intervient avant la mise en production, pour détecter des problèmes de type concurrence, entrées non protégées ou gestion inappropriée de données sensibles.

Amazon CodeGuru Reviewer

Une alternative aux APM ?

La partie Profiler analyse quant à elle le comportement des applications lorsqu’elles sont en cours d’exécution. AWS la présente comme un complément aux outils de journalisation et de débogage. Et plus globalement des solutions de gestion de la performance applicative (APM).

L’agent sur lequel repose le service s’intègre dans le code des applications à analyser ou en ligne de commande (option -javaagent au lancement de l’app). Il s’exécute en tant que thread interne au processus et envoie, toutes les 5 minutes, des données à un service de profileur qui en tire des graphiques.

Amazon CodeGuru Profiler

Comme Reviewer, Profiler ne prend pour le moment en charge que le code Java. Il couvre les applications hébergées sur EC2, EKS, ECS, Fargate, Lambda, ainsi que sur site.

CodeGuru est disponible dans quatre régions AWS en Europe : Irlande, Londres, Francfort et Stockholm. La tarification, mensuelle, se base sur deux éléments :

  • Nombre de lignes de code examinées (0,75 $ pour 100 lignes de code)
  • Heures d’échantillonnage par profil d’application (0,005 $/heure sur les instances ECS et les conteneurs ECS, EKS et Fargate)

Illustration principale © ProStockStudio – shutterstock.com