

# 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/Continuous Delivery, kontinuierliche Integration/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, Features 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, wenn diese bewährte Methode nicht eingeführt wird:** 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-Bereitstellungen (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/latest/operational-excellence-pillar/images/deployment-process-ec2.png)  |  ![\[Ablauf des Bereitstellungsprozesses für Amazon ECS\]](http://docs.aws.amazon.com/de_de/wellarchitected/latest/operational-excellence-pillar/images/deployment-process-ecs.png)  |  ![\[Ablauf des Bereitstellungsprozesses für Lambda\]](http://docs.aws.amazon.com/de_de/wellarchitected/latest/operational-excellence-pillar/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). Die [Bereitstellungsoptionen](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-steps.html) von AWS CodeDeploy schließen lokale Bereitstellungen für EC2/On-Premises und Blau/Grün-Bereitstellungen für EC2/On-Premises, AWS Lambda und Amazon ECS ein (siehe vorhergehendes Workflow-Diagramm). 

   1.  [Integrieren Sie AWS CodeDeploy gegebenenfalls 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 Amazon CloudWatch, AWS CloudTrail und Amazon Simple Notiﬁcation Service (Amazon SNS)-Ereignisbenachrichtigungen. 

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

1.  Führen Sie die [Fehlersuche](https://docs.aws.amazon.com/codedeploy/latest/userguide/troubleshooting.html) bei Problemen mit der Bereitstellung aus. 

 **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 Nehmen Sie häufige, kleine, reversible Änderungen vor](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 Continuous Integration und Continuous Delivery 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-Release-Bereitstellung ](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 Vollständige Automatisierung: Automatisieren der Pipelines für kontinuierliche Bereitstellung bei Amazon](https://www.youtube.com/watch?v=ngnMj1zbMPY)
+ [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-Beispielbereitstellung in AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/applications-create-blue-green.html)
+ [ Workshop \$1 Entwicklung von CI/CD-Pipelines für Lambda-Canary-Bereitstellungen mit AWS CDK](https://catalog.workshops.aws/cdk-cicd-for-lambda-canary-deployment/en-US) 
+ [ Workshop \$1 Entwicklung Ihrer ersten DevOps-Blue/Green-Pipeline mit Amazon ECS ](https://catalog.us-east-1.prod.workshops.aws/workshops/4b59b9fb-48b6-461c-9377-907b2e33c9df/en-US)
+ [ Workshop \$1 Entwicklung Ihrer ersten DevOps-Blue/Green-Pipeline mit Amazon EKS ](https://catalog.us-east-1.prod.workshops.aws/workshops/4eab6682-09b2-43e5-93d4-1f58fd6cff6e/en-US)
+ [ Workshop \$1 EKS GitOps mit ArgoCD ](https://catalog.workshops.aws/eksgitops-argocd-githubactions)
+ [ Workshop \$1 CI/CD in AWS Workshop ](https://catalog.workshops.aws/cicdonaws/en-US)
+ [ Implementierung von kontenübergreifendem CI/CD mit AWS SAM für containerbasierte Lambda-Funktionen ](https://aws.amazon.com/blogs/compute/implementing-cross-account-cicd-with-aws-sam-for-container-based-lambda/)