Il pilastro dell'affidabilità nel Google Cloud Framework dell'architettura fornisce principi e consigli per aiutarti a progettare, implementare e gestire carichi di lavoro affidabili in Google Cloud.
Questo documento è rivolto a cloud architect, sviluppatori, ingegneri di piattaforma, amministratori e SRE.
L'affidabilità è la capacità di un sistema di eseguire in modo coerente le funzioni previste all'interno delle condizioni definite e di mantenere un servizio ininterrotto. Le best practice per l'affidabilità includono ridondanza, progettazione fault-tolerant, monitoraggio e procedure di recupero automatico.
La resilienza è parte dell'affidabilità ed è la capacità del sistema di resistere e recuperare da guasti o interruzioni impreviste, mantenendo le prestazioni. Le funzionalitàGoogle Cloud , come i deployment multiregionali, i backup automatici e le soluzioni di disaster recovery, possono aiutarti a migliorare la resilienza del tuo sistema.
L'affidabilità è importante per la tua strategia cloud per molti motivi, tra cui:
- Tempi di inattività minimi: i tempi di inattività possono comportare perdita di entrate, produttività ridotta e danni alla reputazione. Le architetture resilienti possono contribuire a garantire che i sistemi possano continuare a funzionare durante gli errori o a riprendersi in modo efficiente dagli errori.
- Esperienza utente migliorata: gli utenti si aspettano interazioni fluide con la tecnologia. I sistemi resilienti possono contribuire a mantenere prestazioni e disponibilità coerenti e a fornire un servizio affidabile anche in caso di domanda elevata o problemi imprevisti.
- Integrità dei dati: gli errori possono causare la perdita o il danneggiamento dei dati. I sistemi resilienti implementano meccanismi come backup, ridondanza e replica per proteggere i dati e garantire che rimangano accurati e accessibili.
- Continuità aziendale: la tua attività si basa sulla tecnologia per le operazioni critiche. Le architetture resilienti possono contribuire a garantire la continuità dopo un guasto catastrofico, consentendo alle funzioni aziendali di continuare senza interruzioni significative e supportando un rapido recupero.
- Conformità: molti settori hanno requisiti normativi per la disponibilità del sistema e la protezione dei dati. Le architetture resilienti possono aiutarti a soddisfare questi standard garantendo che i sistemi rimangano operativi e sicuri.
- Costi inferiori a lungo termine: le architetture resilienti richiedono un investimento iniziale, ma la resilienza può contribuire a ridurre i costi nel tempo impedendo i tempi di riposo costosi, evitando le correzioni reattive e consentendo un utilizzo più efficiente delle risorse.
Mentalità organizzativa
Per rendere affidabili i tuoi sistemi, hai bisogno di un piano e di una strategia consolidata. Questa strategia deve includere l'istruzione e l'autorità per dare la priorità all'affidabilità insieme ad altre iniziative.
Stabilisci chiaramente che l'intera organizzazione è responsabile dell'affidabilità, inclusi sviluppo, gestione del prodotto, operazioni, ingegneria della piattaforma e ingegneria di affidabilità del sito (SRE). Anche i gruppi incentrati sulle attività, come marketing e vendite, possono influire sull'affidabilità.
Ogni team deve comprendere gli obiettivi di affidabilità e i rischi delle proprie applicazioni. I team devono essere responsabili del rispetto di questi requisiti. I conflitti tra affidabilità e sviluppo regolare delle funzionalità del prodotto devono essere assegnati la priorità e riassegnati di conseguenza.
Pianifica e gestisci l'affidabilità in modo olistico, in tutte le funzioni e in tutti i team. Valuta la possibilità di creare un Cloud Center of Excellence (CCoE) che includa un pilastro di affidabilità. Per ulteriori informazioni, consulta Ottimizzare il percorso cloud della tua organizzazione con un Cloud Center of Excellence.
Aree di intervento per l'affidabilità
Le attività che esegui per progettare, implementare e gestire un sistema affidabile possono essere classificate nelle seguenti aree di interesse. Ciascuno dei principi e dei consigli di affidabilità di questo pilastro è pertinente a una di queste aree di attenzione.
- Definizione dell'ambito: per comprendere il sistema, esegui un'analisi dettagliata della sua architettura. Devi comprendere i componenti, il loro funzionamento e la loro interazione, il flusso di dati e azioni all'interno del sistema e cosa potrebbe andare storto. Identifica potenziali errori, colli di bottiglia e rischi, il che ti aiuta a intervenire per mitigare questi problemi.
- Osservazione: per contribuire a evitare guasti del sistema, implementa un'osservazione e un monitoraggio completi e continui. Grazie a questa osservazione, puoi comprendere le tendenze e identificare in modo proattivo i potenziali problemi.
- Risposta: per ridurre l'impatto degli errori, rispondi in modo appropriato e recupera in modo efficiente. Le risposte automatiche possono anche contribuire a ridurre l'impatto degli errori. Anche con la pianificazione e i controlli, possono verificarsi errori.
- Apprendimento: per evitare che gli errori si ripetano, impara da ogni esperienza e intraprendi le azioni appropriate.
Principi fondamentali
I consigli nel pilastro dell'affidabilità del Framework dell'architettura sono mappati ai seguenti principi fondamentali:
- Definire l'affidabilità in base agli obiettivi dell'esperienza utente
- Imposta target realistici per l'affidabilità
- Creare sistemi altamente disponibili tramite risorse ridondanti
- Sfrutta la scalabilità orizzontale
- Rileva i potenziali errori utilizzando l'osservabilità
- Progettare per il degradamento graduale
- Esegui test per il recupero dagli errori
- Eseguire test per il recupero da perdita di dati
- Esegui autopsie approfondite
Collaboratori
Autori:
- Laura Hyatt | Enterprise Cloud Architect
- Jose Andrade | Customer Engineer per l'Infrastruttura aziendale
- Gino Pelliccia | Principal Architect
Altri collaboratori:
- Andrés-Leonardo Martínez-Ortiz | Technical Program Manager
- Brian Kudzia | Customer Engineer per l'Infrastruttura aziendale
- Daniel Lees | Cloud Security Architect
- Filipe Gracio, PhD | Customer Engineer
- Gary Harmson | Customer Engineer
- Kumar Dhanagopal | Sviluppatore di soluzioni cross-product
- Marwan Al Shawi | Partner Customer Engineer
- Nicolas Pintaux | Customer Engineer, specialista in modernizzazione delle applicazioni
- Radhika Kanakam | Senior Program Manager, Cloud GTM
- Ryan Cox | Architetto principale
- Wade Holmes | Global Solutions Director
- Zach Seils | Specialista di networking