Il pilastro dell'affidabilità del Google Cloud Well-Architected Framework fornisce principi e consigli per aiutarti a progettare, eseguire il deployment e gestire workload affidabili in Google Cloud.
Questo documento è rivolto ad architetti, sviluppatori, ingegneri di piattaforma, amministratori e Site Reliability Engineer cloud.
L'affidabilità è la capacità di un sistema di svolgere 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 a tolleranza di errore, monitoraggio e processi di ripristino automatico.
Nell'ambito dell'affidabilità, la resilienza è la capacità del sistema di resistere e riprendersi da errori o interruzioni impreviste, mantenendo al contempo le prestazioni. Le funzionalità diGoogle Cloud , come i deployment multiregionali, i backup automatici e le soluzioni di ripristino di emergenza, possono aiutarti a migliorare la resilienza del tuo sistema.
L'affidabilità è importante per la tua strategia cloud per molti motivi, tra cui:
- Tempo di inattività minimo: i tempi di inattività possono comportare una perdita di entrate, una riduzione della produttività 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 aiutare 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 affida alla tecnologia per le operazioni critiche. Le architetture resilienti possono contribuire a garantire la continuità dopo un errore catastrofico, consentendo alle funzioni aziendali di continuare senza interruzioni significative e supportando un rapido ripristino.
- 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.
- Riduzione dei costi a lungo termine: le architetture resilienti richiedono un investimento iniziale, ma la resilienza può contribuire a ridurre i costi nel tempo prevenendo costosi tempi di inattività, evitando correzioni reattive e consentendo un utilizzo più efficiente delle risorse.
Mentalità organizzativa
Per rendere i tuoi sistemi affidabili, hai bisogno di un piano e di una strategia consolidata. Questa strategia deve includere la formazione e l'autorità per dare priorità all'affidabilità insieme ad altre iniziative.
Definisci chiaramente che l'intera organizzazione è responsabile dell'affidabilità, inclusi lo sviluppo, il product management, le operazioni, la progettazione della piattaforma e il Site Reliability Engineering (SRE). Anche i gruppi incentrati sul business, come il marketing e le vendite, possono influenzare l'affidabilità.
Ogni team deve comprendere i target di affidabilità e i rischi delle proprie applicazioni. I team devono essere responsabili di questi requisiti. I conflitti tra l'affidabilità e lo sviluppo regolare delle funzionalità del prodotto devono essere classificati in ordine di priorità e riassegnati di conseguenza.
Pianifica e gestisci l'affidabilità in modo olistico, in tutte le funzioni e i team. Valuta la possibilità di creare un Cloud Center of Excellence (CCoE) che includa un pilastro di affidabilità. Per saperne di più, consulta Ottimizza il percorso verso il cloud della tua organizzazione con un Cloud Center of Excellence.
Aree di interesse per l'affidabilità
Le attività che svolgi per progettare, eseguire il deployment e gestire un sistema affidabile possono essere classificate nelle seguenti aree di interesse. Ciascuno dei principi e dei suggerimenti di affidabilità di questo pilastro è pertinente a una di queste aree di interesse.
- Definizione dell'ambito: per comprendere il tuo 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 attraverso il sistema e cosa potrebbe andare storto. Identificare potenziali errori, colli di bottiglia e rischi, il che ti aiuta a passare all'azione per mitigare questi problemi.
- Osservazione: per contribuire a prevenire gli errori di sistema, implementa un'osservazione e un monitoraggio completi e continui. Attraverso questa osservazione, puoi comprendere le tendenze e identificare i potenziali problemi in modo proattivo.
- Risposta: per ridurre l'impatto degli errori, rispondi in modo appropriato ed esegui il recupero in modo efficiente. Le risposte automatiche possono anche contribuire a ridurre l'impatto degli errori. Nonostante 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.
Valuta i workload utilizzando una skill dell'agente
Per consentire agli agenti AI di valutare i tuoi workload cloud in base ai principi e ai suggerimenti di questo pilastro, utilizza la skill google-cloud-waf-reliability, disponibile nel repository Google Agent Skills su GitHub.
Per installare la skill, esegui questo comando nel client o nel terminale dell'agente:
npx skills add google/skills --skill google-cloud-waf-reliability
Quando richiesto, specifica gli agenti AI per cui vuoi installare la skill e imposta l'ambito di installazione (progetto o globale).
Se hai già installato la skill, puoi aggiornarla all'ultima versione eseguendo questo comando:
npx skills update
Principi fondamentali
I suggerimenti del pilastro dell'affidabilità del Well-Architected Framework sono mappati ai seguenti principi fondamentali:
- Definisci l'affidabilità in base agli obiettivi dell'esperienza utente
- Imposta target realistici per l'affidabilità
- Crea sistemi ad alta affidabilità tramite la ridondanza delle risorse
- Sfrutta la scalabilità orizzontale
- Rileva potenziali errori utilizzando l'osservabilità
- Progetta per una riduzione controllata
- Esegui test per il ripristino dagli errori
- Esegui test per il recupero dalla perdita di dati
- Esegui postmortem approfonditi
Collaboratori
Autori:
- Laura Hyatt | Customer Engineer, FSI
- Jose Andrade | Customer Engineer, SRE Specialist
- Gino Pelliccia | Principal Architect
Altri collaboratori:
- 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