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 5: Wie können Sie Fehler reduzieren, die Fehlerbehebung erleichtern und den Ablauf bis zur Produktion verbessern?

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.

Ressourcen

CI/CD for Serverless Applications on AWS
Design with Ops in Mind
AWS Developer Tools

Bewährte Methoden:

Verbesserungsplan

Einsatz einer Versionskontrolle

  • Einsatz einer Versionskontrolle: 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.
    Introduction to AWS CodeCommit
    What is AWS CodeCommit?
  • Testen und Validieren von Änderungen

  • 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.
    What is AWS CodeBuild?
    Local build support for AWS CodeBuild
  • Einsatz von Systemen zur Konfigurationsverwaltung

  • Einsatz von Systemen zur Konfigurationsverwaltung: 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.
    Infrastructure configuration management
    AWS Config
    What is AWS Config?
    Introduction to AWS CloudFormation
    What is AWS CloudFormation?
    AWS OpsWorks
    What is AWS OpsWorks?
    Introduction to AWS Elastic Beanstalk
    What is AWS Elastic Beanstalk?
  • Einsatz von Systemen zur Build- und Bereitstellungsverwaltung

  • 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?
  • Durchführen der Patch-Verwaltung

  • 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
  • Gemeinsame Design-Standards

  • 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.
    Delegating access to your AWS environment
    Share an AWS CodeCommit repository
    Easy authorization of AWS Lambda functions
    Sharing an AMI with specific AWS accounts
    Speed template sharing with an AWS CloudFormation designer URL
    Using AWS Lambda with Amazon SNS
  • Implementieren von Verfahren zur Verbesserung der Codequalität

  • 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.
  • Verwenden mehrerer Umgebungen

  • 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 die nötige Freiheit für Innovationen erhalten. 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.
    What is AWS CloudFormation?
    How do I stop and start Amazon EC2 instances at regular intervals using AWS Lambda?
  • Vornehmen kleiner, häufiger und umkehrbarer Änderungen

  • Vornehmen kleiner, häufiger und umkehrbarer Änderungen: Häufige, kleine und umkehrbare Änderungen verringern den Umfang und die Auswirkung einer Änderung. Dies erleichtert die Fehlersuche, ermöglicht eine schnellere Fehlerbehebung und bietet die Möglichkeit, eine Änderung zurückzusetzen. Außerdem profitiert Ihr Unternehmen schneller von neuen Entwicklungen.
  • 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?