Die Säule „Zuverlässigkeit“ im Google Cloud Well-Architected Framework enthält Prinzipien und Empfehlungen zum Entwerfen, Bereitstellen und Verwalten zuverlässiger Arbeitslasten in Google Cloud.
Dieses Dokument richtet sich an Cloud Architects, Entwickler, Plattformentwickler, Administratoren und Site Reliability Engineers.
Zuverlässigkeit ist die Fähigkeit eines Systems, die vorgesehenen Funktionen innerhalb der definierten Bedingungen konsistent auszuführen und einen unterbrechungsfreien Dienst aufrechtzuerhalten. Zu den Best Practices für die Zuverlässigkeit gehören Redundanz, fehlertolerantes Design, Monitoring und automatisierte Wiederherstellungsprozesse.
Als Teil der Zuverlässigkeit bezeichnet Robustheit die Fähigkeit des Systems, Ausfälle oder unerwarteten Störungen standzuhalten und diese bei gleichbleibender Leistung wiederherzustellen.Google Cloud Funktionen wie multiregionale Bereitstellungen, automatische Sicherungen und Lösungen zur Notfallwiederherstellung können Ihnen dabei helfen, die Ausfallsicherheit Ihres Systems zu verbessern.
Zuverlässigkeit ist aus vielen Gründen wichtig für Ihre Cloud-Strategie, darunter:
- Minimale Ausfallzeiten: Ausfallzeiten können zu Umsatzeinbußen, Produktivitätsverlust und Rufschädigung führen. Stabile Architekturen können dazu beitragen, dass Systeme bei Ausfällen weiter funktionieren oder sich effizient nach Ausfällen wiederherstellen lassen.
- Verbesserte Nutzererfahrung: Nutzer erwarten nahtlose Interaktionen mit der Technologie. Stabile Systeme können dazu beitragen, eine konsistente Leistung und Verfügbarkeit aufrechtzuerhalten. Sie bieten selbst bei hoher Nachfrage oder unerwarteten Problemen einen zuverlässigen Dienst.
- Datenintegrität: Fehler können zu Datenverlust oder Datenbeschädigung führen. Stabile Systeme implementieren Mechanismen wie Sicherungen, Redundanz und Replikation, um Daten zu schützen und dafür zu sorgen, dass sie fehlerfrei und zugänglich bleiben.
- Geschäftskontinuität: Ihr Unternehmen ist für kritische Abläufe auf Technologie angewiesen. Stabile Architekturen können die Kontinuität nach einem katastrophalen Ausfall gewährleisten, wodurch die Geschäftsfunktionen ohne nennenswerte Unterbrechungen weiterlaufen können und eine schnelle Wiederherstellung unterstützt wird.
- Compliance: In vielen Branchen gibt es regulatorische Anforderungen in Bezug auf Systemverfügbarkeit und Datenschutz. Stabile Architekturen können Ihnen helfen, diese Standards zu erfüllen, da sie gewährleisten, dass die Systeme betriebsbereit und sicher bleiben.
- Geringere langfristige Kosten: Stabile Architekturen erfordern Vorabinvestitionen. Durch Ausfallsicherheit können jedoch im Laufe der Zeit Kosten gesenkt werden, da teure Ausfallzeiten, reaktive Korrekturen und eine effizientere Ressourcennutzung vermieden werden.
Organisatorisches Denken
Um Ihre Systeme zuverlässig zu machen, benötigen Sie einen Plan und eine etablierte Strategie. Diese Strategie muss neben anderen Initiativen auch Schulungen und die Befugnis umfassen, Zuverlässigkeit zu priorisieren.
Setzen Sie klar die Erwartung, dass die gesamte Organisation für die Zuverlässigkeit verantwortlich ist, einschließlich Entwicklung, Produktmanagement, Betrieb, Platform Engineering und Site Reliability Engineering (SRE). Auch geschäftsorientierte Gruppen wie Marketing und Vertrieb können die Zuverlässigkeit beeinflussen.
Jedes Team muss die Zuverlässigkeitsziele und Risiken seiner Anwendungen verstehen. Die Teams müssen diese Anforderungen erfüllen. Konflikte zwischen der Zuverlässigkeit und der regelmäßigen Entwicklung von Produktfeatures 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 Centre of Excellence (CCoE) mit einer Säule für Zuverlässigkeit. Weitere Informationen finden Sie unter Den Weg Ihrer Organisation in die Cloud mit einem Cloud Center of Excellence optimieren.
Schwerpunkte für Zuverlässigkeit
Die Aktivitäten, die Sie ausführen, um ein zuverlässiges System zu entwerfen, bereitzustellen und zu verwalten, können den folgenden Schwerpunktbereichen zugeordnet werden. Jedes der Zuverlässigkeitsprinzipien und Empfehlungen in dieser Säule ist für einen dieser Schwerpunktbereiche relevant.
- Umfang festlegen: Um Ihr System besser zu verstehen, führen Sie eine detaillierte Analyse seiner Architektur durch. Sie müssen verstehen, wie die Komponenten funktionieren und interagieren, wie Daten und Aktionen durch das System fließen und was schiefgehen könnte. Identifizieren Sie potenzielle Fehler, Engpässe und Risiken, damit Sie Maßnahmen ergreifen können, um diese Probleme zu mindern.
- Beobachtung: Implementieren Sie eine umfassende und kontinuierliche Beobachtung und Überwachung, um Systemausfälle zu vermeiden. Mithilfe dieser Beobachtung können Sie Trends verstehen und potenzielle Probleme proaktiv identifizieren.
- Antwort: Um die Auswirkungen von Fehlern zu reduzieren, sollten Sie angemessen reagieren und eine effiziente Wiederherstellung durchführen. Automatisierte Antworten können auch dazu beitragen, die Auswirkungen von Ausfällen zu reduzieren. Auch mit Planung und Kontrolle können Fehler auftreten.
- Lernen: Lernen Sie aus den einzelnen Erfahrungen und ergreifen Sie entsprechende Maßnahmen, um wiederkehrende Fehler zu vermeiden.
Grundprinzipien
Die Empfehlungen in der Säule „Zuverlässigkeit“ des Well-Architected Framework basieren auf den folgenden Grundprinzipien:
- Zuverlässigkeit basierend auf Zielen im Hinblick auf die Nutzererfahrung definieren
- Realistische Ziele für die Zuverlässigkeit festlegen
- Hochverfügbare Systeme durch Ressourcenredundanz aufbauen
- Horizontale Skalierbarkeit nutzen
- Potenzielle Fehler mithilfe der Beobachtbarkeit erkennen
- Graceful Degradation bei der Entwicklung berücksichtigen
- Wiederherstellung nach Fehlern testen
- Wiederherstellung nach Datenverlust testen
- Ausführliche Postmortems durchführen
Beitragende
Autoren:
- Laura Hyatt | Enterprise Cloud Architect
- Jose Andrade | Enterprise Infrastructure Customer Engineer
- Gino Pelliccia | Principal Architect
Weitere Beitragende:
- Andrés-Leonardo Martínez-Ortiz | Technischer Programmmanager
- Brian Kudzia | Customer Engineer für Unternehmensinfrastruktur
- Daniel Lees | Cloudsicherheitsarchitekt
- Filipe Gracio, PhD | Customer Engineer
- 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 | Senior Program Manager, Cloud GTM
- Ryan Cox | Principal Architect
- Samantha He | Technical Writer
- Wade Holmes | Global Solutions Director
- Zach Seils | Networking Specialist