

# SUS03-BP03 Optimieren von Codebereichen, die die meiste Zeit oder die meisten Ressourcen verbrauchen
<a name="sus_sus_software_a4"></a>

Optimieren Sie den Code, der innerhalb der verschiedenen Komponenten Ihrer Architektur ausgeführt wird, um die Ressourcennutzung zu minimieren und die Leistung zu maximieren.

 **Typische Anti-Muster:** 
+  Sie versäumen die Optimierung Ihres Codes für die Ressourcennutzung. 
+  Sie reagieren auf Leistungsprobleme normalerweise mit Erhöhung des Ressourceneinsatzes. 
+  Ihr Code-Prüfungs- und -Entwicklungsprozess verfolgt keine Leistungsänderungen. 

 **Vorteile der Nutzung dieser bewährten Methode:** Die Verwendung effizienten Codes minimiert die Ressourcennutzung und verbessert die Leistung. 

 **Risikostufe, wenn diese bewährte Methode nicht eingeführt wird:** mittel 

## Implementierungsleitfaden
<a name="implementation-guidance"></a>

 Es ist sehr wichtig, jeden funktionalen Bereich, einschließlich des Codes einer für die Cloud erstellten Anwendung, zu untersuchen, um ihre Ressourcennutzung und Leistung zu optimieren. Überwachen Sie kontinuierlich die Leistung Ihres Workloads in Build-Umgebungen und Produktionsbereichen und suchen Sie nach Möglichkeiten, Code-Snippets zu verbessern, die einen besonders hohen Ressourcenverbrauch haben. Führen Sie einen regelmäßigen Prüfungsprozess ein, um Fehler oder Anti-Muster in Ihrem Code zu identifizieren, die Ressourcen in ineffizienter Weise nutzen. Nutzen Sie einfache und effiziente Algorithmen, die dieselben Ergebnisse für Ihre Anwendungsfälle liefern. 

## Implementierungsschritte
<a name="implementation-steps"></a>
+ **Effiziente Programmiersprache verwenden:** Verwenden Sie das jeweils effizienteste Betriebssystem und die optimale Programmiersprache für den Workload. Für Informationen zu energieeffizienten Programmiersprachen (einschließlich Rust) vgl. [Nachhaltigkeit mit Rust](https://aws.amazon.com/blogs/opensource/sustainability-with-rust/). 
+  **KI-Programmierungsbegleiter verwenden:** Erwägen Sie die Verwendung eines Begleiters zur KI-Programmierung wie [Amazon CodeWhisperer](https://aws.amazon.com/pm/codewhisperer/), um Code effizient zu schreiben. 
+ **Code-Überprüfungen automatisieren:** Führen Sie bei der Entwicklung Ihrer Workloads einen automatischen Code-Prüfungsprozess ein, um die Qualität zu verbessern sowie Fehler und Anti-Muster zu identifizieren. 
  + [ Automatisieren von Code-Reviews mit Amazon CodeGuru Reviewer ](https://aws.amazon.com/blogs/devops/automate-code-reviews-with-amazon-codeguru-reviewer/)
  + [ Erkennen von Concurrency-Fehlern mit Amazon CodeGuru ](https://aws.amazon.com/blogs/devops/detecting-concurrency-bugs-with-amazon-codeguru/)
  + [ Verbessern der Codequalität für Python-Anwendungen mit Amazon CodeGuru ](https://aws.amazon.com/blogs/devops/raising-code-quality-for-python-applications-using-amazon-codeguru/)
+ **Code-Profiler verwenden:** Verwenden Sie einen Code-Profiler für Code-Prüfungen, um die Codebereiche als Optimierungsziele zu identifizieren, die die meiste Zeit oder die meisten Ressourcen verwenden. 
  + [ Reduzieren des CO2-Fußabdrucks Ihrer Organisation mit Amazon CodeGuru Profiler ](https://aws.amazon.com/blogs/devops/reducing-your-organizations-carbon-footprint-with-codeguru-profiler/)
  + [ Verständnis der Speichernutzung in Ihrer Java-Anwendung mit Amazon CodeGuru Profiler ](https://aws.amazon.com/blogs/devops/understanding-memory-usage-in-your-java-application-with-amazon-codeguru-profiler/)
  + [ Verbessern des Kundenkomforts und Senken von Kosten mit Amazon CodeGuru Profiler ](https://aws.amazon.com/blogs/devops/improving-customer-experience-and-reducing-cost-with-codeguru-profiler/)
+  **Überwachen und optimieren:** Verwenden Sie Ressourcen für die kontinuierliche Überwachung, um Komponenten mit hohem Ressourcenbedarf oder suboptimaler Konfiguration zu identifizieren. 
  +  Ersetzen Sie rechenintensive Algorithmen durch einfachere und effizientere Versionen, die dieselben Ergebnisse liefern. 
  +  Entfernen Sie unnötigen Code und überflüssige Formatierungen. 
+  **Code-Refactoring oder -Transformation verwenden:** Erkunden Sie die Möglichkeiten der [Amazon-Q-Codetransformation](https://aws.amazon.com/q/aws/code-transformation/) für die Wartung und Aktualisierung von Anwendungen. 
  + [ Sprachversionen mit Amazon-Q-Codetransformation upgraden ](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/code-transformation.html)
  + [AWS re:Invent 2023 – Automatisierung der App-Upgrades und Wartung mithilfe von Amazon-Q-Codetransformation ](https://www.youtube.com/watch?v=LY76tak6Z1E)

## Ressourcen
<a name="resources"></a>

 **Zugehörige Dokumente:** 
+  [Was ist Amazon CodeGuru Profiler?](https://docs.aws.amazon.com/codeguru/latest/profiler-ug/what-is-codeguru-profiler.html) 
+  [FPGA-Instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/fpga-getting-started.html) 
+  [Die AWS-SDKs in Tools zum Entwickeln in AWS](https://aws.amazon.com/tools/) 

 **Zugehörige Videos:** 
+ [ Verbessern der Code-Effizienz mit Amazon CodeGuru Profiler ](https://www.youtube.com/watch?v=1pU4VddsBRw)
+ [AWS re:Invent 2023 – Bewährte Methoden für Amazon CodeWhisperer ](https://www.youtube.com/watch?v=F_dSkRHCXBc)
+ [ Automatisieren von Codeprüfungen und Empfehlungen zur Anwendungsleistung mit Amazon CodeGuru](https://www.youtube.com/watch?v=OD8H63C0E0I)

 **Zugehörige Beispiele:** 
+ [ Code optimieren mit Amazon CodeGuru ](https://catalog.workshops.aws/well-architected-sustainability/en-US/2-software-and-architecture/200-codeguru-lab)