Allgemeines

F: Was ist Amazon CodeGuru?

Amazon CodeGuru ist ein vollständig verwalteter Dienst, mit dem Sie die Codequalität und Anwendungsleistung mit intelligenten Empfehlungen proaktiv verbessern können.

F: Was kann ich mit Amazon CodeGuru tun?

Mithilfe von Modellen für maschinelles Lernen und bewährten Methoden bietet Amazon CodeGuru intelligente Empfehlungen zur Verbesserung der Codequalität und Optimierung der Anwendungsleistung. Amazon CodeGuru enthält CodeGuru Reviewer und CodeGuru Profiler. CodeGuru Reviewer analysiert Code-Pull-Anforderungen in Ihren Code-Repositorys und CodeGuru Profiler analysiert die Leistung Ihrer Anwendungen, während diese ausgeführt werden.

CodeGuru Reviewer erkennt automatisch Code-Probleme während der Code-Überprüfungen, bevor sie die Produktion erreichen. So können Sie Probleme proaktiv erkennen, bevor sie für die Produktion bereitgestellt werden, und die Gesamtleistung und -qualität der Anwendung verbessern. CodeGuru Profiler kann erkennen, wann Ihre Anwendung übermäßige CPU-Kapazität in einer Protokollierungsroutine beansprucht, anstatt die Kerngeschäftslogik auszuführen. CodeGuru Profiler wurde entwickelt, um Ihre Anwendung kontinuierlich in der Produktion mit minimalem Platzbedarf zu profilieren.

F: Was sind die ersten Schritte mit Amazon CodeGuru?

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

Um mit Amazon CodeGuru Reviewer zu beginnen, melden Sie sich bei der CodeGuru Reviewer-Konsole an, wo Sie ein vorhandenes Code-Repository auf GitHub oder AWS CodeCommit zuordnen können. Nach einer einmaligen Einrichtung beginnt 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 Amazon CodeGuru Profiler zu beginnen, melden Sie sich bei der CodeGuru Profiler-Konsole an, in der Sie Ihre Anwendung konfigurieren können. Befolgen Sie die schrittweisen Anweisungen und den Code von CodeGuru Profiler, um einen kleinen Agenten mit niedrigem Profil in Ihrer Anwendung zu installieren. Sie können 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üfungsdienst, der kritische Fehler und Abweichungen von AWS-Best Practices für Java-basierten Code identifiziert. Es scannt die Codezeilen in einer Pull-Anfrage oder einem Code-Repository und bietet intelligente Empfehlungen basierend auf Standards, die aus großen Open-Source-Projekten sowie der Amazon-Codebasis gelernt wurden. CodeGuru Reviewer lässt sich nahtlos in vorhandene Codeüberprüfungs-Workflows auf weit verbreiteten Versionsverwaltungssystemen wie AWS CodeCommit und GitHub 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- 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 Eingaben, unangemessene Verarbeitung vertraulicher Daten wie Anmeldeinformationen und Ressourcenlecks und erkennt auch Race-Bedingungen im Concurrent-Code.

F: Was sind die ersten Schritte mit CodeGuru Reviewer?

Besuchen Sie die Amazon CodeGuru-Konsole, um die Empfehlungen von CodeGuru Reviewer direkt in Ihre Code-Pull-Anforderungen zu integrieren. Sie können beginnen, indem Sie die CodeGuru-Konsole besuchen und die Schritte zum Verknüpfen Ihrer AWS CodeCommit- und GitHub-Repositorys ausführen, um die Empfehlungen von CodeGuru Reviewer zu erhalten. Der CodeGuru-Prüfer benötigt Lesezugriff und die Möglichkeit, Kommentare zu Pull-Anforderungen zu posten. Nach der Aktivierung gibt 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 AWS und branchenüblichen Best Practices überprüft 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 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 Rechenkosten senken. 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: Ich habe bereits umfangreiche Protokollierungs- und Debugging-Funktionen in meinen Code integriert. Muss ich trotzdem noch profilieren?

Während der Überwachungsansatz von oben nach unten (Protokollierung und Debugging) eine gute Praxis ist, ist er für die Analyse der Codeeffizienz unpraktisch. Die Ausführungszeit der Protokollierung funktioniert nur für eine begrenzte Anzahl von Szenarien und die Implementierung ist zeitaufwendig. Hier kommt die Laufzeitüberwachung von unten nach oben 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 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. Mit CodeGuru Profiler können Sie auf einfache Weise die Teile des Codes anzeigen, die die größte Chance zur Leistungsoptimierung bieten, und erhalten Anleitungen zu deren Behebung, ohne dass Sie über umfassende Kenntnisse im Bereich Performance Engineering verfügen müssen. Darüber hinaus können einige eigenständige Profiler nur in Testumgebungen ausgeführt werden, während 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 ausgeführt werden.

F: Welche Programmiersprachen werden unterstützt?

Amazon CodeGuru Profiler unterstützt derzeit Java-Anwendungen.

F: Wie funktioniert CodeGuru Profiler?

CodeGuru Profiler besteht aus drei Teilen: einem Agenten, dem Profiler-Service und intelligenten Empfehlungen. Der Agent wird als Teil Ihrer Anwendung als In-Process-Thread ausgeführt. Es nimmt Daten von jeder Ihrer Dienstinstanzen entgegen, auf denen der Agent ausgeführt wird, und sendet sie alle 5 Minuten an den Profiler-Dienst, der sie dann aggregiert. Anschließend veröffentlicht CodeGuru Profiler die Profildaten in interaktiven Flammendiagrammen, mit denen Sie die Leistung Ihrer Anwendung visualisieren können. CodeGuru Profiler scannt die profilierten Daten außerdem kontinuierlich und vergleicht sie mit den Best Practices von Amazon und Performance Engineering. Er warnt Sie proaktiv mit intelligenten Empfehlungen, wenn Leistungsprobleme entdeckt werden.

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.

Product-Page_Standard-Icons_01_Product-Features_SqInk
Weitere Informationen zur Preisberechnung

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