Allgemeines

F: Was ist Amazon CodeGuru?

Amazon CodeGuru ist ein Entwickler-Tool, das auf Basis von Machine Learning intelligente Empfehlungen für die Verbesserung der Codequalität liefert und die teuersten Codezeilen in einer Anwendung findet.

F: Was kann ich mit Amazon CodeGuru tun?

Amazon CodeGuru hat zwei Komponenten: Amazon CodeGuru Reviewer und Amazon CodeGuru Profiler. Amazon CodeGuru Reviewer verwendet Machine Learning, um kritische Probleme und schwer zu findende Fehler während der Anwendungsentwicklung zu identifizieren und so die Codequalität zu verbessern. Amazon CodeGuru Profiler optimiert die Leistung für Anwendungen, die in der Produktion laufen, und identifiziert die teuersten Codezeilen, wodurch die Betriebskosten erheblich gesenkt werden.

F: Was sind die ersten Schritte mit Amazon CodeGuru?

Amazon CodeGuru ist jetzt allgemein verfügbar Sie können sofort in der Amazon CodeGuru-Konsole beginnen.

Um mit Amazon CodeGuru Reviewer zu beginnen, melden Sie sich bei der Amazon CodeGuru Reviewer-Konsole an, wo Sie ein vorhandenes Code-Repository auf GitHub, GitHub Enterprise, Bitbucket oder AWS CodeCommit zuordnen können. Nach einer einmaligen Einrichtung beginnt Amazon CodeGuru Reviewer mit der Analyse des Codes und der Bereitstellung von Empfehlungen zur Codeverbesserung direkt in der Abrufanforderung oder im Code-Repository.

Sie können auch innerhalb von Minuten mit der Profilerstellung Ihrer Anwendungen beginnen. Um mit dem Amazon CodeGuru Profiler zu beginnen, melden Sie sich bei der Amazon CodeGuru Profiler-Konsole an, wo Sie eine Profiling-Gruppe für Ihre Anwendung konfigurieren können. Starten Sie Ihre Anwendung mit dem Profiling-Agent auf der Befehlszeile oder folgen Sie den Schritten, um eine der beschriebenen benutzerdefinierten Methoden zu verwenden. Sie können Amazon CodeGuru Profiler kontinuierlich ausführen lassen, um Leistungsprobleme in Ihren Live-Anwendungen proaktiv zu erkennen.

F: In welchen AWS-Regionen ist Amazon CodeGuru verfügbar?

Eine Liste der unterstützten AWS-Regionen finden Sie in der Tabelle der AWS-Regionen. Sie enthält Informationen zur gesamten globalen AWS-Infrastruktur. Weitere Informationen erhalten Sie unter Regionen und Endpunkte in der allgemeinen AWS-Referenz.

Amazon CodeGuru Reviewer

F: Was ist Amazon CodeGuru Reviewer?

Amazon CodeGuru Reviewer ist ein automatisierter Codeüberprüfungsservice, der kritische Defekte und Abweichungen von den bewährten Methoden für die Codierung von Java-Code identifiziert. Es scannt die Codezeilen in einer Pull-Anfrage und bietet intelligente Empfehlungen basierend auf Standards, die aus großen Open-Source-Projekten sowie der Amazon-Codebasis gelernt wurden. Der Amazon CodeGuru Reviewer lässt sich nahtlos in bestehende Codeüberprüfungs-Workflows auf weit verbreiteten Quellcode-Kontrollsystemen wie GitHub, GitHub Enterprise, Bitbucket und AWS CodeCommit integrieren und bietet umsetzbare Empfehlungen zur Verbesserung der Codequalität.

F: Welche Programmiersprachen und Quellcode-Repositorys werden unterstützt?

Amazon CodeGuru Reviewer unterstützt derzeit Java-Code, der in GitHub-, GitHub Enterprise-, NitBucket- und AWS CodeCommit-Repositorys gespeichert ist.

F: Welche Probleme werden von Amazon CodeGuru Reviewer erkannt?

Amazon CodeGuru Reviewer prüft auf Parallelitätsprobleme, potenzielle Race-Bedingungen, nicht bereinigte oder böswillige Eingaben, unangemessene Verarbeitung vertraulicher Daten wie Anmeldeinformationen und Ressourcenlecks und erkennt auch Race-Bedingungen und Sackgassen im Concurrent-Code. Sie schlägt außerdem bewährte AWS- und Java-Verfahren vor und erkennt geklonten Code, der für eine bessere Wartbarkeit des Codes konsolidiert werden könnte.
F: Was sind die ersten Schritte mit CodeGuru Reviewer?

Besuchen Sie die Amazon CodeGuru-Konsole, um die Empfehlungen von Amazon CodeGuru Reviewer direkt in Ihre Code-Pull-Anforderungen zu integrieren. Sie können damit beginnen, indem Sie die CodeGuru-Konsole besuchen und die Schritte zum Verknüpfen Ihrer AWS CodeCommit-, GitHub-, GitHub Enterprise- und BitBucket-Repositorys befolgen, um die Empfehlungen des Amazon CodeGuru Reviewer zu erhalten. Nach der Aktivierung gibt Amazon CodeGuru Reviewer automatisch intelligente Empfehlungen als Kommentare zu Ihren Pull-Anforderungen aus, die für die verbundenen Repositorys generiert wurden.

F: Greift Amazon CodeGuru Reviewer auf meinen Code zu?

Amazon CodeGuru Reviewer benötigt Lesezugriff auf Ihren Code, um Empfehlungen zu generieren. Ihr Vertrauen, Ihre Privatsphäre und die Sicherheit Ihrer Inhalte haben für uns höchste Priorität. Wir führen geeignete Kontrollen durch, einschließlich der Verschlüsselung während der Übertragung, um den unbefugten Zugriff auf Ihre Inhalte oder deren Offenlegung zu verhindern und sicherzustellen, dass unsere Nutzung unseren Verpflichtungen gegenüber Ihnen entspricht. Weitere Informationen finden Sie unter Häufig gestellte Fragen zum AWS-Datenschutz.

F: Behält Amazon CodeGuru Reviewer eine Kopie meines Codes bei?

Nein, Amazon CodeGuru Reviewer speichert Ihren Quellcode nicht.

F: Wie wird Amazon CodeGuru Reviewer geschult, um intelligente Empfehlungen abzugeben?

Der Amazon CodeGuru Reviewer wird anhand von Rule Mining- und überwachten Machine Learning-Modellen geschult, die eine Kombination aus logistischer Regression und neuronalen Netzwerken verwenden.

Während der Schulung für Abweichungen von bewährten AWS-Methoden überprüft Amazon CodeGuru Reviewer beispielsweise Amazon-Codebasen mithilfe von Suchtechniken und ortsbezogenen Modellen auf Pull-Anforderungen, die AWS-API-Aufrufe enthalten. Es werden Codeänderungen untersucht, mit denen die Qualität des Codes verbessert werden soll, und Querverweise mit Dokumentationsdaten erstellt. Das Ergebnis ist die Erstellung eines neuen Regelsatzes, den Reviewer Ihnen bei der Überprüfung Ihres Codes als Best Practices empfiehlt.
Während der Schulung für Ressourcen- und vertrauliche Datenlecks wird eine vollständige Codeanalyse für alle Codepfade durchgeführt, die die Ressourcen- oder vertraulichen Daten verwenden, ein Feature-Set erstellt, das diese darstellt, und diese dann als Eingaben für logistische Regressionsmodelle und Faltungs Neuronale Netwerke (Convolutional Neural Networks, CNNs) verwendet.

Sowohl für regelbasierte als auch für Machine Learning-Modelle verwendet Amazon CodeGuru Reviewer das von Ihnen als Beschriftung bereitgestellte Feedback und verbessert die Qualität der Codedetektoren iterativ.

Amazon CodeGuru Profiler

F: Was ist Amazon CodeGuru Profiler?

Mit Amazon CodeGuru Profiler können Entwickler das Laufzeitverhalten ihrer Anwendungen auf einfache Weise verstehen, die Leistung verbessern und die Infrastrukturkosten senken. Amazon CodeGuru Profiler analysiert das Laufzeitprofil der Anwendung und bietet intelligente Empfehlungen und Visualisierungen, die Entwicklern dabei helfen, die Leistung der wichtigsten Teile ihres Codes zu verbessern.

F: Was ist eine Profilgruppe?

Eine Profilgruppe ist eine von Ihnen erstellte logische Gruppierung. Es stellt die Grenze einer Anwendung dar. In einer Microservices-Architektur aggregiert eine Profiling-Gruppe beispielsweise die Profile der Microservices, die Sie ihr zugewiesen haben, und erstellt für alle ein Profil.

F: Ich habe bereits umfangreiche Protokollierungs-Funktionen in meinen Code integriert. Muss ich trotzdem noch profilieren?

Die Protokollierung der Ausführungszeit funktioniert nur für eine begrenzte Anzahl von Szenarien, da die Protokollierung nur die Latenzzeit (nicht die CPU-Auslastung) überwachen kann und die Implementierung zeitaufwändig ist, da die Entwickler jede Funktion in einer Anwendung protokollieren müssen (ohne die Anwendungsleistung zu beeinträchtigen), so dass die Entwickler nicht über die erforderlichen Tools verfügen, um Anwendungen in der Produktion effektiv zu überwachen und Fehler zu beheben. Hier kommt die Profilierung ins Spiel: Amazon CodeGuru Profiler sammelt Daten zu allen Ereignissen, die im Verhalten der Anwendung aufgetreten sind, unabhängig von den Szenarien. CodeGuru Profiler verwendet eine Wissensdatenbank mit häufig auftretenden Leistungsschwächen, um automatisch Codemuster in Ihrer Live-Anwendung zu erkennen, die sich auf die Leistung auswirken. Entwickler können dann die angegebenen Empfehlungen befolgen, um die Probleme zu beheben.

F: Inwiefern unterscheidet sich Amazon CodeGuru Profiler von herkömmlichen APMs und eigenständigen Profilern?

Herkömmliche APMs liefern nützliche Daten zur Überwachung, Nachverfolgung und Anwendungsleistung. Amazon CodeGuru Profiler ergänzt diese APM-Funktionen durch die Visualisierung der Laufzeitdaten der Anwendung sowie durch umsetzbare Empfehlungen für die festgestellten Leistungsprobleme. Er nutzt auch Machine Learning, um Anomalien in Ihrem Anwendungsprofil zu erkennen und darauf aufmerksam zu machen, wobei auf die anomalen Codezeilen hingewiesen wird. Mit Amazon CodeGuru Profiler können Sie auf einfache Weise die Teile des Codes anzeigen, die die größte Chance zur Leistungsoptimierung und das höchste Einsparpotenzial bieten, und erhalten Anleitungen zu deren Behebung, ohne dass Sie über umfassende Kenntnisse im Bereich Performance Engineering verfügen müssen. Amazon CodeGuru Profiler profiliert sowohl EC2-Instances, Container als auch serverlose Rechnerplattformen einschließlich AWS Lambda. Darüber hinaus können einige eigenständige Profiler nur in Testumgebungen ausgeführt werden, während Amazon CodeGuru Profiler für die kontinuierliche Ausführung in der Produktion unter Last des Produktionsverkehrs und ohne Auswirkungen auf die Anwendung konzipiert wurde. Dies ist hilfreich bei der Behebung von Betriebsproblemen in der Produktion, einschließlich der Ausführung auf Bare-Metal-Hosts.

F: Welche Arten von Anwendungen kann ich profilieren?

Amazon CodeGuru Profiler funktioniert mit Anwendungen, die auf Amazon EC2 gehostet werden, containerisierten Anwendungen, die auf Amazon ECS und Amazon EKS ausgeführt werden, sowie Serverless-Anwendungen, die auf AWS Fargate und AWS Lambda ausgeführt werden.

F: Wie wirkt sich der CodeGuru Profiler auf die Leistung von Anwendungen aus, die auf AWS Lambda gehostet werden?

Der Agent des Amazon CodeGuru Profiler verwendet die Ressourcen (CPU, Speicher), die den AWS Lambda-Funktionen zugeordnet sind. Er ist so abgestimmt, dass er die Leistung Ihrer Anwendung nur minimal beeinträchtigt, während er als prozessinterner Thread läuft. Wenn Ihre Anwendung die meisten Ressourcen für die AWS Lambda-Funktion verbraucht, sollten Sie eine Aufstockung der Ressourcen evaluieren, damit der Agent ordnungsgemäß funktionieren kann.

F: Welche Programmiersprachen werden unterstützt?

Amazon CodeGuru Profiler unterstützt derzeit JVM-Anwendungen wie Java, Scala, Kotlin usw.

F: Wie funktioniert Amazon CodeGuru Profiler?

Amazon CodeGuru Profiler besteht aus drei Teilen: einem Agenten, dem Profiler-Service und intelligenten Empfehlungen. Der Agent wird mit Ihrer Anwendung auf der Befehlszeile gestartet und läuft als prozessinterner Thread als Teil Ihrer Anwendung. Es nimmt Daten von jeder Ihrer Dienstinstanzen entgegen, auf denen der Agent ausgeführt wird, und sendet sie alle 10 Minuten an den Profiler-Dienst, der sie dann aggregiert. Anschließend veröffentlicht Amazon CodeGuru Profiler die Profildaten in interaktiven Flammendiagrammen, mit denen Sie die Leistung Ihrer Anwendung visualisieren können. Amazon CodeGuru Profiler scannt die profilierten Daten außerdem kontinuierlich und vergleicht sie mit den bewährten Methoden von Amazon und Performance Engineering. Er warnt Sie proaktiv mit intelligenten Empfehlungen, wenn Leistungsprobleme entdeckt werden. Darüber hinaus verwendet er Machine Learning zur kontinuierlichen Analyse von Anwendungslaufzeitdaten und warnt, wenn er Anomalien im Anwendungsprofil entdeckt, und weist auf die anomalen Codezeilen hin.

Product-Page_Standard-Icons_01_Product-Features_SqInk
Weitere Informationen zu Preisen

Besuchen Sie die Amazon CodeGuru-Preisseite.

Weitere Informationen 
Product-Page_Standard-Icons_02_Sign-Up_SqInk
Registrieren Sie sich und erhalten Sie ein kostenloses Konto

Sie erhalten sofort Zugriff auf das kostenlose AWS-Kontingent. 

Registrieren 
Product-Page_Standard-Icons_03_Start-Building_SqInk
Beginnen Sie mit der Entwicklung in der Konsole

Beginnen Sie mit dem Erstellen mit Amazon CodeGuru in der AWS-Managementkonsole.

Anmelden