

# OPS06-BP03 Einsetzen sicherer Bereitstellungsstrategien
<a name="ops_mit_deploy_risks_deploy_mgmt_sys"></a>

 Sichere Produktionseinführungen steuern den Fluss vorteilhafter Änderungen mit dem Ziel, die von den Kunden wahrgenommenen Auswirkungen dieser Änderungen zu minimieren. Die Sicherheitskontrollen bieten Prüfmechanismen, um die gewünschten Ergebnisse zu validieren und den Umfang der Auswirkungen von Fehlern zu begrenzen, die durch die Änderungen oder durch Fehler bei der Bereitstellung verursacht werden. Zu sicheren Rollouts können Strategien wie Feature-Flags, One-Box, Rolling (Canary-Releases), Immutable, Aufteilung des Datenverkehrs und Blau/Grün-Bereitstellungen gehören. 

 **Gewünschtes Ergebnis:** Ihr Unternehmen verwendet ein CI/CD-System (Continuous integration and continuous delivery, kontinuierliche Integration und kontinuierliche Bereitstellung), das Funktionen zur Automatisierung sicherer Rollouts bietet. Die Teams müssen angemessene sichere Rollout-Strategien anwenden. 

 **Typische Anti-Muster:** 
+  Sie stellen eine nicht erfolgreiche Änderung für die gesamte Produktion gleichzeitig bereit. Infolgedessen sind alle Kunden gleichzeitig betroffen. 
+  Ein Fehler, der bei einer gleichzeitigen Bereitstellung in allen Systemen auftritt, erfordert ein Notfall-Release. Die Korrektur für alle Kunden dauert mehrere Tage. 
+  Die Verwaltung der Produktionseinführung erfordert die Planung und Beteiligung mehrerer Teams. Dies schränkt Ihre Fähigkeit ein, Funktionen für Ihre Kunden häufig zu aktualisieren. 
+  Sie führen eine veränderbare Bereitstellung durch, indem Sie Ihre vorhandenen Systeme ändern. Nachdem Sie festgestellt haben, dass die Änderung nicht erfolgreich war, müssen Sie die Systeme erneut ändern, um die alte Version wiederherzustellen, was die Wiederherstellungsdauer verlängert. 

 **Vorteile der Nutzung dieser bewährten Methode:** Automatisierte Bereitstellungen sorgen für ein ausgewogenes Verhältnis zwischen der Geschwindigkeit der Bereitstellungen und der konsistenten Bereitstellung nützlicher Änderungen für die Kunden. Die Begrenzung der Auswirkungen verhindert kostspielige Bereitstellungsfehler und maximiert die Fähigkeit der Teams, effizient auf Ausfälle zu reagieren. 

 **Risikostufe bei fehlender Befolgung dieser Best Practice:** Mittel 

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

 Ausfälle bei der kontinuierlichen Bereitstellung können zu einer verringerten Serviceverfügbarkeit und schlechten Kundenerfahrungen führen. Um die Anzahl erfolgreicher Implementierungen zu maximieren, sollten Sie im gesamten Release-Prozess Sicherheitskontrollen zur Minimierung von Bereitstellungsfehlern implementieren. Das Ziel sollte dabei sein, dass keine Bereitstellungsfehler auftreten. 

 **Kundenbeispiel** 

 AnyCompany Retail möchte Bereitstellungen mit minimalen bis gar keinen Ausfallzeiten erreichen, d. h. es soll während der Bereitstellung keine spürbaren Auswirkungen für die Benutzer geben. Um dies zu erreichen, hat das Unternehmen Bereitstellungsmuster festgelegt, z. B. fortlaufende und Blau/Grün-Bereitstellung (siehe nachfolgendes Workflow-Diagramm). Alle Teams übernehmen eines oder mehrere dieser Muster in ihre CI/CD-Pipeline. 


| CodeDeploy-Workflow für Amazon EC2 | CodeDeploy-Workflow für Amazon ECS | CodeDeploy-Workflow für Lambda | 
| --- | --- | --- | 
|  ![\[Ablauf des Bereitstellungsprozesses für Amazon EC2\]](http://docs.aws.amazon.com/de_de/wellarchitected/2023-10-03/framework/images/deployment-process-ec2.png)  |  ![\[Ablauf des Bereitstellungsprozesses für Amazon ECS\]](http://docs.aws.amazon.com/de_de/wellarchitected/2023-10-03/framework/images/deployment-process-ecs.png)  |  ![\[Ablauf des Bereitstellungsprozesses für Lambda\]](http://docs.aws.amazon.com/de_de/wellarchitected/2023-10-03/framework/images/deployment-process-lambda.png)  | 

### Implementierungsschritte
<a name="implementation-steps"></a>

1.  Verwenden Sie einen Genehmigungsworkflow, um die Reihenfolge der Produktionseinführungsschritte nach der Beförderung zur Produktion einzuleiten. 

1.  Verwenden Sie ein automatisiertes Bereitstellungssystem wie [AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html). AWS CodeDeploy- [Bereitstellungsoptionen](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-steps.html) schließen lokale Bereitstellungen für EC2/On-Premises und Blau/Grün-Bereitstellungen für EC2/On-Premises ein, AWS Lambda und Amazon ECS (siehe vorhergehendes Workflow-Diagramm). 

   1.  Wo zutreffend, [integrieren Sie AWS CodeDeploy in andere AWS-Services](https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws.html) oder [integrieren Sie AWS CodeDeploy in Produkte und Services von Partnern](https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-partners.html). 

1.  Verwenden Sie Blau/Grün-Bereitstellungen für Datenbanken wie [Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/blue-green-deployments.html) und [Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/blue-green-deployments.html). 

1.  [Überwachen Sie Bereitstellungen](https://docs.aws.amazon.com/codedeploy/latest/userguide/monitoring.html) mithilfe von Ereignisbenachrichtigungen von Amazon CloudWatch, AWS CloudTrail und Amazon SNS. 

1.  Führen Sie nach der Bereitstellung automatisierte Tests durch, einschließlich Funktions-, Sicherheits-, Regressions-, Integrations- und Auslastungstests. 

1.  [Behandlung von](https://docs.aws.amazon.com/codedeploy/latest/userguide/troubleshooting.html) Problemen bei der Bereitstellung. 

 **Aufwand für den Implementierungsplan:** Mittel 

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

 **Zugehörige bewährte Methoden:** 
+  [OPS05-BP02 Testen und Validieren von Änderungen](ops_dev_integ_test_val_chg.md) 
+  [OPS05-BP09 Häufige, kleine, reversible Ä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) 

 **Zugehörige Dokumente:** 
+ [AWS Builders' Library \$1 Automatisierung sicherer, vollautomatischer Bereitstellungen \$1 Produktionsbereitstellungen ](https://aws.amazon.com/builders-library/automating-safe-hands-off-deployments/?did=ba_card&trk=ba_card#Production_deployments)
+ [AWS Builders' Library \$1 Meine CI/CD-Pipeline ist mein Release Captain \$1 Sichere, automatische Produktionseinführungen](https://aws.amazon.com//builders-library/cicd-pipeline/#Safe.2C_automatic_production_releases)
+ [AWS-Whitepaper \$1 Durchführung von dauerhafter Integration/dauerhafter Bereitstellung in AWS \$1 Bereitstellungsmethoden](https://docs.aws.amazon.com/whitepapers/latest/practicing-continuous-integration-continuous-delivery/deployment-methods.html)
+ [AWS CodeDeploy-Benutzerhandbuch](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html)
+ [Arbeiten mit Bereitstellungskonfigurationen in AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html)
+ [Einrichten einer API Gateway-Canary-Bereitstellung als Release ](https://docs.aws.amazon.com/apigateway/latest/developerguide/canary-release.html)
+ [Amazon ECS-Bereitstellungstypen](https://docs.aws.amazon.com/)
+ [Vollständig verwaltete Blau/Grün-Bereitstellungen in Amazon Aurora und Amazon RDS](https://aws.amazon.com/blogs/aws/new-fully-managed-blue-green-deployments-in-amazon-aurora-and-amazon-rds/)
+ [Blau/Grün-Bereitstellungen mit AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.CNAMESwap.html)

 **Zugehörige Videos:** 
+ [re:Invent 2020 \$1 Hands-off: Automating continuous delivery pipelines at Amazon (re:Invent 2020 \$1 Vollständige Automatisierung: Automatisieren der Pipelines für kontinuierliche Bereitstellung bei Amazon)](https://www.youtube.com/watch?v=ngnMj1zbMPY)
+ [re:Invent 2019 \$1 Amazon’s approach to high-availability deployment (re:Invent 2019 \$1 Der Amazon-Ansatz für die Hochverfügbarkeitsbereitstellung)](https://www.youtube.com/watch?v=bCgD2bX1LI4)

 **Zugehörige Beispiele:** 
+ [Testen einer Blau/Grün-Bereitstellung in AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/applications-create-blue-green.html)
+ [Workshop \$1 Erstellen von CI/CD-Pipelines für Lambda-Canary-Bereitstellungen mit AWS CDK](https://catalog.us-east-1.prod.workshops.aws/workshops/5195ab7c-5ded-4ee2-a1c5-775300717f42/en-US)
+ [Workshop \$1 Blue/Green and Canary Deployment for EKS and ECS (Workshop \$1 Blau/Grün- und Canary-Bereitstellungen für EKS und ECS)](https://catalog.us-east-1.prod.workshops.aws/workshops/2175d94a-cd79-4ed2-8e7e-1f0dd1956a3a/en-US)
+ [Workshop \$1 Building a Cross-account CI/CD Pipeline (Erstellen einer kontenübergreifenden CI/CD-Pipeline)](https://catalog.us-east-1.prod.workshops.aws/workshops/00bc829e-fd7c-4204-9da1-faea3cf8bd88/en-US)