Généralités

Q : Qu'est-ce qu'Amazon CodeGuru ?

Amazon CodeGuru est un service entièrement géré qui vous aide à améliorer de façon proactive la qualité du code et les performances d'une application à l'aide de recommandations intelligentes

Q : Que puis-je faire avec Amazon CodeGuru ?

En s'appuyant sur des modèles de Machine Learning sur les bonnes pratiques assimilées, Amazon CodeGuru émet des recommandations intelligentes en vue d'améliorer la qualité du code et d'optimiser les performances de l'application. Amazon CodeGuru se compose de CodeGuru Reviewer et de CodeGuru Profiler. CodeGuru Reviewer analyse les demandes d'extraction de code sur vos référentiels de code, tandis que CodeGuru Profiler analyse les performances de vos applications lorsqu'elles sont en cours d'exécution.

CodeGuru Reviewer détecte automatiquement les problèmes de code lors des révisions de code avant qu'elles n'atteignent la production, ce qui vous permet de les détecter de manière proactive avant qu'elles ne soient déployées en production, mais aussi d'améliorer la qualité et les performances générales de l'application. CodeGuru Profiler est capable d'identifier les situations dans lesquelles votre application consomme une capacité d'UC excessive sur une routine de journalisation, au lieu d'exécuter une logique d'entreprise essentielle. CodeGuru Profiler est conçu pour établir le profil de votre application de façon continue en production, avec un encombrement minimal.

Q : Comment démarrer avec Amazon CodeGuru ?

Amazon CodeGuru est disponible publiquement dans sa version préliminaire. Vous pouvez vous lancer dès maintenant dans la console Amazon CodeGuru.

Pour faire vos premiers pas avec Amazon CodeGuru Reviewer, connectez-vous à la console CodeGuru Reviewer dans laquelle vous pouvez associer un référentiel de code existant sur GitHub ou AWS CodeCommit. Après une configuration unique, CodeGuru Reviewer se met à analyser le code et à émettre des recommandations d'amélioration du code directement dans la demande d'extraction ou le référentiel de code.

Vous pouvez également commencer à établir le profil de vos applications en quelques minutes seulement. Pour faire vos premiers pas avec Amazon CodeGuru Profiler, connectez-vous à la console CodeGuru Profiler dans laquelle vous pouvez configurer votre application. Suivez les instructions pas à pas et le code fourni par CodeGuru Profiler afin d'installer un petit agent à profil bas dans votre application. Vous pouvez laisser CodeGuru Profiler s'exécuter de façon continue afin qu'il puisse détecter de manière proactive les problèmes de performance dans vos applications en cours.

Q : Dans quelles régions AWS Amazon CodeGuru est-il disponible ?

Pour prendre connaissance des régions AWS prenant en charge Amazon EMR, consultez le tableau des régions AWS qui constitue un aperçu de toute l'infrastructure mondiale AWS. Pour en savoir plus, consultez la section Régions et points de terminaison du document Références générales AWS.

Amazon CodeGuru Reviewer

Q : Qu'est-ce qu'Amazon CodeGuru Reviewer ?

Amazon CodeGuru Reviewer est un service de révision automatique du code qui identifie les défaillances critiques et les écarts par rapport aux bonnes pratiques AWS pour le code basé sur Java. Il analyse les lignes de code dans une demande d'extraction ou un référentiel de code et il émet des recommandations intelligentes en s'appuyant sur les normes issues d'importants projets open source et de la base de code Amazon. CodeGuru Reviewer s'intègre de façon transparente aux procédures de révision de code existantes sur des systèmes de contrôle de source largement utilisés, comme AWS CodeCommit et GitHub, et il adresse des recommandations exploitables afin d'améliorer la qualité du code.

Q : Quels sont les langages de programmation et les référentiels de code source pris en charge ?

Actuellement, Amazon CodeGuru Reviewer prend en charge le code Java code stocké dans les référentiels GitHub et AWS CodeCommit.

Q : Quels sont les types de problèmes détectés par Amazon CodeGuru Reviewer ?

Amazon CodeGuru Reviewer recherche les problèmes de concurrence, les conditions de concurrence potentielles, les entrées non protégées, la gestion inappropriée de données sensibles telles que les informations d'identification et les fuites de ressources, et détecte également les conditions de concurrence dans le code concurrent.

Q : Comment démarrer avec Amazon CodeGuru Reviewer ?

Visitez la console Amazon CodeGuru afin d'intégrer directement les recommandations de CodeGuru Reviewer dans vos demandes d'extraction de code. Vous pouvez démarrer en visitant la console CodeGuru et en suivant la procédure visant à associer vos référentiels AWS CodeCommit et GitHub afin de commencer à recevoir des recommandations de CodeGuru Reviewer. CodeGuru Reviewer aura besoin d'un accès en lecture seule et de l'autorisation de publier des commentaires à propos des demandes d'extraction. Une fois activé, CodeGuru Reviewer va automatiquement émettre des recommandations intelligentes sous forme de commentaires à propos de vos demandes d'extraction générées par les référentiels connectés.

Q : Amazon CodeGuru Reviewer a-t-il accès à mon code ?

Amazon CodeGuru Reviewer n'a besoin que d'un accès en lecture seule à votre code afin de générer des recommandations. Votre confiance ainsi que la confidentialité et la sécurité de votre contenu sont notre priorité absolue. Nous mettons en œuvre des contrôles appropriés, notamment le chiffrement en transit, afin d'éviter l'accès non autorisé à votre contenu ou sa divulgation. Nous nous assurons également que notre utilisation respecte nos engagements à votre égard. Consultez les FAQ sur la confidentialité des données pour en savoir plus.

Q : Amazon CodeGuru Reviewer conserve-t-il une copie de mon code ?

Non, Amazon CodeGuru Reviewer ne stocke pas votre code source.

Q : De quelle manière Amazon CodeGuru Reviewer est-il formé à adresser des recommandations intelligentes ?

Amazon CodeGuru Reviewer est formé à l'aide de modèles d'exploration de règles et de Machine Learning supervisés qui utilisent un mélange de régression logistique et de réseaux de neurones.

Par exemple, lors de la formation sur les écarts par rapport aux bonnes pratiques AWS et du secteur, CodeGuru Reviewer explore les bases de code Amazon à l'aide de techniques de recherche et de modèles sensibles à l'emplacement afin de rechercher des demandes d'extraction qui contiennent des appels d'API AWS. Il examine les modifications de code visant à améliorer la qualité du code et il crée des références croisées entre elles et les données de documentation. Il crée ainsi un nouvel ensemble de règles que Reviewer vous recommande en tant que bonnes pratiques lorsqu'il examine votre code.

Lors de la formation sur les fuites de ressources et de données sensibles, il effectue une analyse complète du code pour tous les chemins de code qui utilisent les ressources ou les données sensibles, il crée un ensemble de fonctions qui les représente, puis il s'en sert comme données pour les modèles de régression logistique et réseaux de neurones convolutifs.

Tant pour les modèles basés sur des règles que pour ceux basés sur le Machine Learning, CodeGuru Reviewer utilise les commentaires que vous adressez en tant qu'étiquettes et améliore la qualité des détecteurs de code de façon itérative.

Amazon CodeGuru Profiler

Q : Qu'est-ce qu'Amazon CodeGuru Profiler ?

Amazon CodeGuru Profiler aide les développeurs à comprendre facilement le comportement d'exécution de leurs applications, à améliorer les performances et à réduire les coûts de calcul. CodeGuru Profiler analyse le profil d'exécution de l'application et adresse des recommandations intelligentes, ainsi que des visualisations, qui guident les développeurs en vue d'améliorer les performances des composants les plus pertinentes de leur code.

Q : J'ai déjà intégré des fonctions complètes de journalisation et de débogage dans mon code. Est-il nécessaire que j'établisse un profil ?

Bien que l'approche de surveillance « de haut en bas » (journalisation et débogage) constitue une bonne pratique, elle se révèle irréalisable dans le cas de l'analyse de l'efficacité du code. La journalisation du temps d'exécution ne fonctionne que pour un ensemble limité de scénarios et prend énormément de temps à mettre en œuvre. C'est là que la surveillance de l'exécution « de bas en haut » intervient : Amazon CodeGuru Profiler est conçu pour recueillir des données sur tout ce qui s'est produit au niveau du comportement de cette application, peu importe les scénarios. CodeGuru Profiler s'appuie sur une base de connaissances à propos des failles de performance fréquemment rencontrées afin de détecter automatiquement les modèles de code dans votre application en cours qui ont une incidence sur ses performances. Les développeurs peuvent alors suivre les recommandations avancées pour corriger les problèmes.

Q : En quoi CodeGuru Profiler diffère-t-il des applications de gestion de la performance (APM, Application Performance Management) traditionnelles et des profileurs autonomes ?

Les APM traditionnelles fournissent des données utiles à propos de la surveillance, du traçage et des performances de l'application. Amazon CodeGuru Profiler vient compléter ces capacités d'APM en proposant une visualisation des données d'exécution de l'application, ainsi que des recommandations exploitables pour les problèmes de performance qu'il met à jour. CodeGuru Profiler vous permet de facilement consulter les parties du code qui présentent les plus grandes possibilités d'optimisation des performances et de bénéficier de conseils sur la manière de les corriger, sans avoir besoin d'une vaste expérience de la conception de l'ingénierie de performance. Par ailleurs, certains profileurs autonomes sont conçus pour s'exécuter uniquement dans des environnements de test, tandis que CodeGuru Profiler a été conçu pour s'exécuter de manière continue en production, sous des charges de trafic de production et sans la moindre incidence sur l'application. Cela se révèle utile au moment de résoudre des problèmes opérationnels en production, y compris en cas d'exécution sur des hôtes bare metal.

Q : De quels types d'applications puis-je établir le profil ?

Amazon CodeGuru Profiler fonctionne avec des applications hébergées sur Amazon EC2, des conteneurisées applications qui s'exécutent sur Amazon ECS et Amazon EKS, ainsi que des applications sans serveur qui s'exécutent sur AWS Fargate.

Q : Quels sont les langages de programmation pris en charge ?

Amazon CodeGuru Profiler prend actuellement en charge les applications Java.

Q : Quel est le mode de fonctionnement de CodeGuru Profiler ?

CodeGuru Profiler se compose des trois éléments suivants : un agent, le service de profileur et des recommandations intelligentes. L'agent s'exécute en tant que thread interne au processus dans le cadre de votre application. Il prélève des données de chacune de vos instances de service exécutant l'agent et il les envoie vers le service de profileur toutes les cinq minutes, qui se charge alors de les regrouper. Ensuite, CodeGuru Profiler publie les données de profil dans des graphiques de flammes interactifs qui vous permettent de visualiser les performances de votre application. En outre, CodeGuru Profiler analyse constamment les données profilées et les compare aux bonnes pratiques d'Amazon et d'ingénieure de performance, puis vous alerte de façon proactive à l'aide de recommandations intelligentes en cas de détection de problèmes de performance.

Q : Qu'est-ce qu'un groupe de profilage ?

Un groupe de profilage consiste en un regroupement logique créé par vos soins. Il représente les limites d'une application. Par exemple, dans une architecture de microservices, un groupe de profilage va regrouper les profils des microservices que vous lui avez attribués et va produire un profil pour tous ceux-ci.

Product-Page_Standard-Icons_01_Product-Features_SqInk
En savoir plus sur la tarification

Consultez la page de tarification d'Amazon CodeGuru.

En savoir plus 
Product-Page_Standard-Icons_02_Sign-Up_SqInk
Créer gratuitement un compte

Obtenez un accès instantané à l'offre gratuite d'AWS. 

S'inscrire 
Product-Page_Standard-Icons_03_Start-Building_SqInk
Commencer à créer sur la console

Commencez à créer avec Amazon CodeGuru dans AWS Management Console.

Se connecter