Dieser Inhalt ist veraltet. Diese Version des Well-Architected Framework finden Sie jetzt unter: https://docs.aws.amazon.com/de_de/wellarchitected/2022-03-31/framework/operational-excellence.html

OPS 6: Wie können Sie Bereitstellungsrisiken eindämmen?

Verwenden Sie Ansätze, die ein schnelles Feedback zur Qualität liefern und eine umgehende Wiederherstellung des vorherigen Zustands nach Änderungen ermöglichen, die nicht zu den gewünschten Ergebnissen führen. Mit diesen Verfahren können Sie die Auswirkung von Problemen eindämmen, die durch die Bereitstellung von Änderungen entstehen.

Ressourcen

Deep Dive on Advanced Continuous Delivery Techniques Using AWS
AWS Developer Tools
AWS CodeDeploy User Guide
Try a Sample Blue/Green Deployment in AWS CodeDeploy

Bewährte Methoden:

Verbesserungsplan

Einkalkulieren nicht erfolgreicher Änderungen

  • Einkalkulieren nicht erfolgreicher Änderungen: Planen Sie Maßnahmen für die Rückkehr zu einem bekanntermaßen funktionierenden Zustand ("Rollback" der Änderung) oder die Korrektur in der Produktionsumgebung ("Rollforward" der Änderung) ein, falls eine Änderung nicht zum gewünschten Ergebnis führt. Falls Sie Änderungen finden, die im Fall eines Misserfolgs nicht zurückgesetzt werden können, seien Sie vor der Festschreibung der Änderung sehr vorsichtig.
  • Testen und Validieren von Änderungen

  • Testen und Validieren von Änderungen: Testen Sie Änderungen und validieren Sie die Ergebnisse in allen Phasen des Lebenszyklus, zum Beispiel in den Entwicklungs-, Test- und Produktionsphasen. Auf diese Weise können Sie neue Funktionen prüfen und das Risiko und die Auswirkungen fehlgeschlagener Bereitstellungen minimieren.
    AWS Cloud9
    What is AWS Cloud9?
    How to test and debug AWS CodeDeploy locally before you ship your code
  • Verwenden von Systemen zur Bereitstellungsverwaltung

  • Verwenden von Systemen zur Bereitstellungsverwaltung: Verwenden Sie Systeme zur Bereitstellungsverwaltung, um Änderungen zu verfolgen und zu implementieren. Dadurch reduzieren Sie Fehler aufgrund von manuellen Prozessen und verringern den Aufwand für die Bereitstellung von Änderungen. Automatisieren Sie die 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 noch weiter.
    Introduction to AWS CodeDeploy - automated software deployment with Amazon Web Services
    What is AWS CodeDeploy?
    What is AWS Elastic Beanstalk?
    What is Amazon API Gateway?
  • Testen mit begrenzten Bereitstellungen

  • Testen mit begrenzten Bereitstellungen: Führen Sie parallel zu den bestehenden Systemen Tests mit begrenzten Bereitstellungen durch, um vor der Gesamtbereitstellung zu prüfen, ob tatsächlich die gewünschten Ergebnisse erzielt werden. Führen Sie beispielsweise Tests mit Bereitstellungen in einer ausgewählten Gruppe oder in nur einem System durch.
    Working with deployment configurations in AWS CodeDeploy
    Blue/Green deployments with AWS Elastic Beanstalk
    Set up an API Gateway canary release deployment
  • Bereitstellung unter Verwendung paralleler Umgebungen

  • Bereitstellung unter Verwendung paralleler Umgebungen: Implementieren Sie Änderungen in parallelen Umgebungen und nehmen Sie dann einen Umstieg bzw. eine Umstellung auf die neue Umgebung vor. Behalten Sie die bisherige Umgebung, bis die erfolgreiche Bereitstellung sichergestellt ist. Dadurch verkürzt sich die Wiederherstellungszeit, da Sie jederzeit zur vorherigen Umgebung zurückkehren können. Verwenden Sie beispielsweise unveränderliche Infrastrukturen mit Blue/Green-Bereitstellungen.
    Working with deployment configurations in AWS CodeDeploy
    Blue/Green deployments with AWS Elastic Beanstalk
    Set up an API Gateway canary release deployment
  • Bereitstellen häufiger, kleiner und umkehrbarer Änderungen

  • Bereitstellen häufiger, kleiner und umkehrbarer Änderungen: Verringern Sie den Umfang einer Änderung durch häufige, kleine und umkehrbare Änderungen. Dies erleichtert die Fehlersuche und ermöglicht eine schnellere Korrektur, da die Möglichkeit besteht, eine Änderung zurückzusetzen.
  • Vollständige Automatisierung von Integration und Bereitstellung

  • 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.
    What is AWS CodeBuild?
    Continuous integration best practices for software development
    Slalom: CI/CD for serverless applications on AWS
    Introduction to AWS CodeDeploy - automated software deployment with Amazon Web Services
    What is AWS CodeDeploy?
  • Automatisieren von Tests und Rollback

  • Automatisieren von Tests und Rollback: Automatisieren Sie die Tests von bereitgestellten Umgebungen, um die gewünschten Ergebnisse sicherzustellen. Automatisieren Sie die Zurücksetzung auf einen zuvor bekanntermaßen funktionierenden Zustand, wenn die gewünschten Ergebnisse nicht erzielt werden. So können Sie die Wiederherstellungszeit minimieren und verringern Fehler, die durch manuelle Prozesse entstehen. Führen Sie beispielsweise nach der Bereitstellung detaillierte synthetische Benutzertransaktionen durch, überprüfen Sie die Ergebnisse und nehmen Sie bei einem Fehler eine Zurücksetzung vor.
    Redeploy and roll back a deployment with AWS CodeDeploy