Entwurfsprinzipien für den optimalen Betrieb
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.
Verinnerlichen der DevOps-Kultur
Befähigen Sie Entwicklungs- und Vorgangsteams zur kontinuierlichen Verbesserung ihres Systemdesigns und ihrer Prozesse, indem Sie mit einer Mentalität der Kooperation, gemeinsamen Verantwortung und Eigenverantwortung zusammenarbeiten. |
---|
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 gemeinsame Systeme und Tools, die eine kollaborative Umgebung für die Kommunikation und die Verfolgung der Fortschritte 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 schuldlose Analysen und Überprüfungen 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 Möglichkeiten, in Vorgängen für manuelle und automatisierte Prozesse, Bereitstellungs- und Qualitätssicherungsmethoden und Beobachtbarkeit nach links zu wechseln. |
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 bewusst und explizit über Ihre 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. Obwohl Sie Ihre Arbeitsauslastung besitzen, hilft Ihnen das zentrale Team bei funktionsübergreifenden Fähigkeiten, z. B. Vorfallmanagement, proaktiver Perspektive zur Überwachung und Outsourcing von Know-how mit Vertrauen. |
Festlegen von Entwicklungsstandards
Optimieren Sie die Produktivität, indem Sie Entwicklungspraktiken standardisieren, Qualitätstore erzwingen und den Fortschritt und Erfolg durch systematisches Change Management nachverfolgen. |
---|
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 |
---|---|
Dokumentarbeitsauslastungsfeatures und Erfassen von Kundenvorteilen. 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 einen Backlog, der für alle Rollen freigegeben ist. |
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 unabhängiger und 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. Verwalten Sie einen wiederholbaren Workflow zum Freigeben von Änderungen verschiedener Größen und Risiken, führen Sie Peerüberprüfungen als Teil des Prozesses durch, und behalten Sie einen Überwachungspfad. |
Verfügen Sie über Qualitätssicherungsprozesse , die tests frühzeitig im Entwicklungslebenszyklus hervorheben. 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. Das Testen von Zyklen blockiert 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 sollten die 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 Entwicklerdokumentation des Codes wie geschrieben ist. | 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 für die Bereitstellung, Feedbackschleifen und andere Metriken werden veröffentlicht und verbessern. |
Entwickeln von Vorgängen mit Einblicken
Gewinnen Sie Einblick in das System, leiten Sie Erkenntnisse ab und treffen Sie datengesteuerte Entscheidungen. |
---|
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 in vielen Bereichen zu treffen, indem Sie die erforderlichen Daten, Statistiken und Trends bereitstellen. Lernen Sie aus Ihren Daten und treiben Sie Verbesserungen voran.
Vorgänge, die zum Zweck der Beobachtbarkeit erstellt wurden, sind entscheidend für die proaktive Wartung der Anwendung, die Sicherstellung von Qualität und Sicherheit, die Kapazitätsplanung und das Produktmanagement.
Ein wichtiger Aspekt der Überwachung ist die Anwendung , die die Integritätsmodellierung verwendet, um Probleme zu antizipieren, bevor sie zu Vorfällen werden und sich auf die Kundenerfahrung auswirken. Effiziente Überwachung reduziert die für das Incident Management aufgewendeten reaktiven Zyklen.
Vorgehensweise | Vorteile |
---|---|
Erstellen Sie ein Überwachungssystem mit eigenen Stapeln und Flüssen. Behandeln Sie das Überwachungssystem als Dimension der Workload, die vom Dienstprogramm entkoppelt wird. Der Stapel muss alle Ebenen abdecken, einschließlich Infrastruktur, Anwendungsintegrität und Build- und Releaseprozesse. Das Erfassen oder Sampling von Geschäftsdaten ist außerhalb des Umfangs für Observability-Implementierungen. |
Decouple monitoring and workload stacks to separate functional requirements and observability requirements and make independent evolution possible. Änderungen im Code sollten sich nicht auf die Überwachung auswirken und umgekehrt. Da Observability-Anforderungen von funktionalen Anforderungen getrennt sind, werden Geschäftsdaten nicht 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 aus dem Anwendungscode aus, die die wichtigsten Punkte des Ausführungsflusses korrelieren und eine End-to-End-Ansicht auf verschiedenen Granularitätsebenen bieten. | Priorisieren Sie Aktionen auf der Grundlage des Schweregrads und verstehen Sie den Kontext angesichts der Ausführlichkeit. Diese Informationen sind für die Problembehandlung 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 die Sichtbarkeit auf niedrigerer Ebene zu erhalten, z. B. die Speicherzuweisung, in das System. Reservieren Sie die Verwendung von Protokollen und Ablaufverfolgungen, um Kontext für Flüsse 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 granulare Daten bereit. |
Mithilfe von Visualisierungen können Sie Trends analysieren, Geschäftsziele verfolgen und Incidents verwalten. Dashboards, die auf die Interessen der Kund*innen zugeschnitten sind, erhöhen die Aussagekraft und sorgen dafür, dass Probleme schneller erkannt und behoben werden können. |
Machen Sie Warnungen umsetzbar , indem Sie die verantwortlichen Rollen mit standardisierten Beschreibungen und Schweregraden benachrichtigen. Stellen Sie Informationen bereit, die aus verschiedenen Quellen zusammengetragen werden, und verfolgen Sie Abweichungen von den Geschäftszielen. Lösen Sie Warnungen nur für Vorfälle aus, 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 Warnsystem identifiziert Aktionen und Schweregrad und liefert gerade genug Daten, um Klarheit und Zweckmäßigkeit zu schaffen. Operatoren können unverzüglich mit der Behebung beginnen. |
Problemloses Bereitstellen
Erreichen Sie den gewünschten Bereitstellungsstatus mit Vorhersagbarkeit. |
---|
Erstellen Sie eine Workload-Lieferkette, mit der Sie das Ziel der Vorhersagbarkeit in allen Ihren Umgebungen über die Hostingplattformen, Anwendungen, Daten und Konfigurationsressourcen der Workload hinweg konsistent erreichen können. Der Bereitstellungsmechanismus muss in der Lage sein, Automatisierung, Tests, Überwachung und Versionsverwaltung zu testen. Es sollte modularisiert und auf Bedarf ausführbar sein. Es sollte nicht als monolithischer End-to-End-Prozess dargestellt werden. Die Lieferkette ist nicht unbedingt auf eine schnellere Ausführung ausgelegt, sondern darauf, Konsistenz und Selbstdokumentation über mehrere Iterationen zu erzielen.
Das Workloadteam ist für die Lieferkette in Bezug auf seine eigene Workload verantwortlich.
Vorgehensweise | Vorteile |
---|---|
Verwenden Sie Infrastruktur als Code (IaC), um die wiederholbaren Aspekte der Lieferkette zu definieren, die produktionsbereit sind. Bevorzugen Sie deklarative Ansätze gegenüber imperativen Methoden. |
Deklarative IaC-Technologien sind auf Automatisierung und Wiederverwendbarkeit ausgelegt. Sie können Infrastrukturbereitstellungen von Einzelpersonen an Tools auslagern und eine konsistente Qualität erzielen. Aus Sicht der Infrastruktur bedeutet eine geringere Auswahl an Technologien eine geringere Varianz bei den Tools und eine leichtere Erkennung von Konfigurationsabweichungen. Die Wartung wird ebenfalls einfacher. Wenn Sie Entscheidungen auf die vorhandenen Qualifikationen des Teams abstimmen, kann das Team sie leicht übernehmen. |
Bereiten Sie das Team auf die verwendung der ausgewählten IaC-Technologie vor. Erfahren Sie mehr über das Erweiterbarkeitsmodell, die Funktionen und Einschränkungen. Nutzen Sie die Spezialisierung innerhalb des Teams und teilen Sie das Wissen innerhalb der Organisation. |
Die Weiterbildung erhöht die Produktivität und fördert eine Umgebung der Zusammenarbeit durch gemeinsames Lernen. Sie können Lücken mit Schulungen ausfüllen, anstatt einstellungserstellen zu müssen. |
Folgen Sie den Softwareempfehlungen für die Entwicklung und Wartung von IaC. Modularisieren in Moderation. Vermeiden Sie benutzerdefinierte oder kleinwertige Abstraktionen. Folgen Sie einem mehrschichtigen Ansatz, um verschiedene Lebenszyklus zu berücksichtigen. Bilden Sie grundlegende Ebenen, wobei die unteren Ebenen konstant bleiben und sich die oberen Ebenen nach Bedarf ändern. Bereitstellungsartefakte, z. B. Anwendungsbinärdateien, IaC-Vorlagen und Parameter, sind Teil der Angriffsfläche. Wenden Sie Sicherheitsmaßnahmen an, z. B. Verwaltung von Geheimnissen, Zugriffssteuerung und andere Grundsätze der Sicherheitssäule. |
Artefakte unterliegen der gleichen technischen Strenge wie der Anwendungscode. Qualitätslenkung durch Peer Review und Tests bieten Ihnen Konfidenz in die Bereitstellung. Ein mehrstufiger Ansatz erleichtert die Wartung und schafft Grenzen, die klare Verantwortlichkeiten festlegen. Durch das Hinzufügen von Sicherheitskontrollen zu Artefakten wird das System während des Bereitstellungsprozesses gehärtet. |
Entwickeln Sie ein allgemeines Bereitstellungsmanifest , das in allen Umgebungen verwendet wird. Verwenden Sie dieses Manifest als Standardmechanismus für Greenfield-Projekte, inkrementelle Workloadupdates oder die Notfallwiederherstellung. | Entfernen Sie den Aufwand für die Verwaltung mehrerer Ressourcen. Im Katastrophenfall erfolgt die Wiederherstellung schnell und zuverlässig, da Sie ein bewährtes Manifest einsetzen können, anstatt eine improvisierte Umgebung zu erstellen. |
Streben Sie nach unveränderlicher und kurzlebiger Infrastruktur an, die über die IaC-Automatisierung bereitgestellt wird. | Abweichung der Konfiguration verbieten und die Bereitstellung als idempotent festlegen. Diese Art von Infrastruktur beseitigt erhebliche Betriebliche Belastungen, z. B. Patching. Außerdem profitieren sie von kernen Validierungsszenarien, z. B. blaugrünen Infrastrukturbereitstellungen. |
Hinweis
Verringern Sie den Umfang der Portalnutzung auf nur nicht wiederholte Ermittleraufgaben.
Automatisieren zum Steigern der Effizienz
Ersetzen Sie sich wiederholende manuelle Aufgaben durch die Softwareautomatisierung, die sie schneller abschließt, mit größerer Konsistenz und Genauigkeit und reduziert Risiken. |
---|
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 stecken, die mit dem Anwachsen der Arbeitsauslastung noch mehr werden. 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 Zeitachsen 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 Tools bringt eine Stufe der Standardisierung für Ihre Vorgänge. 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. |
Einführen von sicheren Bereitstellungsmethoden
Implementieren von Schutzschienen im Bereitstellungsprozess, um die Auswirkungen von Fehlern oder unerwarteten Bedingungen zu minimieren. |
---|
Während des Entwicklungszyklus durchlaufen Workloadartefakte viele Änderungen während sie implementiert und getestet, und Fehler behoben werden.
Der Bereitstellungsprozess muss einem Standardbetriebsverfahren entsprechen. Jede Änderung muss mit der gleichen Rigorebene bereitgestellt werden. Dieses Prinzip gilt gleichermaßen für Code, Konfiguration und alle zugehörigen Artefakte. Der Schlüssel besteht darin, sichere Praktiken so früh wie möglich anzuwenden, damit Ihre Produktion vorhersehbar ist. Auch wenn Fehler die Kunden erreichen, sollten Sie in der Lage sein, Wiederherstellungsänderungen so schnell wie möglich auszuführen.
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, damit sie leicht nachverfolgbar und identifizierbar sind. |
Konsistente Bereitstellungsmethoden reduzieren Probleme, die durch Prozessfehler und Varianz verursacht werden, und ermöglichen Es Ihnen, sich auf die Arbeitsauslastung zu konzentrieren. Standardisierung stellt sicher, dass die Bereitstellung sicher, zuverlässig und mit Wiederholbarkeit abgeschlossen wird. Die Klassifizierung erleichtert das Anzeigen von Protokollen früherer Bereitstellungen und Problemen, die aufgetreten sind. Möglicherweise können Sie diese Informationen verwenden, um Rollback- und Roll-Forward-Vorgänge zu beschleunigen. |
Stellen Sie kleine inkrementelle Updates in regelmäßigen Abständen bereit. | Häufige, gut getestete, kleine Updates erleichtern die Validierung der Version. Problembehandlung bei geringerer Kundenwirkung aufgrund eines geringeren Fußabdrucks. |
Testen Sie Updates streng, indem Sie verschiedene Mechanismen während des gesamten Entwicklungslebenszyklus verwenden. | Erfassen Sie Probleme in den frühen Entwicklungsphasen. Iterative Korrekturen und konsistente Bereitstellungspraktiken verursachen Probleme, wenn das Update für die Produktion bereit ist. |
Schrittweises Rollout von Updates mit Sorgfalt. Verwenden Sie Bereitstellungsmodelle, mit denen Sie die Kontrolle erhalten, um die Anzahl der Instanzen und Kunden schrittweise zu erhöhen, bis das Update von allen sicher übernommen wird. |
Testen Sie jedes Update auf kontrollierte Weise, damit Probleme frühzeitig in der Produktion behoben werden. Vermeiden Sie das Rollout eines fehlerhaften Updates, das sich auf Ihre gesamte Kundenbasis auswirkt. Testen Sie, ob das Update rückwärts- und vorwärtskompatibel ist. |
Haben Sie eine Entschärfungsstrategie, um schnell aus Bereitstellungsfehlern wiederherzustellen. Die Strategie sollte die Entscheidungsfindung auf der Grundlage der Kritischen Bedeutung des Problems abdecken. Verfügen Sie über gut definierte Prozesse und automatisierte Systeme , mit denen Mithilfe der Standardbereitstellungspipelines schnell Korrekturen bereitgestellt werden können. |
Verringern Sie die Dauer potenzieller Auswirkungen. Stellen Sie das System wieder auf die vorherige funktionierende Version zurück oder roll forward to a version that has fixes that been gründlich getestet. |
Verwenden Sie einen Fallbackplan , der das System im Notfall auf einen Arbeitszustand zurücksetzt und sich von unerwarteten Fehlern erholen kann. 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 schnell nachverfolgen, z. B. sicherheitsrelevante Korrekturen. Die beschleunigte Pipeline verfügt möglicherweise nicht über alle Prüfungen Ihrer Standardbetriebsverfahren, aber Sie erhalten Kunden auf schnellstmögliche Weise zu einer sicheren Version, die Fehler mit niedrigeren Auswirkungen überwiegt. |
Nächste Schritte
Es wird empfohlen, die Checkliste "Operational Excellence" zu überprüfen, um andere Konzepte zu erkunden.