Généralités

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

Amazon CodeGuru, un outil de développement optimisé le machine learning qui fournit des recommandations intelligentes pour améliorer la qualité du code et identifier les lignes de code les plus coûteuses d'une application.

Q : Que puis-je faire avec Amazon CodeGuru ?

Amazon CodeGuru se compose de deux éléments : Amazon CodeGuru Reviewer et Amazon CodeGuru Profiler. Amazon CodeGuru Reviewer utilise le machine learning pour identifier les problèmes critiques et les bogues difficiles à trouver pendant le développement des applications afin d'améliorer la qualité du code. Amazon CodeGuru Profiler optimise les performances des applications fonctionnant en production et identifie les lignes de code les plus coûteuses, ce qui réduit considérablement les coûts opérationnels.

Q : Comment démarrer avec Amazon CodeGuru ?

Amazon CodeGuru est désormais disponible d’une manière générale. Vous pouvez démarrer maintenant dans la console Amazon CodeGuru.

Pour commencer à utiliser Amazon CodeGuru Reviewer, connectez-vous à la console Amazon CodeGuru Reviewer où vous pouvez associer un référentiel de code existant sur GitHub, GitHub Enterprise, Bitbucket ou AWS CodeCommit. Après une configuration unique, Amazon 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 profilage de vos applications en quelques minutes seulement. Pour démarrer avec Amazon CodeGuru Profiler, connectez-vous à la console CodeGuru Profiler dans laquelle vous pouvez configurer votre application. Démarrez votre application avec l'agent de profilage sur la ligne de commande ou suivez les étapes pour utiliser l'une des méthodes personnalisées décrites. Vous pouvez laisser Amazon CodeGuru Profiler fonctionner en continu afin qu'il puisse détecter de manière proactive les problèmes de performances de vos applications en direct.

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 automatisé de révision de code qui identifie les défauts critiques et les écarts par rapport aux bonnes pratiques de codage pour le code Java. Il analyse les lignes de code dans le cadre d'une requête pull et fournit des recommandations intelligentes basées sur les normes apprises des principaux projets open source, ainsi que sur la base de code d'Amazon. Amazon CodeGuru Reviewer s'intègre de manière transparente aux flux de travail de révision de code existants sur les systèmes de contrôle de source largement utilisés, notamment GitHub, GitHub Enterprise, Bitbucket et AWS CodeCommit, et fournit des recommandations concrètes pour améliorer la qualité du code.

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

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

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

Amazon CodeGuru Reviewer vérifie les problèmes de concurrence, les conditions de concurrence potentielle, les entrées non nettoyées ou malveillantes, le traitement inapproprié des données sensibles telles que les informations d'identification, les fuites de ressources, et détecte également les conditions de concurrence et les blocages dans le code concurrent. Il suggère également les bonnes pratiques AWS et Java et détecte le code cloné qui pourrait être consolidé pour une meilleure maintenance du code.
Q : Comment démarrer avec Amazon CodeGuru Reviewer ?

Accédez à la console Amazon CodeGuru afin d'intégrer directement les recommandations de CodeGuru Reviewer dans vos demandes d'extraction de code. Vous pouvez commencer en accédant à la console CodeGuru et en suivant les étapes pour associer vos référentiels AWS CodeCommit, GitHub, GitHub enterprise et BitBucket afin de commencer à recevoir les recommandations d'Amazon CodeGuru Reviewer. Une fois activé, Amazon CodeGuru Reviewer fournit automatiquement des recommandations intelligentes sous forme de commentaires sur vos demandes d'extraction générées pour 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 questions fréquentes (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 entraîné à l’aide de modèles d'exploration de règles et de machine learning supervisés qui utilisent une combinaison de régression logistique et de réseaux neuronaux.

Par exemple, au cours de l’entraînement sur les écarts par rapport aux bonnes pratiques AWS, Amazon CodeGuru Reviewer exploite les bases de code Amazon en utilisant des techniques de recherche et des modèles sensibles à l’emplacement pour les demandes d'extraction qui incluent des appels 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 l’entraînement 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 les utilise comme entrées pour les modèles de régression logistique et les réseaux de neurones convolutifs.

Pour les modèles basés sur des règles et sur le machine learning, Amazon CodeGuru Reviewer utilise les commentaires que vous fournissez comme étiquettes et améliore itérativement la qualité des détecteurs de code.

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 d'infrastructure. Amazon CodeGuru Profiler analyse le profil d'exécution de l'application et fournit des recommandations et des visualisations intelligentes qui guident les développeurs sur la manière d'améliorer les performances des parties les plus pertinentes de leur code.

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 regroupe les profils des microservices que vous lui avez attribués et produit un profil pour l’ensemble des microservices.

Q : J'ai déjà intégré à mon code une journalisation étendue. Est-il nécessaire que j'établisse un profil ?

Le temps d'exécution de la journalisation ne fonctionne que pour un ensemble limité de scénarios, car la journalisation ne permet de surveiller que la latence (et non pas l'utilisation de la CPU), et sa mise en œuvre est longue, car les développeurs doivent journaliser chaque fonction d'une application (sans impact sur les performances de l'application), ce qui laisse les développeurs sans les outils nécessaires pour surveiller les applications en production et résoudre les problèmes associés efficacement. C'est là qu'intervient le profilage : Amazon CodeGuru Profiler est conçu pour collecter des données sur tout ce qui s'est passé dans le comportement de l’application, quels que soient les scénarios. CodeGuru Profiler utilise une base de connaissances des inefficacités de performance couramment rencontrées pour découvrir automatiquement les modèles de code dans votre application en direct qui ont un impact sur ses performances. Les développeurs peuvent alors suivre les recommandations avancées pour éliminer les problèmes.

Q : En quoi Amazon CodeGuru Profiler diffère-t-il des APM traditionnels et des profileurs autonomes ?

Les APM traditionnels fournissent des données utiles à propos de la surveillance, du traçage et des performances de l'application. Amazon CodeGuru Profiler complète ces fonctionnalités 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 découvre. Il utilise également le machine learning pour détecter et signaler les anomalies dans votre profil d'application, en pointant les lignes de code anormales. Amazon CodeGuru Profiler vous permet de voir facilement les parties du code qui présentent la plus grande opportunité d'optimisation des performances, ainsi que les économies potentielles, et de recevoir des conseils sur la façon de les aborder sans avoir besoin d'une formation approfondie en ingénierie des performances. Amazon CodeGuru Profiler profile à la fois les instances EC2, les conteneurs et les plateformes de calcul sans serveur, y compris AWS Lambda. En outre, certains profileurs autonomes sont conçus pour fonctionner uniquement dans des environnements de test, tandis qu’Amazon CodeGuru Profiler est conçu pour fonctionner en continu en production, sous des charges de trafic de production, et sans impact 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 les applications hébergées sur Amazon EC2, les applications conteneurisées fonctionnant sur Amazon ECS et Amazon EKS, ainsi que des applications sans serveur fonctionnant sur AWS Fargate et AWS Lambda.

Q : Quel est l'impact de CodeGuru Profiler sur les performances des applications hébergées sur AWS Lambda ?

L'agent d'Amazon CodeGuru Profiler utilise les ressources (CPU, mémoire) allouées aux fonctions AWS Lambda. Il est optimisé pour avoir un impact minimal sur les performances de votre application lorsqu'elle s'exécute comme une thread interne au processus. Si votre application consomme la plupart des ressources sur la fonction AWS Lambda, évaluez la possibilité d'augmenter les ressources pour permettre à l'agent de fonctionner correctement.

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

Amazon CodeGuru Profiler prend actuellement en charge les applications JVM, notamment Java, Scala, Kotlin, etc.

Q : Quel est le mode de fonctionnement d’Amazon CodeGuru Profiler ?

Amazon CodeGuru Profiler se compose de trois parties : un agent, le service de profilage et des recommandations intelligentes. L'agent est lancé avec votre application sur la ligne de commande et il s'exécute comme une thread interne au processus dans le cadre de votre application. Il prend les données de chacune des instances de votre service qui exécutent l'agent et les envoie toutes les 10 minutes au service de profilage, qui les agrège ensuite. Amazon CodeGuru Profiler publie ensuite les données de profil dans des graphiques de type flamme interactifs qui vous permettent de visualiser les performances de votre application. Amazon CodeGuru Profiler analyse également en permanence les données profilées et les compare aux bonnes pratiques d'Amazon et de l'ingénierie des performances, et vous alerte de manière proactive avec des recommandations intelligentes lorsque des problèmes de performances sont découverts. Il utilise également le machine learning pour analyser en permanence les données d'exécution des applications et alerte lorsqu'il détecte des anomalies dans le profil de l'application et indique les lignes de code anormales.

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