Die Säule „Zuverlässigkeit“ im Google Cloud Well-Architected Framework enthält Prinzipien und Empfehlungen, die Ihnen beim Entwerfen, Bereitstellen und Verwalten zuverlässiger Arbeitslasten in Google Cloudhelfen.
Dieses Dokument richtet sich an Cloud-Architekten, Entwickler, Plattformtechniker, Administratoren und Site Reliability Engineers.
Zuverlässigkeit ist die Fähigkeit eines Systems, seine beabsichtigten Funktionen unter den definierten Bedingungen konsistent auszuführen und einen ununterbrochenen Dienst aufrechtzuerhalten. Best Practices für die Zuverlässigkeit umfassen Redundanz, fehlertolerantes Design, Monitoring und automatisierte Wiederherstellungsprozesse.
Als Teil der Zuverlässigkeit ist Resilienz die Fähigkeit des Systems, Ausfällen oder unerwarteten Unterbrechungen standzuhalten und sich davon zu erholen, während die Leistung aufrechterhalten wird. Google Cloud Funktionen wie multiregionale Bereitstellungen, automatische Back-ups und Lösungen zur Notfallwiederherstellung können Ihnen helfen, die Resilienz Ihres Systems zu verbessern.
Zuverlässigkeit ist aus vielen Gründen wichtig für Ihre Cloud-Strategie, darunter:
- Minimale Ausfallzeiten: Ausfallzeiten können zu Umsatzverlusten, geringerer Produktivität und Schäden am Ruf führen. Resiliente Architekturen können dazu beitragen, dass Systeme bei Ausfällen weiterhin funktionieren oder sich effizient von Ausfällen erholen können.
- Verbesserte Nutzererfahrung: Nutzer erwarten nahtlose Interaktionen mit der Technologie. Resiliente Systeme können dazu beitragen, eine konsistente Leistung und Verfügbarkeit aufrechtzuerhalten und einen zuverlässigen Dienst auch bei hoher Nachfrage oder unerwarteten Problemen zu bieten.
- Datenintegrität: Ausfälle können zu Datenverlust oder Datenbeschädigung führen. Resiliente Systeme implementieren Mechanismen wie Back-ups, Redundanz und Replikation, um Daten zu schützen und sicherzustellen, dass sie korrekt und zugänglich bleiben.
- Geschäftskontinuität: Ihr Unternehmen ist für kritische Vorgänge auf Technologie angewiesen. Resiliente Architekturen können dazu beitragen, die Kontinuität nach einem katastrophalen Ausfall sicherzustellen, sodass Geschäftsfunktionen ohne größere Unterbrechungen fortgesetzt werden können und eine schnelle Wiederherstellung möglich ist.
- Compliance: In vielen Branchen gibt es gesetzliche Anforderungen an die System verfügbarkeit und den Datenschutz. Resiliente Architekturen können Ihnen helfen, diese Standards zu erfüllen, indem sie sicherstellen, dass Systeme betriebsbereit und sicher bleiben.
- Niedrigere langfristige Kosten: Resiliente Architekturen erfordern Vorab investitionen, aber Resilienz kann dazu beitragen, die Kosten im Laufe der Zeit zu senken, indem teure Ausfallzeiten verhindert, reaktive Korrekturen vermieden und Ressourcen effizienter genutzt werden.
Organisatorische Denkweise
Damit Ihre Systeme zuverlässig sind, benötigen Sie einen Plan und eine etablierte Strategie. Diese Strategie muss Schulungen und die Befugnis umfassen, Zuverlässigkeit neben anderen Initiativen zu priorisieren.
Machen Sie deutlich, dass die gesamte Organisation für die Zuverlässigkeit verantwortlich ist, einschließlich Entwicklung, Produktmanagement, Betrieb, Plattform technik und Site Reliability Engineering (SRE). Auch die geschäftsorientierten Gruppen wie Marketing und Vertrieb können die Zuverlässigkeit beeinflussen.
Jedes Team muss die Zuverlässigkeitsziele und Risiken seiner Anwendungen kennen. Die Teams müssen für diese Anforderungen verantwortlich sein. Konflikte zwischen Zuverlässigkeit und der regulären Entwicklung von Produktfunktionen müssen priorisiert und entsprechend eskaliert werden.
Planen und verwalten Sie die Zuverlässigkeit ganzheitlich über alle Funktionen und Teams hinweg. Erwägen Sie die Einrichtung eines Cloud Center of Excellence (CCoE), das eine Säule für die Zuverlässigkeit umfasst. Weitere Informationen finden Sie unter Cloud-Einführung Ihres Unternehmens mit einem Cloud Center of Excellence optimieren.
Bereiche mit Verbesserungspotenzial für die Zuverlässigkeit
Die Aktivitäten, die Sie zum Entwerfen, Bereitstellen und Verwalten eines zuverlässigen Systems ausführen, können in die folgenden Bereiche mit Verbesserungspotenzial kategorisiert werden. Jedes der Zuverlässigkeitsprinzipien und jede der Empfehlungen in dieser Säule ist für einen dieser Bereiche relevant.
- Umfang: Um Ihr System zu verstehen, führen Sie eine detaillierte Analyse von dessen Architektur durch. Sie müssen die Komponenten, ihre Funktionsweise und Interaktion, den Fluss von Daten und Aktionen durch das System und mögliche Probleme verstehen. Identifizieren Sie potenzielle Ausfälle, Engpässe und Risiken, damit Sie Maßnahmen zur Minderung dieser Probleme ergreifen können.
- Beobachtung: Implementieren Sie eine umfassende und kontinuierliche Beobachtung und Überwachung, um Systemausfälle zu verhindern. Durch diese Beobachtung können Sie Trends erkennen und potenzielle Probleme proaktiv identifizieren.
- Reaktion: Reagieren Sie angemessen und stellen Sie die Effizienz wieder her, um die Auswirkungen von Ausfällen zu reduzieren. Automatisierte Antworten können ebenfalls dazu beitragen, die Auswirkungen von Ausfällen zu reduzieren. Auch bei Planung und Kontrollen können Ausfälle auftreten.
- Lernen: Um zu verhindern, dass Ausfälle wieder auftreten, lernen Sie aus jeder Erfahrung und ergreifen Sie entsprechende Maßnahmen.
Grundprinzipien
Die Empfehlungen in der Säule „Zuverlässigkeit“ des Well-Architected Framework sind den folgenden Grundprinzipien zugeordnet:
- Zuverlässigkeit anhand von Zielen für die Nutzererfahrung definieren
- Realistische Ziele für die Zuverlässigkeit festlegen
- Hochverfügbare Systeme durch Ressourcenredundanz erstellen
- Horizontale Skalierbarkeit nutzen
- Mögliche Ausfälle mithilfe der Beobachtbarkeit erkennen
- Design für eine sanfte Verschlechterung
- Tests zur Wiederherstellung nach Ausfällen durchführen
- Tests zur Wiederherstellung nach Datenverlust durchführen
- Gründliche Vorfallanalysen durchführen
Beitragende
Autoren:
- Laura Hyatt | Customer Engineer, FSI
- Jose Andrade | Customer Engineer, SRE Specialist
- Gino Pelliccia | Principal Architect
Weitere Beitragende:
- Andrés-Leonardo Martínez-Ortiz | Technical Program Manager
- Brian Kudzia | Enterprise Infrastructure Customer Engineer
- Daniel Lees | Cloud Security Architect
- Filipe Gracio, PhD | Customer Engineer, AI/ML Specialist
- Gary Harmson | Principal Architect
- Kumar Dhanagopal | Cross-Product Solution Developer
- Marwan Al Shawi | Partner Customer Engineer
- Nicolas Pintaux | Customer Engineer, Application Modernization Specialist
- Radhika Kanakam | Program Lead, Google Cloud Well-Architected Framework
- Ryan Cox | Principal Architect
- Samantha He | Technical Writer
- Wade Holmes | Global Solutions Director
- Zach Seils | Networking Specialist