Entwurfsprinzipien für operationale Exzellenz

Der Kern der Säule Operational Excellence sind DevOps-Methoden, die die Workloadqualität durch standardisierte Workflows und den Zusammenhalt des Teams sicherstellen. Diese Säule definiert Betriebsverfahren für Entwicklungsmethoden, Beobachtbarkeit und Releaseverwaltung. Das Ziel besteht darin, Die Prozessvarianz, die Wahrscheinlichkeit von menschlichem Fehler und störungen für Kunden zu minimieren. Beginnen Sie mit den folgenden Fragen, um Ihre Betriebsintegrität zu bewerten:

  • Führen Sie Vorgänge diszipliniert aus?
  • Verwenden Kunden die Workload mit maximaler Vorhersagbarkeit?
  • Wie lernen Sie aus Erfahrungen und gesammelten Daten, um eine kontinuierliche Verbesserung zu fördern?

Workloadvorgänge können sich in chaotische Praktiken verwandeln, wenn es keinen klaren Besitz oder keine klare Führung gibt. In dieser Art von Umgebung greifen Teams häufig auf Methoden zurück, die mit hohem Aufwand ausgeführt werden und niedrige Ergebnisse erzielen, was zu einer schlechten Benutzererfahrung führt. Diese Ansätze erfüllen nur kurzfristige Ziele. Langfristige Vorteile werden durch kontinuierliche Evaluation und strategische Investitionen realisiert.

Die Entwurfsprinzipien enthalten Richtlinien für operative Strategien, die berücksichtigt werden müssen, um die zugrunde liegenden Ursachen zu beheben und nicht nur Symptome zu behandeln. Beginnen Sie mit den empfohlenen Ansätzen, und beobachten Sie dann, was funktioniert und was nicht, um Verbesserungsbereiche zu identifizieren. Nachdem Sie Ihre Strategie festgelegt haben, fahren Sie mit der Operational Excellence-Checkliste fort, um maßnahmen zu ergreifen.

Die betrieblichen Anforderungen einer Workload sind ebenso wichtig wie die geschäftlichen Anforderungen. Effiziente Prozesse stellen sicher, dass die Workload Geschäftsergebnisse innerhalb der Complianceeinschränkungen erzielt, unabhängig davon, ob es sich um organisatorische oder externe Compliance handelt. Der Schlüssel besteht darin, die Wiederholbarkeit mit Konsistenz zu finden.

Das Ziel der Säule Operational Excellence ist es , das Richtige zu tun, es auf die richtige Weise zu tun und die richtigen Probleme als Team zu lösen.

Wenn Sie diese Ziele erreichen, werden Workloads auch in Zeiten von Veränderungen zuverlässig und vorhersagbar ausgeführt. Die Unfähigkeit, betriebliche Anforderungen zu erfüllen, kann zu fehlerhaften Bereitstellungen, inkonsistenter Benutzererfahrung und zusätzlichen Kosten führen, die durch eine ordnungsgemäße Planung und optimierte Ausführung hätten vermieden werden können.

DevOps-Kultur annehmen

Symbol Ermöglichen Sie Entwicklungs- und Betriebsteams, ihren Systementwurf und ihre Prozesse kontinuierlich zu verbessern, indem sie mit einer Denkweise der Zusammenarbeit, der gemeinsamen Verantwortung und des Besitzes zusammenarbeiten.

DevOps ist eine Praxisgemeinschaft, in der die Vielfalt der Perspektiven und Fähigkeiten zu einer Aufgabe führt. Teams müssen eine gemeinsame Umgebung mit geteiltem Wissen anstelle von isoliertem Lernen fördern. Verwenden Sie freigegebene Funktionen, um Ressourceneinschränkungen zu überwinden.

Eine gute DevOps-Kultur lebt von gemeinsamer Verantwortung. Entwicklungs- und Betriebsteams sollten ihre Ziele und Prioritäten an den Erwartungen ihrer Kunden ausrichten und den Geschäftsfokus im Auge behalten. Das Entwicklungsteam sollte das Betriebsteam in die Feedbackschleife einbeziehen, damit die Verbesserungen Upstream und andere Teams gleichermaßen profitieren. Umgekehrt sind Betriebsteams dafür verantwortlich, dass das Entwicklungsteam in seinen Geschäftsergebnissen erfolgreich ist, indem ressourcen- und feedbackbereit sind, die für die Workload relevant sind.

Gleichzeitig wenden DevOps-Methoden klare Besitz- und Rechenschaftslinien für jedes Team an. Unabhängig davon, wo die Anwendung ausgeführt wird, ist das Workloadteam für diese Anwendung verantwortlich.

DevOps optimiert operative Aufgaben so, dass sie effektiv, aber nicht belastend sind. Um den vollen Nutzen von DevOps zu nutzen, sollte die Kultur Prozesse durch Technologie optimieren und Prozesse für Menschen im organization zur Förderung einer transparenten Kommunikation haben.

Vorgehensweise Vorteile
Verwenden Sie gängige Systeme und Tools , die eine zusammenarbeitsorientierte Umgebung für die Kommunikation und das Nachverfolgen des Fortschritts fördern. Gemeinsame Tools und Prozesse ermöglichen eine transparente Kommunikation. Sowohl Entwicklungs- als auch Betriebsteams profitieren von Situationsbewusstsein in verschiedenen Umgebungen, allgemeinen Supportproblemen und allgemeinen Herausforderungen und Gewinnen.

Teams sind bereits mit vorhandenen Eskalationspfaden vertraut, wenn ein Vorfall vorliegt.

Ein freigegebenes Backlog macht Prioritäten, z. B. das Arbeiten an neuen Features oder das Beheben von Fehlern, klar.
Entwickeln Sie während des gesamten Entwicklungszyklus eine Denkweise für kontinuierliches Lernen und Experimentieren .

Unterstützen Sie den Austausch von Wissen über Teams hinweg, und verwalten Sie die Dokumentation zur Wiederverwendung.

Führen Sie tadellose Analysen und Überprüfungen nach der Veröffentlichung und/oder Nachbesprechung nach Vorfällen durch.
Durch Experimentiermechanismen, z. B. A/B-Tests und die Entwicklung von Proof of Concept, können Sie Innovationen fördern und gleichzeitig die Kosten niedrig halten.

Teilen Sie Wissen durch Zusammenarbeit, die das Team mit Entwurfsansätzen, Tools und Prozessen vertraut macht.

Die Durchführung von Retrospektiven nach einem Projekt hilft dabei , Bereiche für Verbesserungen zu identifizieren und Erfolge zu feiern.
Übernehmen Sie bewährte agile Branchenpraktiken , die sich auf die Aktionsoptimierung konzentrieren.

Suchen Sie nach Möglichkeiten zur "Linksverschiebung" im Betrieb für manuelle und automatisierte Prozesse, Bereitstellungs- und Qualitätssicherungspraktiken und Beobachtbarkeit.
Agile Entwicklungsmethoden führen zu kürzeren Releaselebenszyklus, die ein Indikator für den Geschäftswert sind.

Das Erkennen, Auflösen und damit Verhindern von Problemen früher ist oft weniger auf den Prozess eindringlich.
Setzen Sie Standards für alle Entwicklungs- und Betriebsabläufe, überprüfen und überprüfen Sie sie in regelmäßigen Abständen.

Zu diesen Verfahren gehören Routineaufgaben, Out-of-Band-Prozesse, Notfallübungen und -situationen, Auswahl von Tools, Überwachungsverfahren, Qualifikationspläne und sogar die Kommunikation mit Stakeholdern und Kundeninformationen.

Seien Sie bewusst und explizit bei Ihren Entscheidungen.
Standards verbessern die Vorhersagbarkeit von Vorgängen und sorgen dafür, dass Prozesse und Methoden skalierbar sind. Die Validierung von Standards ist eine hervorragende Möglichkeit, Verbesserungspunkte zu ziehen.

Seien Sie auf Notfall- und Wiederherstellungssituationen vorbereitet, indem Sie regelmäßige Übungen durchführen.

Führen Sie präzise aus, und ermöglichen Sie Governance, um Anomalien zu verhindern , die zu Risiken führen.
Profitieren Sie von zentralisierten Betriebsteams mit spezialisierten Fähigkeiten und einer breiten Erfahrung. Die Verwendung freigegebener Ressourcen für Vorgänge und Ressourcen hat einen Kostenvorteil.

Obwohl Sie Ihre Workload besitzen, hilft Ihnen das zentralisierte Team mit funktionsübergreifenden Fähigkeiten, z. B. incident management, einer proaktiven Perspektive auf die Überwachung und Outsourcing-Know-how mit Vertrauen.

Festlegen von Entwicklungsstandards

Symbol Optimieren Sie die Produktivität, indem Sie Entwicklungsmethoden standardisieren, Qualitätsgates erzwingen und Fortschritt und Erfolg durch systematisches Change Management nachverfolgen.

Das Entwicklungsteam ist dafür verantwortlich, Workloadprobleme vor der Veröffentlichung mit minimaler Reibung zu beheben. Achten Sie auf die Effizienz der Entwickler und optimieren Sie für schnelle Durchlaufzeiten, von der Codierung bis hin zu Testergebnissen. Implementieren Sie effektive und richtige Prozesse, die technische Aktivitäten planen und standardisieren und auch den Konsens innerhalb des Teams und der Projektbeteiligten fördern.

Vorgehensweise Vorteile
Dokumentieren von Workloadfeatures und Erfassen von Kundenvorteilen

Ableitung des Umfangs und detaillierter funktionaler und nicht funktionaler Anforderungen der Architektur.

Erstellen Sie Größenschätzungsmodelle , um den Umfang und die Kosten der betreffenden Aufgaben zu melden.
Durch gute Spezifikationen werden die Betriebskosten und die Fehlerchancen gesenkt , indem produktivere und optimierte Entwicklungszyklen unterstützt werden.

Entwickler verstehen den technischen Entwurf, die Ziele und die Abschlusskriterien, bevor sie mit dem Programmierzyklus beginnen.

Eine gute Dokumentation erleichtert die wiederholbare Kommunikation und das Onboarding neuer Teammitglieder.
Verwenden Sie eine Softwareentwicklungsmethode nach Branchenstandard, die entsprechend den Anforderungen Ihrer Workload und Ihrer Teamgröße abgestimmt ist.

Verwalten Sie ein Backlog, das von allen Rollen gemeinsam genutzt wird.
Die Einführung einer bekannten Methodik bestimmt den Rhythmus des Projekts. Es beseitigt Mehrdeutigkeiten von Prozessen, indem den Teammitgliedern klare Erwartungen und Verantwortlichkeiten gegeben werden.

Durch die Nachverfolgung anhand einer allgemeinen Liste können Aufgaben mit Standardmethoden verfeinert und priorisiert werden . Das Projekt wird bessere Chancen haben, rechtzeitig geliefert zu werden.

Standardmethoden helfen beim Risikomanagement. Mit präzisen Meilensteinüberprüfungen können Entwickler potenzielle Probleme beheben, bevor sie zu Showstoppern werden.
Verwenden Sie die einheitliche Quellcodeverwaltung für sämtlichen Code, Skripts, Bereitstellungsvorlagen, Pipelinedefinitionen und die zugehörige Dokumentation.

Die Verzweigungsstrategie muss die reibungslose Freigabe unabhängiger und voneinander abhängiger Features, Fehlerbehebungen und Hotfixes unterstützen.

Verwenden Sie gemeinsam genutztes Wissen im gesamten organization, um Ihre Verzweigungsstrategie und Bereitstellungsprozesse zu erstellen.
Die ordnungsgemäße Verwendung der Quellcodeverwaltung ist für die Unterstützung gleichzeitiger Änderungen und Versionsverwaltung von entscheidender Bedeutung.

Verwalten Sie einen wiederholbaren Workflow für die Freigabe von Änderungen verschiedener Größen und Risiken, führen Sie Peer-Reviews als Teil des Prozesses durch und führen Sie einen Überwachungspfad.
Sie verfügen über Qualitätssicherungsprozesse , bei denen das Testen frühzeitig im Entwicklungslebenszyklus hervorgehoben wird.

Schließen Sie alle Artefakte für geplante Testprozeduren ein, einschließlich Anwendungskomponenten, Infrastruktur und Datenebenenvorgängen, die Teil eines Featurerelease oder -updates sind.

Behandeln Sie Artefakte als unveränderlich, wenn sie durch Umgebungen gefördert werden, und gewinnen Sie bei jedem Durchlaufen eines Qualitätsgates Vertrauen.

Wo es praktisch ist, können Sie Routineprüfungen automatisieren.
Die Qualitätssicherung stellt sicher, dass funktionale und nicht funktionale Anforderungen mit Vertrauen erfüllt wurden, was zu positiven Kundenwirkungen führt.

Testpläne stellen Qualität und Vollständigkeit sicher und berücksichtigen mögliche Fehlerfälle.

Mit Quality Gates können Sie bewährte Methoden erzwingen, um Risiken zu reduzieren.

Unveränderlichkeit bringt Vertrauen, da sie sicherstellt, dass das von Ihnen getestete System genau das ist, was Sie freigeben.

Testzyklen blockieren den Fortschritt effizient, sofern die Qualitätskriterien nicht erfüllt sind.
Fördern Sie die Konsistenz mithilfe von Styleguides und Tools, die Konventionen erzwingen, und führen Sie eine gemeinsame Toolkette für Entwicklung, Tests und Kommunikation mit Projektbeteiligten ein.

Technologiestandards für Entwickler sollten die Implementierung von Mustern, API-Entwurf, Protokollierung, Ausnahmebehandlung und anderen Prozessen erfordern.
Konsistenz im Code sorgt für Lesbarkeit und einfachere Wartung. Außerdem wird die Komplexität reduziert und die Wiederverwendung von Code ermöglicht.

Gängige Tools und Konventionen helfen Teams auch bei der Optimierung von Prozessen, ohne dass sie auf einmalige Optionen eingehen müssen.
Konsequent und bewusst bestehen Sie auf der Entwicklerdokumentation des Codes, wie sie geschrieben ist. Eine klare Codedokumentation stellt sicher, dass Logik und Funktionalität leicht verständlich sind, wenn alter Code überarbeitet werden muss oder wenn Entwicklungsteams rotieren.
Melden Sie Fortschritte und Trends , um die Effizienz zu messen. Trends in Bezug auf Fehler, fehlerhafte Updates, Bereitstellungszeit, Feedbackschleifen und andere Metriken werden veröffentlicht, und dies führt zu Verbesserungen.

Weiterentwicklung von Vorgängen mit Beobachtbarkeit

Zielsymbol Verschaffen Sie sich Einblick in das System, gewinnen Sie Erkenntnisse und treffen Sie datengesteuerte Entscheidungen.

Erstellen Sie eine Kultur, die die Qualität kontinuierlich verbessert, indem Sie die Workload überwachen und alle Säulen des Azure Well-Architected Framework berücksichtigen. Ermöglichen Sie es dem Team und den Beteiligten, sowohl kurz- als auch langfristig Entscheidungen über viele Facetten hinweg zu treffen, indem Sie die erforderlichen Daten, Statistiken und Trends bereitstellen. Lernen Sie aus Ihren Daten und fördern Sie Verbesserungen.

Vorgänge, die für die Beobachtbarkeit erstellt wurden, sind der Schlüssel zur proaktiven Wartung der Anwendung, zur Qualität und Sicherheit, zur Kapazitätsplanung und zum Produktmanagement.

Ein wichtiger Aspekt der Überwachung ist die Anwendung, die Die Integritätsmodellierung verwendet, um Ihnen zu helfen, Probleme zu antizipieren, bevor sie zu Incidents werden und sich auf die Kundenerfahrung auswirken. Eine effiziente Überwachung reduziert reaktive Zyklen, die für die Incidentverwaltung aufgewendet werden.

Vorgehensweise Vorteile
Erstellen Sie ein Überwachungssystem mit einem eigenen Stapel und flows.

Behandeln Sie das Überwachungssystem als Eine Dimension der Workload, die von ihrem Hilfsprogramm entkoppelt ist. Der Stapel muss alle Ebenen abdecken, einschließlich Infrastruktur, Anwendungsintegrität sowie Build- und Releaseprozesse.

Das Erfassen oder Sampling von Geschäftsdaten ist für Implementierungen der Beobachtbarkeit nicht verfügbar.
Entkoppeln Sie Überwachungs- und Workloadstapel, um funktions- und beobachtbarkeitsanforderungen zu trennen und eine unabhängige Entwicklung zu ermöglichen. Änderungen im Code sollten sich nicht auf die Überwachung auswirken und umgekehrt.

Da die Beobachtbarkeitsanforderungen von funktionalen Anforderungen getrennt sind, werden Geschäftsdatennicht durch die Überwachung von Konfigurationsänderungen oder -ausfällen unterbrochen.
Steigern Sie die Konsistenz im Sammlungsprozess für jeden Datenquellentyp.

Standardisieren Sie die Instrumentierung im Code mithilfe von Branchenstandards für Telemetrie, Sammlung von Infrastrukturmetriken und Tools.
Konsistenz verhindert Abweichungen bei der Erfassung und Messung, da die Vertrautheit ähnlicher Ressourcen die Zeit für das Korrelieren und Analysieren von Daten reduziert. Sie haben eine ganzheitliche Perspektive, um Probleme zu antizipieren.

Geben Sie Telemetriedaten aus Anwendungscode aus, der die wichtigsten Punkte des Ausführungsablaufs korreliert und eine End-to-End-Ansicht mit unterschiedlichen Granularitätsebenen bietet. Priorisieren Sie Aktionen basierend auf dem Schweregrad, und verstehen Sie den Kontext aufgrund seiner Ausführlichkeit. Diese Informationen sind für die Problembehandlung von entscheidender Bedeutung.
Sie sind verantwortlich für das Ausgeben und Sammeln von Daten, auch wenn Datensenken von mehreren Teams gemeinsam genutzt und von zentralen Teams verwaltet werden. Durch Lokalisieren von Überwachungsdaten in der Workloadumgebung kann das Team auf Protokolle und Metriken zugreifen, um Workloadprobleme zu beheben.
Sammeln Sie gerade genug Daten , und bewahren Sie sie nur für genügend Zeit auf.

Berücksichtigen Sie die kostenbedingten Kompromisse im Zusammenhang mit der Protokollierung und Speicherung von Daten.
Die absichtliche Datenerfassung hilft Ihnen dabei, die finanziellen und operativen Kosten im Zusammenhang mit der Erfassung von mehr Daten zu optimieren, als Sie benötigen.

Minimieren Sie das Rauschen, vermeiden Sie intensive Berechnungen während der Analyse, und reduzieren Sie die Kosten für das Speichern von Daten, die Sie nicht mehr benötigen.
Unterscheiden Sie zwischen den verschiedenen Überwachungssignalen: Profile, Protokolle, Metriken und Ablaufverfolgungen. Verwenden Sie jedes Signal für den richtigen Zweck.

Priorisieren Sie die Verwendung von Metriken zum Auslösen von Aktionen , die auf numerischen Messungen basieren.

Verwenden Sie Profile, um eine geringere Sichtbarkeit des Systems zu erhalten, z. B. die Speicherzuordnung.

Reservieren Sie die Verwendung von Protokollen und Ablaufverfolgungen, um Kontext für Flows und Abhängigkeiten bereitzustellen.
Durch die Verwendung der Signale für die richtigen Zwecke können Sie eine ineffiziente Implementierung des Überwachungssystems verhindern.

Beispielsweise erfordert die Verwendung von Protokollen für Aktionen eine Analyse. Möglicherweise können Sie die gleichen Ziele mit Metriken schneller erreichen.
Aggregieren und visualisieren Sie Daten in Dashboards, um Überwachungsdaten zu präsentieren, die für Zielgruppen bestimmt sind und den Geschäftskontext im Auge behalten.

Verwenden Sie Situationsdashboards für die Darstellung von Daten, um das Bewusstsein der Beteiligten zu steigern.

Verwenden Sie operative Dashboards und Arbeitsmappen mit Drilldownfunktionen für Operatoraktivitäten wie Die Reaktion auf Vorfälle. Aktualisieren Sie häufig die Dashboards, und stellen Sie präzise Daten bereit.
Mit Visualisierungen können Sie Trends analysieren, Geschäftsziele nachverfolgen und Incidents verwalten.

Dashboards, die auf das Interesse des Kunden zugeschnitten sind, machen interpretationsrelevant und beschleunigen die Zeit bis zur Erkennung und Aktion.
Machen Sie Warnungen handlungsfähig , indem Sie die verantwortlichen Rollen mit standardisierten Beschreibungen und Schweregraden benachrichtigen. Stellen Sie Informationen bereit, die aus verschiedenen Quellen zusammengestellt sind, und verfolgen Sie Abweichungen von Geschäftszielen nach.

Lösen Sie Warnungen nur für Vorfälle aus, die eine Aktion erfordern.

Streben Sie nach proaktiven und zum Nachdenken anregenden Warnungen, die Aktionen initiieren, bevor ein beeinträchtigter Zustand zu einem Fehler wird.
Warnungen lenken die Aufmerksamkeit auf wichtige Ereignisse, die vom organization definiert werden.

Ein gutes Warnungssystem identifiziert Aktionen und Schweregrad und stellt gerade genug Daten bereit, um Klarheit und Zweck zu erzielen. Operatoren können mit der Behebung ohne Verzögerung beginnen.

Vertrauenswürdige Bereitstellung

Zielsymbol Erreichen Sie den gewünschten Bereitstellungsstatus mit Vorhersagbarkeit.

Erstellen Sie eine Workload-Lieferkette, mit der Sie das Ziel der Vorhersagbarkeit in allen Ihren Umgebungen konsistent erreichen können, und zwar über die Hostingplattformen, Anwendungen, Daten und Konfigurationsressourcen der Workload hinweg. Der Bereitstellungsmechanismus muss automatisierungs-, test-, überwachungs- und versionsverwaltungsfähig sein. Es sollte modularisiert und bei Bedarf ausgeführt werden. Es sollte nicht als monolithischer End-to-End-Prozess dargestellt werden. Die Lieferkette ist nicht notwendigerweise für eine schnellere Ausführung, sondern um Konsistenz und Selbstdokumentation über mehrere Iterationen zu erzielen.

Das Workloadteam ist für die Lieferkette verantwortlich, da es sich auf seine eigene Workload bezieht.

Vorgehensweise Vorteile
Verwenden Sie Infrastructure as Code (IaC), um die wiederholbaren Aspekte der Lieferkette zu definieren, die produktionsbereit sind.

Deklarative Ansätze gegenüber imperativen Methoden bevorzugen.
Deklarative IaC-Technologien werden unter Berücksichtigung von Automatisierung und Wiederverwendbarkeit entwickelt. Sie können Infrastrukturbereitstellungen von Einzelpersonen in Tools auslagern und eine konsistente Qualität erzielen.

Aus Sicht der Infrastruktur bedeutet eine geringere Auswahl an Technologie die Abweichung bei den Tools und erleichtert die Erkennung von Konfigurationsabweichungen. Die Wartung wird auch einfacher sein. Wenn Sie die Entscheidungen an den vorhandenen Fähigkeiten des Teams ausrichten, kann das Team sie problemlos übernehmen.
Bereiten Sie das Team auf die Verwendung der gewählten IaC-Technologie vor. Erfahren Sie mehr über das Erweiterbarkeitsmodell, die Funktionen und Einschränkungen.

Nutzen Sie die Spezialisierung innerhalb des Teams und das gemeinsame Wissen innerhalb der organization.
Upskilling erhöht die Produktivität und fördert eine Umgebung der Zusammenarbeit durch gemeinsames Lernen.

Sie können Lücken durch Schulungen schließen, anstatt sie einzustellen.
Befolgen Sie die Softwareempfehlungen für die Entwicklung und Wartung von IaC.

Modularisieren sie in Maßen. Vermeiden Sie benutzerdefinierte oder minderwertige Abstraktionen.

Folgen Sie einem mehrschichtigen Ansatz, um unterschiedliche Lebenszyklen widerzuspiegeln. Bilden Sie grundlegende Ebenen, in denen die unteren Ebenen konstant bleiben und die oberen Schichten sich nach Bedarf ändern.

Bereitstellungsartefakte, z. B. Anwendungsbinärdateien, IaC-Vorlagen und Parameter, sind Teil der Angriffsfläche. Wenden Sie Zusicherungen an, z. B. geheime Verwaltung, Zugriffssteuerung und andere Prinzipien der Säule Sicherheit.
Artefakte haben den gleichen Grad an Engineering-Rigorierung wie Anwendungscode. Qualitätskontrollen durch Peer Reviews und Tests geben Ihnen Vertrauen in die Bereitstellung.

Ein mehrstufiger Ansatz erleichtert die Wartung und schafft Grenzen, die klare Verantwortungslinien schaffen.

Das Hinzufügen von Sicherheitssteuerelementen zu Artefakten trägt dazu bei, das System während des Bereitstellungsprozesses zu härten.
Entwickeln Sie ein allgemeines Bereitstellungsmanifest , das in allen Umgebungen verwendet wird. Verwenden Sie dieses Manifest als Standardmechanismus für Greenfield-Projekte, inkrementelle Workloadupdates oder Notfallwiederherstellung. Entfernen Sie den Mehraufwand für die Verwaltung mehrerer Ressourcen.

Im Notfall ist die Wiederherstellung schnell und zuverlässig, da Sie ein bewährtes Manifest bereitstellen können, anstatt eine improvisierte Umgebung zu erstellen.
Streben Sie nach einer unveränderlichen und kurzlebigen Infrastruktur , die über die IaC-Automatisierung bereitgestellt wird. Verhindern Sie konfigurationsdrift, und machen Sie die Bereitstellung idempotent.

Diese Art von Infrastruktur beseitigt erhebliche betriebliche Belastungen, z. B. patchen. Darüber hinaus profitieren Sie von kernigen Validierungsszenarien, z. B. blau-grüne Infrastrukturbereitstellungen.

Hinweis

Reduzieren Sie den Umfang der Portalnutzung auf nicht wiederholte Ermittlungsaufgaben.

Automatisieren für Effizienz

ZielsymbolErsetzen Sie sich wiederholende manuelle Aufgaben durch Softwareautomatisierung , die sie schneller, mit größerer Konsistenz und Genauigkeit abschließt und Risiken verringert.

Die Workload kann Workflows mit Prozessen enthalten, bei denen Teammitglieder alltägliche, sich wiederholende und zeitaufwendige Aufgaben ausführen, die eigentlich keinen menschlichen Intellekt benötigen. Abhängig von der Häufigkeit können Sie viel Zeit für diese Anstrengungen aufwenden und mehr Zeit investieren, wenn die Workload wächst. Außerdem sind diese Prozesse aufgrund menschlicher Eingabe häufig fehleranfällig.

Durch Automatisierung sparen Sie Zeit, Aufwand und Geld und vermeiden Fehler.

Vorgehensweise Vorteile
Bewerten Sie alle Workflows anhand von Kriterien, die das richtige Maß an Komplexität, Aufwand, Häufigkeit, Genauigkeit, Aktualität und Lebensdauer aufweisen.

Automatisieren Sie Workflows basierend auf dieser Auswertung, und priorisieren Sie die Workflows mit den höchsten erwarteten Erträgen.

Entfernen Sie redundante Workflows , oder fügen Sie einen Mehrwert hinzu, um menschliche Anstrengungen zu rechtfertigen.
Sie können die Teamkapazität in arbeit mit höherem Wert reinvestieren und die Produktivität und Konsistenz steigern.

Durch das Erstellen einer Bestandsaufnahme von Workflows wird sichergestellt, dass Sie die richtigen Aufgaben automatisieren. Das Entfernen redundanter Aufgaben verringert die Komplexität und Fehler.
Geben Sie ihre Entscheidung explizit an, wenn Sie bewerten, ob Sie benutzerdefinierte Tools erstellen oder Software kaufen möchten.

Reservieren Sie Gebäudeautomation für hochspezialisierte und hochwertige Arbeiten.
Durch den Kauf von Standardsoftware und die Nutzung des Supportvertrags sparen Sie Wartungskosten.

Durch das Erstellen von Software haben Sie mehr Kontrolle und können Anwendungsfälle nutzen, die für Ihr Team und Ihre Workload einzigartig sind. Es gibt jedoch kostenwirksame Auswirkungen.

Die Wahl der Tools bringt ein Maß an Standardisierung für Ihre Vorgänge. Mit Schulungen können Sie ein einheitliches Maß an Bereitschaft zur Einführung erreichen.
Entwerfen Sie Ihre Workloadkomponenten so, dass sie Automatisierungsfunktionen unterstützen. Vermeiden Sie die Situation, in der der Mangel an Automatisierung bei Ihrem Systementwurf das Antimuster von sich wiederholenden Aufgaben fördert, das Wachstum verlangsamt und technische Schulden anhäuft.
Behandeln Sie die gesamte Automatisierung als kritische Abhängigkeit Ihrer Workload. Passen Sie sich an das erwartete Wachstum der Workload an.

Ihre Automatisierungstools sind ein integraler Bestandteil Ihrer Workload und sollten den fünf Well-Architected Framework-Säulen entsprechen.
Entwerfen Sie Ihre Automatisierungskomponente so, dass sie Risiken, z. B. Sicherheitsbedrohungen, standhält. Mit angewandten bewährten Methoden können Sie eine Zersiedelung der Implementierung vermeiden.

Die Workload wird weiterhin mit einer allgemeinen Garantie ausgeführt, wenn diese Abhängigkeit funktionsfähig und sicher bleibt.
Automatisieren Sie im großen Stil, indem Sie Optionen über Ihre Workload hinaus untersuchen.

Bevorzugen Sie ein Modell "Einmal entwerfen, überall ausführen", indem Sie Vorlagen und Frameworks bereitstellen, um neue Projekte zu integrieren und die Wiederverwendung vorhandener Designs und Implementierungen zu fördern.
Verwenden Sie bewährte Methoden und reduzieren Sie die Fehlerchancen.

Einführung sicherer Bereitstellungsmethoden

Zielsymbol Implementieren Sie Schutzplanken im Bereitstellungsprozess, um die Auswirkungen von Fehlern oder unerwarteten Bedingungen zu minimieren.

Während des Entwicklungszyklus durchlaufen Workloadartefakte viele Änderungen, wenn sie implementiert und getestet werden und fehler behoben werden.

Für den Bereitstellungsprozess muss ein Standardbetriebsverfahren ausgeführt werden. Jede Änderung muss mit der gleichen Strenge bereitgestellt werden. Dieses Prinzip gilt gleichermaßen für Code, Konfiguration und alle zugehörigen Artefakte. Der Schlüssel besteht darin, sichere Methoden so früh wie möglich anzuwenden, damit Sie in der Produktion vorhersagbar sind. Auch wenn Fehler die Kunden erreichen, sollten Sie in der Lage sein, Wiederherstellungsänderungen so schnell wie möglich bereitzustellen.

Vorgehensweise Vorteile
Standardisieren Sie den Prozess, um änderungen mithilfe automatisierter Bereitstellungsprozesse wie Pipelines bereitzustellen.

Alle Umgebungen müssen Pipelines verwenden.

Klassifizieren Sie Ressourcen und Versionen pro Umgebung, um sie leicht nachverfolgbar und identifizierbar zu machen.
Konsistente Bereitstellungsmethoden reduzieren Probleme, die durch Prozessfehler und Varianz verursacht werden, und ermöglichen es Ihnen, sich auf die Workloadprobleme zu konzentrieren.

Die Standardisierung stellt sicher, dass die Bereitstellung sicher, zuverlässig und wiederholbar abgeschlossen wird.

Die Klassifizierung erleichtert das Anzeigen von Protokollen früherer Bereitstellungen und aufgetretener Probleme. Möglicherweise können Sie diese Informationen verwenden, um Rollback- und Roll-Forward-Vorgänge zu beschleunigen.
Stellen Sie kleine inkrementelle Updates im regelmäßigen Rhythmus bereit. Häufige, gut getestete, kleine Updates erleichtern die Überprüfung des Releases.

Schnellere Problembehandlung mit minimalen Kundenbeeinträchtigungen aufgrund eines geringeren Platzbedarfs.
Testen Sie Updates sorgfältig, indem Sie während des gesamten Entwicklungslebenszyklus verschiedene Mechanismen verwenden. Erfassen Sie Probleme in den frühen Entwicklungsstadien. Iterative Korrekturen und konsistente Bereitstellungsmethoden führen dazu, dass sich Probleme verjüngen, wenn das Update für die Produktion bereit ist.
Rollout von Updates nach und nach mit der sorgfaltsrelevanten Sorgfalt.

Verwenden Sie Bereitstellungsmodelle, mit denen Sie die Kontrolle erhalten, um die Anzahl von Instanzen und Kunden schrittweise zu erhöhen , bis das Update sicher von allen übernommen wird.
Testen Sie jedes Update kontrolliert, damit Probleme frühzeitig in der Produktion behoben werden. Vermeiden Sie das Rollout eines fehlerhaften Updates, das sich auf Ihren gesamten Kundenstamm auswirkt.

Testen Sie, ob das Update abwärts- und vorwärtskompatibel ist.
Verfügen Sie über eine Entschärfungsstrategie, um nach Bereitstellungsfehlern schnell wiederherzustellen.

Die Strategie sollte sich auf die Entscheidungsfindung über ein Rollback oder -vorwärts basierend auf der Kritikalität des Problems beziehen.

Verfügen über klar definierte Prozesse und automatisierte Systeme , mit denen Korrekturen mithilfe der Standardbereitstellungspipelines schnell bereitgestellt werden können.
Reduzieren Sie die Dauer potenzieller Auswirkungen.

Stellen Sie das System wieder auf die vorherige funktionierende Version zurück, oder führen Sie ein Roll-Forward zu einer Version mit sorgfältig getesteten Korrekturen durch.
Verfügen Sie über einen Fallbackplan , der das System im Notfall auf einen funktionierenden Zustand zurücksetzt und nach unerwarteten Fehlern wiederhergestellt wird. Verwenden Sie diese Strategie nur bei Bedarf und mit Genehmigung.

Versuchen Sie, den Plan im Laufe der Zeit zu verbessern.
Sie können Korrekturen mit hoher Priorität, z. B. Sicherheitskorrekturen, schnell nachverfolgen.

Die beschleunigte Pipeline verfügt möglicherweise nicht über alle Überprüfungen Ihrer Standardbetriebsverfahren, aber Sie erhalten Kunden auf schnellstmögliche Weise zu einer sicheren Version, die überwiegt als Fehler mit geringeren Auswirkungen.

Nächste Schritte

Es wird empfohlen, die Checkliste für operationale Exzellenz zu überprüfen, um andere Konzepte zu erkunden.