

# OPS 5 Wie können Sie Fehler reduzieren, die Fehlerbehebung erleichtern und den Ablauf bis zur Produktion verbessern?
<a name="w2aac19b5b7b7"></a>

 Verwenden Sie Strategien, die die Übertragung von Änderungen auf die Produktionsumgebung verbessern und Refactoring, schnelles Feedback zur Qualität sowie eine schnelle Fehlerbehebung ermöglichen. Dadurch fließen nützliche Änderungen schneller in die Produktion ein und es treten bei der Bereitstellung weniger Probleme auf. Zudem können Probleme, die durch Bereitstellungsaktivitäten verursacht werden, schnell aufgespürt und gelöst werden. 

**Topics**
+ [OPS05-BP01 Verwendung einer Versionskontrolle](ops_dev_integ_version_control.md)
+ [OPS05-BP02 Testen und Validieren von Änderungen](ops_dev_integ_test_val_chg.md)
+ [OPS05-BP03 Einsatz von Systemen zur Konfigurationsverwaltung](ops_dev_integ_conf_mgmt_sys.md)
+ [OPS05-BP04 Einsatz von Systemen zur Build- und Bereitstellungsverwaltung.](ops_dev_integ_build_mgmt_sys.md)
+ [OPS05-BP05 Durchführen der Patch-Verwaltung](ops_dev_integ_patch_mgmt.md)
+ [OPS05-BP06 Gemeinsame Design-Standards](ops_dev_integ_share_design_stds.md)
+ [OPS05-BP07 Implementieren von Verfahren zur Verbesserung der Codequalität](ops_dev_integ_code_quality.md)
+ [OPS05-BP08 Verwenden mehrerer Umgebungen](ops_dev_integ_multi_env.md)
+ [Häufige, kleine, umkehrbare Änderungen vornehmen:](ops_dev_integ_freq_sm_rev_chg.md)
+ [OPS05-BP10 Vollständige Automatisierung von Integration und Bereitstellung](ops_dev_integ_auto_integ_deploy.md)

# OPS05-BP01 Verwendung einer Versionskontrolle
<a name="ops_dev_integ_version_control"></a>

 Ermöglichen Sie die Verfolgung von Änderungen und Releases mithilfe einer Versionskontrolle. 

 Viele AWS-Services bieten Versionskontrollfunktionen. Verwenden Sie ein Revisions- oder Quellcodeverwaltungssystem wie [AWS CodeCommit,](https://aws.amazon.com/codecommit/) um Code und andere Artefakte zu verwalten, z. B. versionsgesteuerte [AWS CloudFormation](https://aws.amazon.com/cloudformation/) -Vorlagen Ihrer Infrastruktur. 

 **Gängige Antimuster:** 
+  Sie haben Ihren Code auf Ihrer Workstation entwickelt und gespeichert. Es ist ein Speicherfehler bei der Workstation aufgetreten, der nicht rückgängig gemacht werden kann, und Sie haben den Code verloren. 
+  Nachdem Sie den vorhandenen Code mit Ihren Änderungen überschrieben haben, starten Sie Ihre Anwendung neu, doch sie funktioniert nicht mehr. Sie können die Änderung nicht rückgängig machen. 
+  Sie arbeiten an einer Berichtsdatei, deshalb ist sie für alle anderen schreibgeschützt, doch ein anderer Benutzer möchte sie bearbeiten. Der Benutzer kontaktiert Sie und bittet darum, die Arbeit daran zu beenden, damit er seine Aufgabe erledigen kann. 
+  Ihr Forschungsteam arbeitet an einer detaillierten Analyse, die Ihre zukünftige Arbeit prägen wird. Jemand hat versehentlich seine Einkaufsliste über den endgültigen Bericht gespeichert. Sie können die Änderung nicht rückgängig machen und müssen den Bericht neu erstellen. 

 **Vorteile der Einführung dieser bewährten Methode:** Durch die Verwendung von Versionskontrollfunktionen können Sie problemlos auf einen bekanntermaßen funktionierenden Status bzw. frühere Versionen zurücksetzen und so das Risiko von verlorenen Assets begrenzen. 

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

## Implementierungsleitfaden
<a name="implementation-guidance"></a>
+  Versionskontrolle verwenden: Bewahren Sie Ressourcen in Repositorys mit Versionskontrolle auf. Dies ermöglicht die Nachvollziehung von Änderungen, die Bereitstellung neuer Versionen, die Erkennung von Änderungen an bestehenden Versionen und die Rückkehr zu vorherigen Versionen (zum Beispiel bei einem Fehler die Zurücksetzung auf einen bekanntermaßen funktionierenden Zustand). Integrieren Sie die Versionskontrollfunktionen Ihrer Konfigurationsverwaltungssysteme in Ihre Verfahren. 
  +  [Einführung in AWS CodeCommit](https://youtu.be/46PRLMW8otg) 
  +  [Was ist AWS CodeCommit?](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) 

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

 **Zugehörige Dokumente:** 
+  [Was ist AWS CodeCommit?](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) 

 **Relevante Videos:** 
+  [Einführung in AWS CodeCommit](https://youtu.be/46PRLMW8otg) 

# OPS05-BP02 Testen und Validieren von Änderungen
<a name="ops_dev_integ_test_val_chg"></a>

 Testen und validieren Sie Änderungen, um Fehler zu reduzieren und zu erkennen. Automatisieren Sie Tests, um Fehler aufgrund von manuellen Prozessen zu reduzieren und den Testaufwand zu verringern. 

 Viele AWS-Services bieten Versionskontrollfunktionen. Verwenden Sie ein Revisions- oder Quellcodeverwaltungssystem wie [AWS CodeCommit](https://aws.amazon.com/codecommit/) um Code und andere Artefakte zu verwalten, z. B. versionsgesteuerte [AWS CloudFormation](https://aws.amazon.com/cloudformation/) -Vorlagen Ihrer Infrastruktur. 

 **Gängige Antimuster:** 
+  Sie stellen Ihren neuen Code für die Produktion bereit und Kunden rufen an, weil Ihre Anwendung nicht mehr funktioniert. 
+  Sie wenden neue Sicherheitsgruppen an, um Ihre Umgebungssicherheit zu verbessern. Es funktioniert, jedoch mit unbeabsichtigten Konsequenzen, denn Ihre Benutzer können nicht mehr auf Ihre Anwendungen zugreifen. 
+  Sie ändern eine Methode, die von Ihrer neuen Funktion aufgerufen wird. Eine andere Funktion war ebenfalls von dieser Methode abhängig und funktioniert nicht mehr. Das Problem bleibt unbemerkt und wird in die Produktion aufgenommen. Die andere Funktion wird für einige Zeit nicht aufgerufen und schlägt schließlich in der Produktion fehl, ohne dass die Ursache klar wäre. 

 **Vorteile der Einführung dieser bewährten Methode:** Wenn Sie Änderungen frühzeitig testen und validieren, können Sie Probleme mit minimalen Kosten beheben und die Auswirkungen auf Ihre Kunden einschränken. Durch Tests vor der Bereitstellung minimieren Sie die Fehler. 

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

## Implementierungsleitfaden
<a name="implementation-guidance"></a>
+  Testen und Validieren von Änderungen: Sie sollten in allen Phasen des Lebenszyklus (zum Beispiel bei Entwicklung, Test und Produktion) die Änderungen testen und die Ergebnisse validieren. Prüfen Sie anhand der Testergebnisse neue Funktionen und minimieren Sie das Risiko und die Auswirkung fehlgeschlagener Bereitstellungen. Automatisieren Sie Testverfahren und Validierungen, um eine einheitliche Prüfung zu gewährleisten, Fehler aufgrund von manuellen Prozessen zu reduzieren und den Aufwand zu verringern. 
  +  [Was ist AWS CodeBuild?](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) 
  +  [Lokale Build-Unterstützung für AWS CodeBuild](https://aws.amazon.com/blogs/devops/announcing-local-build-support-for-aws-codebuild/) 

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

 **Zugehörige Dokumente:** 
+  [AWS-Entwicklertools](https://aws.amazon.com/products/developer-tools/) 
+  [Lokale Build-Unterstützung für AWS CodeBuild](https://aws.amazon.com/blogs/devops/announcing-local-build-support-for-aws-codebuild/) 
+  [Was ist AWS CodeBuild?](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) 

# OPS05-BP03 Einsatz von Systemen zur Konfigurationsverwaltung
<a name="ops_dev_integ_conf_mgmt_sys"></a>

 Verwenden Sie Systeme zur Konfigurationsverwaltung, um Änderungen vorzunehmen und zu verfolgen. Diese Systeme reduzieren Fehler aufgrund von manuellen Prozessen und verringern den Testaufwand. 

 Beim statischen Konfigurationsmanagement werden Werte festgelegt, wenn eine Ressource initialisiert wird, die erwartungsgemäß während der Lebensdauer der Ressource konsistent bleibt. Einige Beispiele sind die Konfiguration eines Web- oder Anwendungsservers auf einer Instance oder die Definition der Konfiguration eines AWS-Service innerhalb der [AWS-Managementkonsole](https://docs.aws.amazon.com/awsconsolehelpdocs/index.html) oder durch die [AWS CLI](https://aws.amazon.com/cli/). 

 Beim dynamischen Konfigurationsmanagement werden bei der Initialisierung Werte festgelegt, die sich während der Lebensdauer einer Ressource ändern können oder voraussichtlich ändern werden. So können Sie zum Beispiel durch eine Konfigurationsänderung eine Funktion in Ihrem Code aktivieren oder während eines Vorfalls den Detaillierungsgrad des Protokolls ändern, um mehr Daten zu erfassen, und dann nach dem Vorfall wieder zum Ursprungswert zurückkehren, um unnötige Protokolle und damit verbundene Kosten zu vermeiden. 

 Wenn Sie dynamische Konfigurationen in Ihren Anwendungen haben, die auf Instances, Containern, serverlosen Funktionen oder Geräten ausgeführt werden, können Sie [AWS AppConfig](https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html) zur Verwaltung und Bereitstellung in Ihren gesamten Umgebungen verwenden. 

 In AWS können Sie [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html) zur kontinuierlichen Überwachung Ihrer AWS-Ressourcenkonfigurationen [über Konten und Regionen hinweg verwenden](https://docs.aws.amazon.com/config/latest/developerguide/aggregate-data.html). So können Sie den Konfigurationsverlauf verfolgen, nachvollziehen, wie sich eine Konfigurationsänderung auf andere Ressourcen auswirkt, und sie mit den erwarteten oder gewünschten Konfigurationen mithilfe von [AWS-Config-Regeln](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) und [AWS Config Conformance Packs](https://docs.aws.amazon.com/config/latest/developerguide/conformance-packs.html)überprüfen. 

 In AWS können Sie CI/CD-Pipelines (Continuous Integration/Continuous Deployment) unter Verwendung von Services wie den [AWS-Entwicklertools](https://aws.amazon.com/products/developer-tools/) (z. B. AWS CodeCommit, [AWS CodeBuild](https://aws.amazon.com/codebuild/), [AWS CodePipeline](https://aws.amazon.com/codepipeline/), [AWS CodeDeploy](https://aws.amazon.com/codedeploy/)und [AWS CodeStar](https://aws.amazon.com/codestar/)) erstellen. 

 Legen Sie einen Änderungskalender an und verfolgen Sie, wann wichtige geschäftliche oder betriebliche Aktivitäten oder Ereignisse geplant sind, die durch die Implementierung von Änderungen beeinträchtigt werden könnten. Passen Sie Aktivitäten an, um Risiken im Zusammenhang mit diesen Plänen zu verwalten. [AWS Systems Manager Change Calendar](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar.html) bietet einen Mechanismus zum Dokumentieren von Zeitblöcken als offen oder geschlossen für Änderungen inklusive Grund und [gibt diese Informationen](https://docs.aws.amazon.com/systems-manager/latest/userguide/change-calendar-share.html) an andere AWS-Konten weiter. AWS Systems Manager Automation-Skripts können so konfiguriert werden, dass sie den Status des Änderungskalenders einhalten. 

 [AWS Systems Manager Maintenance Windows](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-maintenance.html) können verwendet werden, um die Leistung von AWS SSM Run Command- oder Automatisierungsskripts, AWS Lambda-Aufrufen oder AWS Step Functions-Aktivitäten zu bestimmten Zeiten zu planen. Markieren Sie diese Aktivitäten in Ihrem Kalender, damit sie in Ihre Auswertung aufgenommen werden können. 

 **Gängige Antimuster:** 
+  Sie aktualisieren die Konfigurationen aller Webserver manuell und eine Reihe von Servern reagiert aufgrund von Updatefehlern nicht mehr. 
+  Sie aktualisieren Ihre Anwendungsserver mehrere Stunden lang auf manuelle Weise. Die Inkonsistenz der Konfiguration während der Änderung führt zu unerwarteten Verhaltensweisen. 
+  Jemand hat Ihre Sicherheitsgruppen aktualisiert und auf Ihre Webserver kann nicht mehr zugegriffen werden. Sie wissen nicht, was geändert wurde, und verbringen viel Zeit mit der Suche nach dem Problem – die Zeit bis zur Wiederherstellung nimmt zu. 

 **Vorteile der Einführung dieser bewährten Methode:** Die Einführung von Konfigurationsverwaltungssystemen reduziert den Aufwand für die Durchführung und Nachverfolgung von Änderungen sowie die Häufigkeit der durch manuelle Verfahren verursachten Fehler. 

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

## Implementierungsleitfaden
<a name="implementation-guidance"></a>
+  Konfigurationsverwaltungssysteme verwenden: Verwenden Sie Systeme zur Konfigurationsverwaltung für die Nachverfolgung und Implementierung von Änderungen, Reduzierung von Fehlern, die durch manuelle Prozesse entstehen, und zur Verringerung des Aufwands. 
  +  [Verwaltung der Infrastrukturkonfiguration](https://aws.amazon.com/answers/configuration-management/aws-infrastructure-configuration-management/) 
  +  [AWS Config](https://aws.amazon.com/config/) 
  +  [Was ist AWS Config?](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html) 
  +  [Einführung in AWS CloudFormation](https://youtu.be/Omppm_YUG2g) 
  +  [Was ist AWS CloudFormation?](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 
  +  [AWS OpsWorks](https://aws.amazon.com/opsworks/) 
  +  [Was ist AWS OpsWorks?](https://docs.aws.amazon.com/opsworks/latest/userguide/welcome.html) 
  +  [Einführung in AWS Elastic Beanstalk](https://youtu.be/SrwxAScdyT0) 
  +  [Was ist AWS Elastic Beanstalk?](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/Welcome.html) 

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

 **Zugehörige Dokumente:** 
+  [AWS AppConfig](https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html) 
+  [AWS-Entwicklertools](https://aws.amazon.com/products/developer-tools/) 
+  [AWS OpsWorks](https://aws.amazon.com/opsworks/) 
+  [AWS Systems Manager Change Calendar](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar.html) 
+  [AWS Systems Manager Maintenance Windows](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-maintenance.html) 
+  [Verwaltung der Infrastrukturkonfiguration](https://aws.amazon.com/answers/configuration-management/aws-infrastructure-configuration-management/) 
+  [Was ist AWS CloudFormation?](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 
+  [Was ist AWS Config?](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html) 
+  [Was ist AWS Elastic Beanstalk?](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/Welcome.html) 
+  [Was ist AWS OpsWorks?](https://docs.aws.amazon.com/opsworks/latest/userguide/welcome.html) 

 **Relevante Videos:** 
+  [Einführung in AWS CloudFormation](https://youtu.be/Omppm_YUG2g) 
+  [Einführung in AWS Elastic Beanstalk](https://youtu.be/SrwxAScdyT0) 

# OPS05-BP04 Einsatz von Systemen zur Build- und Bereitstellungsverwaltung.
<a name="ops_dev_integ_build_mgmt_sys"></a>

 Verwenden Sie Systeme zur Build- und Bereitstellungsverwaltung. Diese Systeme reduzieren Fehler aufgrund von manuellen Prozessen und verringern den Testaufwand. 

 In AWS können Sie CI/CD-Pipelines (Continuous Integration/Continuous Deployment) unter Verwendung von Services wie den [AWS-Entwicklertools](https://aws.amazon.com/products/developer-tools/) (z. B. AWS CodeCommit, [AWS CodeBuild](https://aws.amazon.com/codebuild/), [AWS CodePipeline](https://aws.amazon.com/codepipeline/), [AWS CodeDeploy](https://aws.amazon.com/codedeploy/)und [AWS CodeStar](https://aws.amazon.com/codestar/)) erstellen. 

 **Gängige Antimuster:** 
+  Nachdem Sie Ihren Code auf Ihrem Entwicklungssystem kompiliert haben, kopieren Sie die ausführbare Datei auf Ihre Produktionssysteme und sie kann nicht gestartet werden. Die lokalen Protokolldateien zeigen an, dass die Ausführung aufgrund fehlender Abhängigkeiten fehlgeschlagen ist. 
+  Sie erstellen Ihre Anwendung erfolgreich mit neuen Funktionen in Ihrer Entwicklungsumgebung und übergeben den Code zur QA-Prüfung (Quality Assurance). Die QA-Prüfung schlägt fehl, da statische Komponenten fehlen. 
+  Am Freitag haben Sie Ihre Anwendung nach großem Aufwand manuell in Ihrer Entwicklungsumgebung erstellt, einschließlich der neu geschriebenen Funktionen. Am Montag können Sie die Schritte, mit denen Sie Ihre Anwendung erfolgreich erstellen konnten, nicht wiederholen. 
+  Sie führen die Tests durch, die Sie für den neuen Release erstellt haben. Sie verbringen die nächste Woche damit, eine Testumgebung einzurichten und alle vorhandenen Integrationstests durchzuführen, gefolgt von den Leistungstests. Der neue Code bewirkt eine inakzeptable Leistungsbeeinträchtigung und muss neu entwickelt und dann erneut getestet werden. 

 **Vorteile der Einführung dieser bewährten Methode:** Mithilfe von Mechanismen zur Verwaltung von Erstellungs- und Bereitstellungsaktivitäten reduzieren Sie den Aufwand für wiederholte Aufgaben, verschaffen Ihren Teammitgliedern die Zeit, sich auf ihre wichtigen Aufgaben zu konzentrieren, und begrenzen die Entstehung von Fehlern durch manuelle Verfahren. 

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

## Implementierungsleitfaden
<a name="implementation-guidance"></a>
+  Einsatz von Systemen zur Build- und Bereitstellungsverwaltung: Verwenden Sie Systeme zur Build- und Bereitstellungsverwaltung für die Verfolgung und Implementierung von Änderungen, die Reduzierung von Fehlern, die durch manuelle Prozesse entstehen, sowie zur Verringerung des Aufwands. Nutzen Sie eine vollständig automatisierte Integrations- und Bereitstellungs-Pipeline vom Einchecken des Codes über das Testen und die Bereitstellung bis hin zur Validierung. Dies verkürzt die Vorlaufzeit, ermöglicht häufigere Änderungen und verringert den Aufwand. 
  +  [Was ist AWS CodeBuild?](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) 
  +  [Best Practices der fortlaufenden Integration bei der Softwareentwicklung](https://www.youtube.com/watch?v=GEPJ7Lo346A) 
  +  [Slalom: CI/CD für Serverless Anwendungen in AWS](https://www.youtube.com/watch?v=tEpx5VaW4WE) 
  +  [Einführung in AWS CodeDeploy – automatisierte Softwarebereitstellung mit Amazon Web Services](https://www.youtube.com/watch?v=Wx-ain8UryM) 
  +  [Was ist AWS CodeDeploy?](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 

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

 **Zugehörige Dokumente:** 
+  [AWS-Entwicklertools](https://aws.amazon.com/products/developer-tools/) 
+  [Was ist AWS CodeBuild?](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) 
+  [Was ist AWS CodeDeploy?](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 

 **Relevante Videos:** 
+  [Best Practices der fortlaufenden Integration bei der Softwareentwicklung](https://www.youtube.com/watch?v=GEPJ7Lo346A) 
+  [Einführung in AWS CodeDeploy – automatisierte Softwarebereitstellung mit Amazon Web Services](https://www.youtube.com/watch?v=Wx-ain8UryM) 
+  [Slalom: CI/CD für Serverless Anwendungen in AWS](https://www.youtube.com/watch?v=tEpx5VaW4WE) 

# OPS05-BP05 Durchführen der Patch-Verwaltung
<a name="ops_dev_integ_patch_mgmt"></a>

 Führen Sie eine Patch-Verwaltung durch, um Funktionen zu erhalten, Probleme zu beheben und die Konformität mit der Governance zu gewährleisten. Automatisieren Sie die Patch-Verwaltung, um Fehler aufgrund von manuellen Prozessen zu reduzieren und den Aufwand für die Installation von Patches zu verringern. 

 Patch- und Schwachstellenmanagement sind Teil Ihrer Vorteile- und Risikomanagement-Aktivitäten. Es ist vorzuziehen, unveränderliche Infrastrukturen zu haben und Workloads in verifizierten bekannten guten Zuständen bereitzustellen. Wenn dies nicht realisierbar ist, ist das Patchen die verbleibende Option. 

 Das Aktualisieren von Computerabbildern, Container-Abbildern oder benutzerdefinierten Lambda-Laufzeiten [und zusätzlichen Bibliotheken,](https://docs.aws.amazon.com/lambda/latest/dg/security-configuration.html) um Schwachstellen zu entfernen, ist Teil der Patch-Verwaltung. Sie sollten Updates für [Amazon Machine Images](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html) (AMIs) für Linux- oder Windows Server-Images mit [EC2 Image Builder](https://aws.amazon.com/image-builder/)verwalten. Sie können [Amazon Elastic Container Registry](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html) mit Ihrer vorhandenen Pipeline verwenden, um [Amazon ECS Images](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ECR_on_ECS.html) und [Amazon EKS Images](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ECR_on_EKS.html)zu verwalten. AWS Lambda umfasst [Versionsverwaltungsfunktionen](https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html) . 

 Patches sollten nicht auf Produktionssystemen ohne erste Tests in einer sicheren Umgebung durchgeführt werden. Patches sollten nur angewendet werden, wenn sie ein betriebliches oder geschäftliches Ergebnis unterstützen. In AWS können Sie [AWS Systems Manager Patch Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-patch.html) verwenden, um das Patchen verwalteter Systeme zu automatisieren und die Aktivitäten mithilfe von [AWS Systems Manager Maintenance Windows](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-maintenance.html). 

 **Gängige Antimuster:** 
+  Sie erhalten den Auftrag, alle neuen Sicherheits-Patches innerhalb von zwei Stunden anzuwenden, was zu mehreren Ausfällen aufgrund der Anwendungsinkompatibilität mit bestimmten Patches führt. 
+  Eine ungepatchte Bibliothek hat unbeabsichtigte Folgen, weil unbekannte Personen Schwachstellen darin verwenden, um auf Ihren Workload zuzugreifen. 
+  Sie patchen die Entwicklerumgebungen automatisch, ohne die Entwickler zu benachrichtigen. Sie erhalten mehrere Beschwerden von den Entwicklern, dass ihre Umgebung nicht mehr wie erwartet funktioniert. 
+  Sie haben die kommerziell im Handel erhältliche Software auf einer persistenten Instance nicht gepatcht. Als ein Problem mit der Software auftritt und Sie sich an den Anbieter wenden, werden Sie darüber informiert, dass die Version nicht unterstützt wird und Sie bestimmte Patches installieren müssen, um Unterstützung zu erhalten. 
+  Ein kürzlich veröffentlichter Patch für Ihre verwendete Verschlüsselungssoftware bietet signifikante Leistungsverbesserungen. Ihr ungepatchtes System weist Leistungsprobleme auf, die bestehen bleiben, weil es nicht gepatcht ist. 

 **Vorteile der Einführung dieser bewährten Methode:** Durch die Einrichtung eines Patch-Verwaltungsprozesses, einschließlich Ihrer Patching-Kriterien und Bereitstellungsmethodik für Ihre Umgebungen, können Sie ihre Vorteile nutzen und ihre Auswirkungen kontrollieren. Dies ermöglicht das Übernehmen der gewünschten Merkmale und Funktionen, das Entfernen von Problemen und die kontinuierliche Compliance. Implementieren Sie Verwaltungssysteme und Automatisierung für Patches, um den Aufwand für die Bereitstellung von Patches zu reduzieren und Fehler zu begrenzen, die durch manuelle Prozesse verursacht werden. 

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

## Implementierungsleitfaden
<a name="implementation-guidance"></a>
+  Patch-Verwaltung: Installieren Sie auf Ihren Systemen Patches zur Behebung von Problemen, zur Erlangung der gewünschten Funktionen oder Fähigkeiten sowie zur kontinuierlichen Einhaltung der Governance-Richtlinien und der Anforderungen des Lieferantensupport. Nehmen Sie in unveränderlichen Systemen eine Bereitstellung mit einer geeigneten Patch-Gruppe vor, um das gewünschte Ergebnis zu erzielen. Automatisieren Sie den Mechanismus der Patch-Verwaltung, um die Patch-Zeit zu verkürzen, Fehler aufgrund von manuellen Prozessen zu reduzieren und den Aufwand für die Installation von Patches zu verringern. 
  +  [AWS Systems Manager Patch Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-patch.html) 

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

 **Zugehörige Dokumente:** 
+  [AWS-Entwicklertools](https://aws.amazon.com/products/developer-tools/) 
+  [AWS Systems Manager Patch Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-patch.html) 

 **Relevante Videos:** 
+  [CI/CD für Serverless Anwendungen in AWS](https://www.youtube.com/watch?v=tEpx5VaW4WE) 
+  [Design mit Blick auf die Ops](https://youtu.be/uh19jfW7hw4) 

   **Zugehörige Beispiele:** 
+  [Well-Architected Labs – Bestands- und Patch-Verwaltung](https://wellarchitectedlabs.com/operational-excellence/100_labs/100_inventory_patch_management/) 

# OPS05-BP06 Gemeinsame Design-Standards
<a name="ops_dev_integ_share_design_stds"></a>

 Tauschen Sie teamübergreifend bewährte Methoden aus, um das Bewusstsein zu schärfen und den Nutzen der Entwicklungsarbeit zu maximieren. 

 Auf AWS können Anwendung, Computing, Infrastruktur und Betrieb mit Hilfe von Code-Methoden definiert und verwaltet werden. Dadurch gestalten sich Veröffentlichungen, Freigaben und Einführungen ganz einfach. 

 Viele AWS-Services und -Ressourcen sind so ausgelegt, dass sie von mehreren Konten gemeinsam genutzt werden können. Dies ermöglicht es Ihnen, erstellte Assets und Erkenntnisse teamübergreifend freizugeben. Sie können beispielsweise [CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/cross-account.html) -Repositorys, [Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-permissions.html) -Funktionen, [Amazon S3-Buckets](https://aws.amazon.com/premiumsupport/knowledge-center/cross-account-access-s3/)und [AMIs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sharingamis-explicit.html) für bestimmte Konten freigeben. 

 Nutzen Sie beim Veröffentlichen neuer Ressourcen oder Aktualisierungen Amazon SNS, um [Benachrichtigungen über Konten hinweg](https://docs.aws.amazon.com/lambda/latest/dg/with-sns-example.html)zu veröffentlichen. Abonnenten können Lambda verwenden, um neue Versionen zu erhalten. 

 Wenn gemeinsame Standards in Ihrem Unternehmen durchgesetzt werden, ist es wichtig, dass Mechanismen vorhanden sind, um Ergänzungen, Änderungen und Ausnahmen von Standards zur Unterstützung der Teamaktivitäten anzufordern. Ohne diese Option werden Standards zu einer Einschränkung der Innovation. 

 **Gängige Antimuster:** 
+  Sie haben wie jedes der anderen Entwicklungsteams in Ihrem Unternehmen Ihren eigenen Benutzerauthentifizierungsmechanismus erstellt. Ihre Benutzer müssen für jeden Teil des Systems, auf den sie zugreifen möchten, eigene Anmeldeinformationen verwenden. 
+  Sie haben wie jedes der anderen Entwicklungsteams in Ihrem Unternehmen Ihren eigenen Benutzerauthentifizierungsmechanismus erstellt. Ihr Unternehmen erhält eine neue Compliance-Anforderung, die erfüllt werden muss. Jedes einzelne Entwicklungsteam muss jetzt die erforderlichen Ressourcen investieren, um die neue Anforderung zu erfüllen. 
+  Sie haben wie jedes der anderen Entwicklungsteams in Ihrem Unternehmen ein eigenes Bildschirmlayout erstellt. Ihre Benutzer beschweren sich über die Schwierigkeit, durch die inkonsistenten Oberflächen zu navigieren. 

 **Vorteile der Einführung dieser bewährten Methode:** Verwenden Sie gemeinsame Standards, um die Übernahme bewährter Methoden zu unterstützen und die Vorteile der Entwicklungsbemühungen zu maximieren, wenn Standards die Anforderungen für mehrere Anwendungen oder Organisationen erfüllen. 

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

## Implementierungsleitfaden
<a name="implementation-guidance"></a>
+  Gemeinsame Design-Standards: Tauschen Sie bestehende Best Practices, Design-Standards, Checklisten, Betriebsverfahren sowie Richtlinien und Governance-Anforderungen in Teams aus, um die Abläufe unkomplizierter zu gestalten und den Nutzen der Entwicklungsarbeit zu maximieren. Stellen Sie sicher, dass es Verfahren für die Beantragung von Änderungen, Ergänzungen und Ausnahmen von Design-Standards gibt. Auf diese Weise schaffen Sie Raum für kontinuierliche Verbesserungen und Innovationen. Sorgen Sie dafür, dass die Teams veröffentlichte Inhalte kennen, damit sie davon profitieren, weniger Überarbeitungen erforderlich sind und keine Ressourcen vergeudet werden. 
  +  [Delegieren des Zugriffs auf Ihre AWS-Umgebung](https://www.youtube.com/watch?v=0zJuULHFS6A&t=849s) 
  +  [Freigeben eines AWS CodeCommit-Repositorys](https://docs.aws.amazon.com/codecommit/latest/userguide/how-to-share-repository.html) 
  +  [Unkomplizierte Autorisierung von AWS Lambda-Funktionen](https://aws.amazon.com/blogs/compute/easy-authorization-of-aws-lambda-functions/) 
  +  [Freigeben eines AMI mit bestimmten AWS-Konten](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sharingamis-explicit.html) 
  +  [Schnelles Freigeben von Vorlagen mit einer AWS CloudFormation-Designer-URL](https://aws.amazon.com/blogs/devops/speed-template-sharing-with-an-aws-cloudformation-designer-url/) 
  +  [Verwenden von AWS Lambda mit Amazon SNS](https://docs.aws.amazon.com/lambda/latest/dg/with-sns-example.html) 

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

 **Zugehörige Dokumente:** 
+  [Unkomplizierte Autorisierung von AWS Lambda-Funktionen](https://aws.amazon.com/blogs/compute/easy-authorization-of-aws-lambda-functions/) 
+  [Freigeben eines AWS CodeCommit-Repositorys](https://docs.aws.amazon.com/codecommit/latest/userguide/how-to-share-repository.html) 
+  [Freigeben eines AMI mit bestimmten AWS-Konten](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sharingamis-explicit.html) 
+  [Schnelles Freigeben von Vorlagen mit einer AWS CloudFormation-Designer-URL](https://aws.amazon.com/blogs/devops/speed-template-sharing-with-an-aws-cloudformation-designer-url/) 
+  [Verwenden von AWS Lambda mit Amazon SNS](https://docs.aws.amazon.com/lambda/latest/dg/with-sns-example.html) 

 **Relevante Videos:** 
+  [Delegieren des Zugriffs auf Ihre AWS-Umgebung](https://www.youtube.com/watch?v=0zJuULHFS6A&t=849s) 

# OPS05-BP07 Implementieren von Verfahren zur Verbesserung der Codequalität
<a name="ops_dev_integ_code_quality"></a>

 Implementieren Sie Verfahren zur Verbesserung der Codequalität und Minimierung von Fehlern. Einige Beispiel sind testbasierte Entwicklungen, Codeprüfungen und die Einführung von Standards. 

 In AWS können Sie Services wie [Amazon CodeGuru](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/welcome.html) in Ihre Pipeline integrieren, um [potenzielle Code- und Sicherheitsprobleme](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/how-codeguru-reviewer-works.html) mithilfe von Programmanalyse und Machine Learning zu identifizieren. CodeGuru bietet Empfehlungen zur Implementierung der bewährten AWS-Methoden, um diese Probleme zu beheben. 

 **Gängige Antimuster:** 
+  Damit Sie Ihre Funktion früher testen können, haben Sie sich entschieden, Ihre standardmäßige Bibliothek für die Eingabekorrektur nicht zu integrieren. Nach dem Testen bestätigen Sie Ihren Code und vergessen dabei, die Bibliothek zu integrieren. 
+  Sie haben nur sehr wenig Erfahrung mit dem zu verarbeitenden Datensatz und wissen nicht, dass es eine Reihe von Grenzfällen gibt, die in diesem Datensatz vorhanden sein können. Diese Grenzfälle sind nicht mit dem Code kompatibel, den Sie implementiert haben. 

 **Vorteile der Einführung dieser bewährten Methode:** Durch die Übernahme von Methoden zur Verbesserung der Codequalität können Sie die Anzahl der Probleme minimieren, die bei der Produktion noch vorhanden sind. 

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

## Implementierungsleitfaden
<a name="implementation-guidance"></a>
+  Implementieren von Verfahren zur Verbesserung der Codequalität: Implementieren Sie Verfahren zur Verbesserung der Codequalität, um Fehler und das Risiko der Implementierung von Fehlern zu minimieren. Geeignete Maßnahmen sind zum Beispiel testbasierte Entwicklungen, Paarprogrammierung, Codeprüfungen und die Einführung von Standards. 
  +  [Amazon CodeGuru](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/welcome.html) 

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

 **Zugehörige Dokumente:** 
+  [Amazon CodeGuru](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/welcome.html) 

# OPS05-BP08 Verwenden mehrerer Umgebungen
<a name="ops_dev_integ_multi_env"></a>

 Verwenden Sie mehrere Umgebungen, um Ihren Workload auszuprobieren, zu entwickeln und zu testen. Verwenden Sie zunehmende Kontrollstufen, wenn Umgebungen sich der Produktion nähern, um sicherzustellen, dass Ihr Workload bei der Bereitstellung wie beabsichtigt funktioniert. 

 **Gängige Antimuster:** 
+  Sie führen die Entwicklung in einer gemeinsamen Entwicklungsumgebung durch und ein weiterer Entwickler überschreibt Ihre Codeänderungen. 
+  Die restriktiven Sicherheitskontrollen Ihrer gemeinsamen Entwicklungsumgebung verhindern, dass Sie mit neuen Services und Funktionen experimentieren können. 
+  Sie führen Belastungstests auf Ihren Produktionssystemen durch und verursachen einen Ausfall für Ihre Benutzer. 
+  In der Produktion ist ein kritischer Fehler aufgetreten, der zum Verlust von Daten geführt hat. In Ihrer Produktionsumgebung versuchen Sie, die Bedingungen, die zum Datenverlust geführt haben, nachzustellen, damit Sie die Ursache feststellen und beseitigen können. Um einen weiteren Datenverlust während des Testens zu verhindern, müssen Sie die Anwendung für Ihre Benutzer deaktivieren. 
+  Sie betreiben einen Mehrmandanten-Service und können eine Kundenanfrage nach einer eigenen Umgebung nicht erfüllen. 
+  Sie testen nicht immer, aber wenn, dann in der Produktion. 
+  Sie glauben, dass die Einfachheit einer einzelnen Umgebung die Auswirkungen von Änderungen innerhalb der Umgebung ausgleicht. 

 **Vorteile der Einführung dieser bewährten Methode:** Durch die Bereitstellung mehrerer Umgebungen können Sie gleichzeitig mehrere Entwicklungs-, Test- und Produktionsumgebungen unterstützen, ohne Konflikte zwischen Entwicklern oder User-Communities zu erzeugen. 

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

## Implementierungsleitfaden
<a name="implementation-guidance"></a>
+  Verwenden mehrerer Umgebungen: Stellen Sie den Entwicklern Sandbox-Umgebungen mit weniger Kontrollen zur Verfügung, in denen sie experimentieren können. Richten Sie individuelle Entwicklungsumgebungen ein, damit parallele Arbeit möglich ist. Dadurch steigern Sie die Agilität der Entwicklung. Implementieren Sie strengere Kontrollen erst in den Umgebungen, die kurz vor der Produktionsaufnahme stehen, damit Entwickler Innovationen schaffen können. Nutzen Sie die Infrastruktur als Code sowie Konfigurationsverwaltungssysteme, um Umgebungen bereitzustellen, die mit den in der Produktion vorhandenen Kontrollen einheitlich konfiguriert sind. Auf diese Weise können Sie sicherstellen, dass die Systeme bei der Bereitstellung wie erwartet funktionieren. Wenn Umgebungen nicht in Gebrauch sind, schalten Sie sie ab, um Kosten für ungenutzte Ressourcen zu vermeiden (z. B. Entwicklungssysteme am Abend und am Wochenende). Stellen Sie beim Belastungstest produktionsgleiche Umgebungen bereit, um stichhaltige Ergebnisse zu erzielen. 
  +  [Was ist AWS CloudFormation?](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 
  +  [Wie beende und starten ich Amazon EC2-Instances mit AWS Lambda in festgelegten Intervallen?](https://aws.amazon.com/premiumsupport/knowledge-center/start-stop-lambda-cloudwatch/) 

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

 **Zugehörige Dokumente:** 
+  [Wie beende und starten ich Amazon EC2-Instances mit AWS Lambda in festgelegten Intervallen?](https://aws.amazon.com/premiumsupport/knowledge-center/start-stop-lambda-cloudwatch/) 
+  [Was ist AWS CloudFormation?](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 

# Häufige, kleine, umkehrbare Änderungen vornehmen:
<a name="ops_dev_integ_freq_sm_rev_chg"></a>

 

 **Gängige Antimuster:** 
+  Sie stellen vierteljährlich eine neue Version Ihrer Anwendung bereit. 
+  Sie nehmen häufig Änderungen an Ihrem Datenbankschema vor. 
+  

 **Vorteile der Einführung dieser bewährten Methode:** 

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

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

# OPS05-BP10 Vollständige Automatisierung von Integration und Bereitstellung
<a name="ops_dev_integ_auto_integ_deploy"></a>

 Automatisieren Sie den Aufbau, die Bereitstellung und die Tests des Workloads. Dadurch werden Fehler aufgrund von manuellen Prozessen und der Aufwand für die Bereitstellung von Änderungen verringert. 

 Wenden Sie Metadaten mithilfe von [Ressourcen-Tags](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) und [AWS -Ressourcengruppen](https://docs.aws.amazon.com/ARG/latest/APIReference/Welcome.html) nach einer konsistenten [Markierungsstrategie an,](https://aws.amazon.com/answers/account-management/aws-tagging-strategies/) um die Identifizierung Ihrer Ressourcen zu ermöglichen. Versehen Sie Ihre Ressourcen mit Tags für Organisation, Kostenkalkulation, Zugriffssteuerung und Zielrichtung der Ausführung von automatisierten Betriebsaktivitäten. 

 **Gängige Antimuster:** 
+  Am Freitag schreiben Sie den neuen Code für Ihren Funktionszweig fertig. Am Montag, nach dem Ausführen Ihrer Skripts für die Codequalitätstests und einzelnen Komponententests, werden Sie Ihren Code für den nächsten geplanten Release überprüfen. 
+  Sie erhalten die Aufgabe, eine Korrektur für ein kritisches Problem zu schreiben, das sich auf eine große Anzahl von Kunden in der Produktion auswirkt. Nachdem Sie die Korrektur getestet haben, übergeben Sie Ihren Code und fordern beim Änderungsmanagenement die Bereitstellungsgenehmigung zur Produktion an. 

 **Vorteile der Einführung dieser bewährten Praxis:** Durch die Implementierung automatisierter Build- und Bereitstellungsverwaltungssysteme reduzieren Sie Fehler von manuellen Prozessen und den Aufwand für die Bereitstellung von Änderungen, sodass sich Ihre Teammitglieder auf die Wertschöpfung konzentrieren können. 

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

## Implementierungsleitfaden
<a name="implementation-guidance"></a>
+  Verwendung von Build- und Deployment-Management-Systemen: Verwenden Sie Build- und Deployment-Managementsysteme, um Änderungen zu verfolgen und zu implementieren, Fehler durch manuelle Prozesse zu reduzieren und den Aufwand zu verringern. Nutzen Sie eine vollständig automatisierte Integrations- und Bereitstellungs-Pipeline vom Einchecken des Codes über das Testen und die Bereitstellung bis hin zur Validierung. Dies verkürzt die Vorlaufzeit, ermöglicht häufigere Änderungen und verringert den Aufwand. 
  +  [Was ist AWS CodeBuild?](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) 
  +  [Best Practices der fortlaufenden Integration bei der Softwareentwicklung](https://www.youtube.com/watch?v=GEPJ7Lo346A) 
  +  [Slalom: CI/CD für serverlose Anwendungen auf ](https://www.youtube.com/watch?v=tEpx5VaW4WE) 
  +  [Einführung in die - automatische Softwareverteilung mit](https://www.youtube.com/watch?v=Wx-ain8UryM) 
  +  [Was ist AWS CodeDeploy?](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 

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

 **Verbundene Dokumente:** 
+  [Was ist AWS CodeBuild?](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) 
+  [Was ist AWS CodeDeploy?](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 

 **Verbundene Videos: ** 
+  [Best Practices der fortlaufenden Integration bei der Softwareentwicklung](https://www.youtube.com/watch?v=GEPJ7Lo346A) 
+  [Einführung in die - automatische Softwareverteilung mit](https://www.youtube.com/watch?v=Wx-ain8UryM) 
+  [Slalom: CI/CD für serverlose Anwendungen auf ](https://www.youtube.com/watch?v=tEpx5VaW4WE) 