Il pilastro dell'affidabilità nel Google Cloud framework Well-Architected fornisce principi e suggerimenti per aiutarti a progettare, eseguire il deployment e gestire carichi di lavoro affidabili in Google Cloud.
Questo documento è rivolto ad architetti cloud, sviluppatori, ingegneri di piattaforma, amministratori e SRE.
L'affidabilità è la capacità di un sistema di svolgere costantemente le sue funzioni previste nelle condizioni definite e di mantenere un servizio ininterrotto. Le best practice per l'affidabilità includono ridondanza, progettazione a tolleranza di errore, monitoraggio e processi di ripristino automatici.
Nell'ambito dell'affidabilità, la resilienza è la capacità del sistema di resistere e riprendersi da guasti o interruzioni impreviste, mantenendo le prestazioni. Le funzionalitàGoogle Cloud , come implementazioni multiregionali, backup automatici e soluzioni di ripristino di emergenza, possono aiutarti a migliorare la resilienza del sistema.
L'affidabilità è importante per la tua strategia cloud per molti motivi, tra cui:
- Tempi di inattività minimi: i tempi di inattività possono comportare perdite di entrate, riduzione della produttività e danni alla reputazione. Le architetture resilienti possono contribuire a garantire che i sistemi possano continuare a funzionare durante i guasti o ripristinarsi in modo efficiente.
- Esperienza utente migliorata: gli utenti si aspettano interazioni fluide con la tecnologia. I sistemi resilienti possono contribuire a mantenere prestazioni e disponibilità costanti e forniscono 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à operativa: la tua attività si basa sulla tecnologia per le operazioni critiche. Le architetture resilienti possono contribuire a garantire la continuità dopo un guasto catastrofico, il che consente alle funzioni aziendali di continuare senza interruzioni significative e supporta 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 rispettare questi standard garantendo che i sistemi rimangano operativi e sicuri.
- Costi a lungo termine inferiori: le architetture resilienti richiedono un investimento iniziale, ma la resilienza può contribuire a ridurre i costi nel tempo evitando costosi tempi di inattività, 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à di dare la priorità all'affidabilità insieme ad altre iniziative.
Definisci un'aspettativa chiara che l'intera organizzazione sia responsabile dell'affidabilità, inclusi sviluppo, gestione del prodotto, operazioni, ingegneria della piattaforma e site reliability engineering (SRE). Anche i gruppi incentrati sul business, come marketing e vendite, possono influenzare l'affidabilità.
Ogni team deve comprendere i target 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 prioritari 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 configurare un Cloud Center of Excellence (CCoE) che includa un pilastro di affidabilità. Per ulteriori informazioni, vedi 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 interesse.
- 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 nel sistema e cosa potrebbe andare storto. Identifica potenziali guasti, colli di bottiglia e rischi, il che ti aiuta ad adottare misure per mitigare questi problemi.
- Osservazione: per evitare guasti al 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 dei guasti, rispondi in modo appropriato e ripristina in modo efficiente. Le risposte automatizzate possono anche contribuire a ridurre l'impatto dei guasti. Anche con la pianificazione e i controlli, possono comunque verificarsi errori.
- Apprendimento: per evitare che gli errori si ripetano, impara da ogni esperienza e intraprendi le azioni appropriate.
Principi fondamentali
I consigli del pilastro dell'affidabilità del framework Well-Architected sono mappati ai seguenti principi fondamentali:
- Definisci l'affidabilità in base agli obiettivi dell'esperienza utente
- Impostare target realistici per l'affidabilità
- Creare sistemi ad alta disponibilità tramite la ridondanza delle risorse
- Sfruttare la scalabilità orizzontale
- Rilevare potenziali errori utilizzando l'osservabilità
- Progettare per la degradazione controllata
- Esegui test per il ripristino dagli errori
- Eseguire test per il ripristino dalla perdita di dati
- Eseguire analisi post mortem 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 | Principal Architect
- 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 | Principal Architect
- Samantha He | Technical Writer
- Wade Holmes | Global Solutions Director
- Zach Seils | Specialista di networking