Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Im Kern der Säule "Operational Excellence" sind DevOps-Praktiken, die die Arbeitsauslastungsqualität durch standardisierte Workflows und Teamzusammenhalt gewährleisten. Diese Säule definiert Betriebsverfahren für Entwicklungspraktiken, Observability und Release Management. Ziel ist es, Prozessabweichungen, die Wahrscheinlichkeit menschlicher Fehler und Störungen für Kunden zu minimieren. Stellen Sie sich zunächst die folgenden Fragen, um Ihre Betriebsintegrität zu bewerten:
- Werden Vorgänge diszipliniert ausgeführt?
- Verwenden Kunden die Workload mit maximaler Vorhersagbarkeit?
- Wie lassen Sie Erfahrungen und gesammelte Daten in kontinuierliche Verbesserungen einfließen?
Workloadvorgänge können zu chaotischen Praktiken werden, wenn keine klare Verantwortung oder Führung übernommen wird. In derartigen Umgebungen greifen Teams häufig auf Methoden zurück, die einen hohen Aufwand erfordern, aber nicht sehr ergebnisreich sind. Dies führt zu einer schlechten Benutzererfahrung. Diese Strategien erfüllen nur kurzfristige Ziele. Langfristige Vorteile werden durch kontinuierliche Bewertung und strategische Investitionen realisiert.
Die Designprinzipien enthalten Richtlinien für operative Strategien, die berücksichtigt werden müssen, um die zugrunde liegenden Ursachen zu behandeln 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 Checkliste "Operational Excellence" fort, um Maßnahmen zu ergreifen.
Die betrieblichen Anforderungen einer Workload sind genauso wichtig wie ihre geschäftlichen Anforderungen. Effiziente Prozesse gewährleisten, dass die Workload Geschäftsergebnisse innerhalb der Complianceeinschränkungen erreicht, unabhängig davon, ob es sich um innerbetriebliche oder externe Vorschriften für die Compliance handelt. Der Schlüssel besteht darin, Wiederholbarkeit mit Einheitlichkeit herzustellen.
Die Ziele der Operational Excellence-Säule sind es, das Richtige zu tun, es auf den richtigen Weg zu tun und die richtigen Probleme als Team zu lösen.
Wenn Sie diese Ziele erreichen, werden Workloads auch dann zuverlässig und vorhersehbar ausgeführt, wenn Änderungen auftreten. Die Unfähigkeit, betriebliche Anforderungen zu erfüllen, kann zu fehlgeschlagenen Bereitstellungen, inkonsistenter Benutzererfahrung und zusätzlichen Kosten führen, die durch eine ordnungsgemäße Planung und optimierte Ausführung vermieden werden konnten.
Annehmen der DevOps-Kultur
|
---|
DevOps ist eine Community of Practice, in der die Vielfalt der Perspektiven und Fähigkeiten auf eine gemeinsame Mission ausgerichtet ist. Teams müssen eine gemeinsame Umgebung von geteiltem Wissen fördern , anstatt isoliertes Lernen. Verwenden Sie gemeinsam genutzte Funktionen, um Ressourcenbeschränkungen zu überwinden.
Eine gute DevOps-Kultur lebt von der gemeinsamen Verantwortung. Die Entwicklungs- und Betriebsteams sollten ihre Ziele und Prioritäten an den Erwartungen ihrer Kund*innen ausrichten und den geschäftlichen Fokus im Auge behalten. Das Entwicklungsteam sollte das Betriebsteam in die Feedbackschleife einbeziehen, damit die Verbesserungen vorangetrieben werden und andere Teams gleichermaßen davon profitieren. Umgekehrt sind die Betriebsteams dafür verantwortlich, dass das Entwicklungsteam bei seinen Geschäftsergebnissen erfolgreich ist, indem es Ressourcen und Feedback, die für die Workload relevant sind, weitergibt.
Gleichzeitig wenden DevOps-Methoden klare Eigentums- und Rechenschaftspflicht für jedes Team an. Unabhängig davon, wo die Anwendung ausgeführt wird, ist das Workload-Team für diese Anwendung zuständig.
DevOps optimiert betriebliche Vorgänge so, dass sie effektiv, aber nicht aufwändig sind. Um die Vorteile von DevOps voll ausschöpfen zu können, sollte die Kultur Prozesse durch Technologie optimieren und über Prozesse für die Menschen in der Organisation verfügen, um eine transparente Kommunikation zu fördern.
Vorgehensweise | Vorteile |
---|---|
Verwenden Sie allgemeine Systeme und Tools , die eine kollaborative Umgebung zur Kommunikation und zum Nachverfolgen des Fortschritts fördern. | Gemeinsame Tools und Prozesse ermöglichen eine transparente Kommunikation. Sowohl die Entwicklungs- als auch die Betriebsteams profitieren von der Kenntnis der Situation in den verschiedenen Umgebungen, von gemeinsamen Support-Problemen und den allgemeinen Herausforderungen und Erfolgen. Im Falle eines Incidents sind die Teams bereits mit den bestehenden Eskalationswegen vertraut. Ein gemeinsames Backlog macht die Prioritäten, wie die Arbeit an neuen Funktionen oder die Behebung von Fehlern, deutlich. |
Bauen Sie im gesamten Entwicklungszyklus eine kontinuierliche Lern- und Experimentier-Denkweise auf. Unterstützen Sie den Wissensaustausch über Teams hinweg, und verwalten Sie dokumentationen für die Wiederverwendung. Führen Sie unvoreingenommene Analysen und Nachbesprechungen nach der Veröffentlichung und/oder nach dem Vorfall durch. |
Durch Experimentiermechanismen wie A/B-Tests und die Entwicklung von Machbarkeitsstudien können Sie Innovationen fördern und gleichzeitig die Kosten niedrig halten. Teilen Sie Ihr Wissen durch Zusammenarbeit, um das Team in Bezug auf Designansätze, Werkzeuge und Prozesse zu schulen. Durch Retrospektiven nach einem Projekt können Verbesserungsbereiche identifiziert und Erfolg gefeiert werden. |
Einführen bewährter agiler Praktiken der Branche , die sich auf die Optimierung von Aktionen konzentrieren. Suchen Sie nach Shift-Left-Möglichkeiten in Vorgängen für manuelle und automatisierte Prozesse, Bereitstellungs- und Qualitätssicherungsmethoden und Einblicke. |
Agile Entwicklungspraktiken führen zu kürzeren Veröffentlichungszyklen, die ein Indikator für den Geschäftlichen Wert sind. Das Erkennen, Beheben und damit Verhindern früherer Probleme ist oft weniger intrusiv für den Prozess. |
Legen Sie Standards für alle Entwicklungs- und Betriebsabläufe fest, und überprüfen Sie sie in regelmäßigen Abständen. Zu diesen Abläufen gehören Routineaufgaben, Out-of-Band-Prozesse, Notfallübungen und -situationen, die Auswahl von Tools, Überwachungsverfahren, Qualifizierungspläne und sogar die Kommunikation mit Projektbeteiligten und die Offenlegung von Kundeninformationen. Seien Sie absichtlich und explizit in Ihren Entscheidungen. |
Standards machen Vorgänge vorhersehbar und machen Prozesse und Praktiken skalierbar. Die Validierung von Standards ist ein guter Weg, um Verbesserungsmöglichkeiten aufzuzeigen. Bereiten Sie sich auf Notfälle und Wiederherstellungssituationen vor, indem Sie regelmäßig Ü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 Erfahrungsbreiten. | Es gibt einen Kostenvorteil für die Verwendung gemeinsam genutzter Ressourcen sowohl für Vorgänge als auch für Ressourcen. Selbst wenn Sie im Besitz Ihrer Workload sind, hilft Ihnen das zentrale Team bei funktionsübergreifenden Skills, z. B. Incidentverwaltung, proaktiver Überwachung und Outsourcing von Kompetenzen mit Vertrauensstellung. |
Festlegen von Entwicklungsstandards
|
---|
Das Entwicklungsteam ist dafür verantwortlich, Probleme mit der Arbeitsauslastung vor der Veröffentlichung mit minimalen Reibungen zu lösen. Achten Sie auf die Effizienz der Entwickler und optimieren Sie für schnelle Bearbeitungszyklen, von der Codierung bis hin zu Testergebnissen. Implementieren Sie effektive und angemessene Prozesse, die technische Aktivitäten planen und standardisieren und den Konsens innerhalb des Teams und der Projektbeteiligten fördern.
Vorgehensweise | Vorteile |
---|---|
Dokumentieren Sie Workloadfeatures, und sammeln Sie Kundenvorteile. Ableiten des Umfangs und detaillierter funktionaler und nichtfunktionaler Anforderungen der Architektur. Erstellen Sie Größenschätzungsmodelle , um den Umfang und die Kosten der beteiligten Vorgänge zu melden. |
Gute Spezifikationen senken die Betriebskosten und die Chancen des Ausfalls , indem sie produktivere und optimierte Entwicklungszyklen unterstützen. Entwickler verstehen die technischen Design-, Ziel- und Abschlusskriterien, bevor sie mit dem Codierungszyklus beginnen. Eine gute Dokumentation erleichtert die wiederholbare Kommunikation und das Onboarding neuer Teammitglieder. |
Verwenden Sie eine Branchenstandardmethode für die Softwareentwicklung, die entsprechend auf die Anforderungen Ihrer Arbeitsauslastung und Teamgröße abgestimmt ist. Verwalten Sie ein Backlog, das von allen Rollen gemeinsam genutzt wird. |
Die Einführung einer bekannten Methodik legt den Rhythmus des Projekts fest. Sie entfernt Mehrdeutigkeiten im Prozess, indem sie den Teammitgliedern klare Erwartungen und Verantwortlichkeiten auferlegt. Durch das Nachverfolgen anhand einer allgemeinen Liste können Aufgaben mit Standardpraktiken optimiert und priorisiert werden . Das Projekt wird bessere Chancen haben, rechtzeitig geliefert zu werden. Standardmethoden helfen beim Risikomanagement. Mit granularen Reviews von Meilensteinen können Entwickler potenzielle Probleme beheben, bevor sie zu Showstoppern werden. |
Verwenden Sie die einheitliche Quellcodeverwaltung für alle Code, Skripts, Bereitstellungsvorlagen, Pipelinedefinitionen und zugehörige Dokumentation. Die Verzweigungsstrategie muss die reibungslose Veröffentlichung von unabhängigen, interdependenten Features, Fehlerbehebungen und Hotfixes unterstützen. Verwenden Sie gemeinsame Kenntnisse in der gesamten Organisation, um Ihre Verzweigungsstrategie und Bereitstellungsprozesse zu erstellen. |
Die ordnungsgemäße Verwendung der Quellcodeverwaltung ist entscheidend für die Unterstützung gleichzeitiger Änderungen und Versionsverwaltung. Pflegen Sie einen wiederholbaren Workflow zur Freigabe von Änderungen unterschiedlicher Größe und Risiken, führen Sie Peer-Reviews als Teil des Prozesses durch, und behalten Sie einen Prüfpfad. |
Es gibt Qualitätssicherungsprozesse, die Tests frühzeitig im Entwicklungslebenszyklus betonen. Schließen Sie alle Artefakte für geplante Testprozeduren ein, einschließlich Anwendungskomponenten, Infrastruktur- und Datenebenenvorgängen, die Teil einer Featureveröffentlichung oder -aktualisierung sind. Behandeln Sie Artefakte als unveränderlich, wenn sie durch Umgebungen höher gestuft werden, und gewinnen Sie jedes Mal Vertrauen, wenn sie ein Qualitätstor bestehen. Automatisieren Sie wo praktikabel Routineprüfungen. |
Die Qualitätssicherung stellt sicher, dass funktionale und nichtfunktionale Anforderungen zuverlässig erfüllt wurden, was sich positiv auf Kunden auswirkt. Mit Testplänen wird Qualität und Vollständigkeit sichergestellt und mögliche Fehlerfälle berücksichtigt. Mit Qualitätstoren können Sie bewährte Methoden erzwingen, um Risiken zu reduzieren. Unveränderlichkeit bringt Vertrauen, da es sicherstellt, dass das System, das Sie testen, genau das ist, was Sie freigeben. Testzyklen blockieren den Fortschritt effizient, es sei denn, Qualitätskriterien sind erfüllt. |
Fördern Sie die Konsistenz mithilfe von Stilführungslinien und Tools, die Konventionen erzwingen und eine gemeinsame Toolkette für Entwicklung, Tests und Kommunikation mit den Beteiligten einführen. Technologiestandards für Entwickler solltendie Implementierung von Mustern, API-Design, Protokollierung, Ausnahmebehandlung und anderen Prozessen erfordern. |
Konsistenz in Code sorgt für lesbarkeit und einfachere Wartung. Außerdem wird die Komplexität reduziert und die Wiederverwendung von Code ermöglicht. Allgemeine Tools und Konventionen helfen Teams auch bei der Optimierung von Prozessen, ohne dass eine einmalige Auswahl getroffen werden muss. |
Konsequent und bewusst darauf bestehen, dass die Entwickler den Code dokumentieren, während er geschrieben wird. | Durch eine klare Codedokumentation wird sichergestellt, dass Logik und Funktionalität leicht verstanden werden, wenn alter Code überarbeitet werden muss oder wenn Sich Entwicklungsteams drehen. |
Melden Sie Fortschritt und Trends , um die Effizienz zu messen. | Trends in Fehlern, fehlgeschlagenen Updates, Zeit bis zur Bereitstellung, Feedbackschleifen und anderen Metriken werden veröffentlicht, was Verbesserungen vorantreibt. |
Entwickeln von Vorgängen mit Einblicken
|
---|
Erstellen Sie eine Kultur, die die Qualität kontinuierlich verbessert, indem Sie die Arbeitsauslastung überwachen und alle Säulen des Azure Well-Architected Framework berücksichtigen. Ermöglichen Sie es dem Team und den Projektbeteiligten, sowohl kurzfristige als auch langfristige Entscheidungen über viele Facetten hinweg zu treffen, indem sie die erforderlichen Daten, Statistiken und Trends bereitstellen. Erfahren Sie mehr über Ihre Daten und fördern Sie Verbesserungen.
Vorgänge, die für die Zwecke der Observierbarkeit entwickelt wurden, sind entscheidend für die proaktive Wartung der Anwendung, Qualität und Sicherheitssicherung, Kapazitätsplanung und Produktmanagement.
Ein entscheidender Aspekt der Überwachung ist die Anwendung die Gesundheitsmodellierung nutzt, um Probleme zu antizipieren, bevor sie zu Vorfällen werden und sich auf die Kundenerfahrung auswirken. Die effiziente Überwachung reduziert reaktive Zyklen, die für die Vorfallverwaltung aufgewendet werden.
Vorgehensweise | Vorteile |
---|---|
Erstellen Sie ein Überwachungssystem mit eigenem Stack und eigenen Abläufen. Behandeln Sie das Überwachungssystem als eine Dimension der Arbeitslast, die von ihrem Nutzwert entkoppelt ist. Der Stapel muss alle Ebenen abdecken, einschließlich Infrastruktur, Anwendungsintegrität und Build- und Releaseprozesse. Das Erfassen oder Sampling von Geschäftsdaten liegt außerhalb des Anwendungsbereichs für Implementierungen der Beobachtbarkeit. |
Entkoppeln Sie Überwachungs- und Arbeitslast-Stacks, um funktionale Anforderungen und Beobachtbarkeitsanforderungen zu trennen und eine unabhängige Weiterentwicklung zu ermöglichen. Änderungen im Code sollten sich nicht auf die Überwachung auswirken und umgekehrt. Da Observability-Anforderungen von funktionalen Anforderungen getrennt sind, werden Geschäftsdatennicht durch Die Überwachung von Konfigurationsänderungen oder Ausfällen gestört. |
Fördern 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 die Varianz bei der Erfassung und Messung, da die Vertrautheit in ähnlichen Ressourcen die Zeit reduziert, die beim Korrelieren und Analysieren von Daten aufgewendet wurde. Sie haben eine ganzheitliche Perspektive, um Probleme zu antizipieren. |
Geben Sie Telemetriedaten vom Anwendungscode aus, die wichtige Aspekte des Ausführungsflows widerspiegeln und eine umfassende Übersicht mit verschiedenen Granularitätsebenen liefern. | Priorisieren Sie Aktionen basierend auf dem Schweregrad und verstehen Sie den Kontext angesichts seiner Ausführlichkeit. Diese Informationen sind für Problembehandlungszwecke von entscheidender Bedeutung. |
Besitzen Sie die Verantwortung für das Aus- und Sammeln von Daten, auch wenn Datensenken von mehreren Teams geteilt und von zentralen Teams verwaltet werden. | Durch die Lokalisierung von Überwachungsdaten in die Workloadumgebung kann das Team auf Protokolle und Metriken zugreifen, um Workloadbedenken zu beheben. |
Sammeln Sie nur genügend Daten , und bewahren Sie sie nur für genügend Zeit auf. Berücksichtigen Sie die Kostenkonflikten im Zusammenhang mit der Protokollierung und Speicherung von Daten. |
Die absichtliche Datensammlung hilft Ihnen, finanzielle und betriebliche Kosten zu optimieren , die mit der Erfassung von mehr Daten verbunden sind, als Sie benötigen. Minimieren Sie das Rauschen und vermeiden Sie eine intensive Berechnung 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, um Aktionen auszulösen , die auf numerischen Maßen basieren. Verwenden Sie Profile, um eine Sichtbarkeit auf niedrigerer Ebene zu ermöglichen, wie beispielsweise die Speicherzuweisung innerhalb des Systems. 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. Die Verwendung von Protokollen für Aktionen erfordert z. B. die Analyse. Möglicherweise können Sie mit Metriken die gleichen Ziele schneller erreichen. |
Aggregieren und visualisieren Sie Daten in Dashboards, um Überwachungsdaten darzustellen, die auf Zielgruppen ausgerichtet sind, und behalten Sie den Geschäftskontext im Auge. Verwenden Sie Situationsdashboards zum Anzeigen von Daten, um das Bewusstsein für die Beteiligten zu steigern. Verwenden Sie operative Dashboards und Arbeitsmappen mit Drilldownfunktionen für Operatoraktivitäten wie die Reaktion auf Vorfälle. Aktualisieren Sie die Dashboards häufig, und stellen Sie präzise Daten bereit. |
Mit Visualisierungen können Sie Trends analysieren, Geschäftsziele nachverfolgen und Vorfälle verwalten. Dashboards, die auf das Interesse des Kunden zugeschnitten sind, machen Interpretation relevant und beschleunigen die Zeit zur Erkennung und Aktion. |
Machen Sie Warnungen umsetzbar , indem Sie die verantwortlichen Rollen mit standardisierten Beschreibungen und Schweregraden benachrichtigen. Stellen Sie Informationen bereit, die aus verschiedenen Quellen zusammengetragen sind, und verfolgen Sie Abweichungen von Geschäftszielen nach. Warnmeldungen nur für Vorfälle auslösen, die eine Aktion erfordern. Streben Sie nach proaktiven und durchdachten Warnungen, die Aktionen initiieren, bevor ein herabgestufter Zustand zu einem Fehler wird. |
Warnungen lenken die Aufmerksamkeit auf wichtige Ereignisse, die von der Organisation definiert werden. Ein gutes Warnungssystem identifiziert Aktionen und Schweregrad und bietet nur genügend Daten, um Klarheit und Zweck zu steigern. Operatoren können unverzüglich mit der Behebung beginnen. |
Automatisieren zum Steigern der Effizienz
|
---|
Die Arbeitsauslastung kann Workflows mit Prozessen aufweisen, bei denen die Teammitglieder an langweiligen, sich wiederholenden und zeitaufwändigen Aufgaben arbeiten, die eigentlich keinen menschlichen Intellekt benötigen. Je nach Häufigkeit können Sie erhebliche Zeit in diese Arbeiten investieren, wobei Sie mit dem Anwachsen der Arbeitsauslastung noch mehr Zeit aufwenden. Außerdem sind diese Prozesse aufgrund menschlicher Eingaben häufig fehleranfällig.
Durch Automatisierung sparen Sie Zeit, Mühe und Geld. Außerdem vermeiden Sie Fehler.
Vorgehensweise | Vorteile |
---|---|
Bewerten Sie alle Workflows anhand von Kriterien, die auf der richtigen Ebene der Komplexität, des Aufwands, der Häufigkeit, der Genauigkeit, der Pünktlichkeit und der Lebensdauer entsprechen. Automatisieren Sie Workflows basierend auf dieser Auswertung, und priorisieren Sie die Workflows mit den höchsten erwarteten Renditen. Entfernen Sie redundante Workflows , oder fügen Sie einen Mehrwert hinzu, um menschliche Anstrengungen zu rechtfertigen. |
Sie können die Teamkapazität in höherwerter Arbeit reinvestieren und die Produktivität und Konsistenz steigern. Durch das Erstellen eines Inventars von Workflows wird sichergestellt, dass Sie die richtigen Aufgaben automatisieren. Das Entfernen redundanter Aufgaben reduziert die Komplexität und Fehler. |
Seien Sie explizit über Ihre Entscheidung informiert, wenn Sie bewerten, ob Sie benutzerdefinierte Tools erstellen oder Software kaufen möchten. Reservieren Sie die Gebäudeautomatisierung für hochspezialisierte und hochwertige Arbeiten. |
Durch den Kauf von Off-the-Shelf-Software und der Nutzung des Supportvertrags sparen Sie Wartungskosten. Durch die Erstellung von Software haben Sie mehr Kontrolle und können auf Anwendungsfälle achten, die für Ihr Team und Ihre Arbeitsauslastung einzigartig sind. Es gibt jedoch einen Kosteneffekt. Die Wahl der Werkzeuge bringt einen Grad der Standardisierung für Ihre Abläufe. Mit Schulungen können Sie ein einheitliches Maß an Bereitschaft zur Einführung erreichen. |
Entwerfen Sie Ihre Workloadkomponenten zur Unterstützung von Automatisierungsfunktionen. | Vermeiden Sie die Situation, in der ein Mangel an Automatisierung in Ihrem Systementwurf das Antimuster von sich wiederholenden Aufgaben fördert, das Wachstum verlangsamt und mit der Akkumulation technischer Schulden beginnt. |
Behandeln Sie alle Automatisierungen als kritische Abhängigkeit Ihrer Workload. Führen Sie Anpassungen an das erwartete Wachstum der Arbeitsauslastung durch. Ihre Automatisierungstools sind ein integraler Bestandteil Ihrer Arbeitsauslastung und sollten die fünf Säulen des Well-Architected Framework einhalten. |
Entwerfen Sie Ihre Automatisierungskomponente so, dass sie Risiken wie Sicherheitsbedrohungen standhält. Mit angewendeten bewährten Methoden können Sie ein Ausufern der Implementierung vermeiden. Die Arbeitsauslastung funktioniert weiterhin mit hoher Zuverlässigkeit, wenn diese Abhängigkeit funktionsfähig und sicher bleibt. |
Automatisieren Sie im großen Maßstab , indem Sie Optionen über Ihre Arbeitsauslastung hinaus untersuchen. Bevorzugen Sie ein Modell "Design einmal, ü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. |
Verwenden von sicheren Bereitstellungsmethoden
|
---|
Erstellen Sie eine automatisierte und modulare Workload-Lieferkette, um konsistente, vorhersehbare und wiederholbare Bereitstellungen in allen Umgebungen sicherzustellen. Durch die frühzeitige Anwendung sicherer Methoden wird das Vertrauen in die Produktion sichergestellt und eine schnelle Wiederherstellung ermöglicht, wenn Probleme Kunden erreichen.
Alle Änderungen, ob Code, Konfiguration oder Artefakte, müssen mit der gleichen Ebene von Rigor bereitgestellt werden. Tests, Überwachung und Versionsverwaltung sind gängige Methoden, um Konsistenz zu erzielen.
Vorgehensweise | Vorteile |
---|---|
Verwenden Sie Infrastruktur als Code (IaC), um den gewünschten Zustand aller Infrastruktur zu definieren. Verwenden Sie einen modularen und überschichteten Ansatz, vermeiden Sie jedoch unnötige Abstraktionen. Richten Sie Ebenen mit Lebenszyklusanforderungen aus, wobei grundlegende Ebenen stabil bleiben. |
IaC ermöglicht die Automatisierung und Konsistenz der Bereitstellung und dient als Selbstdokumentation, die für die Ablaufverfolgung verwendet werden kann. IaC-Artefakte werden Teil Ihres Softwareentwicklungslebenszyklus, wodurch Test- und Qualitätsprüfungsprozesse ermöglicht werden. IaC hilft auch, Konfigurationsabweichungen zu erkennen und zu mindern. |
Bevorzugen Sie kleine, inkrementelle Updates, die häufig bereitgestellt werden. | Kleinere Updates vereinfachen die Überprüfung, indem die Anzahl gleichzeitiger Fehler reduziert wird. Wenn mehrere fehlerhafte Änderungen gleichzeitig freigegeben werden, können sie den Ausbreitungsradius erheblich erhöhen. |
Stellen Sie alle Code- und Infrastrukturänderungen mithilfe automatisierter Pipelines in allen Umgebungen bereit. | Konsistente Bereitstellungsmethoden reduzieren Fehler und Varianz, wodurch Bereitstellungen zuverlässig und wiederholbar sind. Der Bereitstellungsprozess dokumentiert sich selbst, und jede Ausführung erstellt einen Datensatz von Aktivitäten. |
Testen Sie Updates streng während des gesamten Entwicklungslebenszyklus, in Vorproduktions- und Produktionsumgebungen. | Frühe Tests fangen Probleme früher ab, ermöglichen iterative Korrekturen und reduzieren Probleme nach dem Zeitpunkt, zu dem das Update für die Produktion bereit ist. Die Verwendung mehrerer Vorproduktionsumgebungen ermöglicht verschiedene Arten von Tests und erhöht das Vertrauen in eine erfolgreiche Produktionsversion. |
Bereitstellen neuer Features mithilfe von Bereitstellungsmustern, die eine progressive Einführung und schrittweise Annahme durch die Nutzer ermöglichen. Testen Sie die Abwärts- und Vorwärtskompatibilität. |
Die kontrollierte Einführung von Updates reduziert das Risiko weit verbreiteter Probleme aufgrund von Fehlern. Die allmähliche Erhöhung der Exposition trägt dazu bei, Kompatibilität und Stabilität zu gewährleisten und Vertrauen in die Freigabe zu schaffen. |
Seien Sie bereit, Ausgleichsmaßnahmen zur Wiederherstellung von fehlerhaften Bereitstellungen oder kritischen Fehlern in der Produktion durchzuführen. Verwenden Sie die Automatisierung, die durch Tests unterstützt wird , um Korrekturen auszuführen. Für Notfallupdates haben Sie einen beschleunigten Prozess, der von den Beteiligten vorab genehmigt wird. |
Wenn Sie einen Entschärfungsplan haben, wird die Dauer potenzieller Auswirkungen reduziert. Sie können dringende Fixes wie Sicherheitspatches schnell bereitstellen, um Benutzer schneller zu einer sicheren Version zu bringen. |
Nächste Schritte
Es wird empfohlen, die Checkliste "Operational Excellence" zu überprüfen, um andere Konzepte zu erkunden.