Un'infrastruttura affidabile è un requisito fondamentale per i carichi di lavoro nel cloud. In qualità di Cloud Architect, per progettare un'infrastruttura affidabile per i carichi di lavoro, hai bisogno di una buona conoscenza delle funzionalità di affidabilità del tuo cloud provider preferito. Questo documento descrive i componenti di base dell'affidabilità in Google Cloud (zone, regioni e risorse con ambito località) e i livelli di disponibilità forniti. Questo documento fornisce inoltre linee guida per valutare i requisiti di affidabilità dei carichi di lavoro e suggerimenti di architettura per la creazione e la gestione di infrastrutture affidabili in Google Cloud.
Il documento è suddiviso nelle seguenti parti:
- Panoramica dell'affidabilità (questa parte)
- Componenti di base per l'affidabilità in Google Cloud
- Valuta i requisiti di affidabilità per i carichi di lavoro cloud
- Progettare un'infrastruttura affidabile per i carichi di lavoro in Google Cloud
- Gestisci il traffico e il carico per i tuoi carichi di lavoro in Google Cloud
- Gestire e monitorare l'infrastruttura Google Cloud
Se hai già letto questa guida e hai bisogno di un riepilogo delle modifiche, consulta la sezione Log delle modifiche.
Panoramica dell'affidabilità
Un'applicazione o un carico di lavoro è affidabile quando soddisfa gli obiettivi attuali di disponibilità e resilienza agli errori.
La disponibilità (o uptime) è la percentuale di tempo in cui un'applicazione è utilizzabile. Ad esempio, per un'applicazione con un target di disponibilità del 99,99%, il tempo di inattività totale non deve superare gli 8,64 secondi in un periodo di 24 ore. A volte, la disponibilità viene misurata come proporzione di richieste che l'applicazione gestisce correttamente in un determinato periodo. Ad esempio, per un'applicazione con un target di disponibilità del 99,99%, per ogni 100.000 richieste ricevute, non più di dieci richieste potrebbero non riuscire. La disponibilità è spesso espressa come il numero di nove in percentuale. Ad esempio, una disponibilità del 99,99% è espressa come "4 nove".
A seconda dello scopo dell'applicazione, potresti avere insiemi diversi di indicatori relativi all'affidabilità dell'applicazione. Di seguito sono riportati alcuni esempi di tali indicatori di affidabilità:
- Per le applicazioni che gestiscono contenuti, disponibilità, latenza e velocità effettiva sono importanti indicatori di affidabilità. Indicano se l'applicazione può rispondere alle richieste, quanto tempo impiega per rispondere alle richieste e quante richieste può essere elaborata correttamente in un determinato periodo.
- Per i database e i sistemi di archiviazione, latenza, velocità effettiva, disponibilità e durabilità (ovvero il livello di protezione dei dati da perdita o danneggiamento) sono indicatori di affidabilità. Indicano quanto tempo impiega il sistema a leggere o scrivere dati e se i dati sono accessibili on demand.
- Per i carichi di lavoro di big data e analisi come le pipeline di elaborazione dati, le prestazioni coerenti delle pipeline (velocità effettiva e latenza) sono essenziali per garantire l'aggiornamento dei prodotti dati e sono un importante indicatore di affidabilità. Indica quanti dati possono essere elaborati e quanto tempo impiega la pipeline per passare dall'importazione dati'elaborazione dei dati.
- La maggior parte delle applicazioni ha la correttezza dei dati come indicatore di affidabilità essenziale.
Per ulteriori linee guida su come definire gli obiettivi di affidabilità per le applicazioni, consulta Valutare i requisiti di affidabilità per i carichi di lavoro cloud.
Fattori che influenzano l'affidabilità dell'applicazione
L'affidabilità di un'applicazione di cui è stato eseguito il deployment in Google Cloud dipende dai seguenti fattori:
- Il design interno dell'applicazione.
- Le applicazioni o i componenti secondari da cui dipende l'applicazione.
- Risorse dell'infrastruttura Google Cloud, ad esempio calcolo, networking, archiviazione, database e sicurezza su cui viene eseguita l'applicazione, nonché il modo in cui l'applicazione utilizza l'infrastruttura.
- Capacità di infrastruttura di cui esegui il provisioning e scalabilità della capacità.
- I processi e gli strumenti DevOps che utilizzi per creare, eseguire il deployment e gestire l'applicazione, le sue dipendenze e l'infrastruttura di Google Cloud.
Questi fattori sono riassunti nel seguente diagramma:
Come mostrato nel diagramma precedente, l'affidabilità di un'applicazione di cui viene eseguito il deployment in Google Cloud dipende da più fattori. Questa guida è incentrata sull'affidabilità dell'infrastruttura Google Cloud.
Passaggi successivi
- Componenti di base per l'affidabilità in Google Cloud
- Valuta i requisiti di affidabilità per i carichi di lavoro cloud
- Progettare un'infrastruttura affidabile per i carichi di lavoro in Google Cloud
- Gestisci il traffico e il carico per i tuoi carichi di lavoro in Google Cloud
- Gestire e monitorare l'infrastruttura Google Cloud
Collaboratori
Autori:
- Nir Tarcic | Cloud Lifecycle SRE UTL
- Kumar Dhanagopal | Sviluppatore di soluzioni cross-product
Altri collaboratori:
- Alok Kumar | Ingegnere distinto
- Andrew Fikes | Engineering Fellow, Aliability
- Chris Heiser | SRE TL
- David Ferguson | Direttore, Site Reliability Engineering
- Joe Tan | Consulente senior di prodotto
- Krzysztof Duleba | Ingegnere principale
- Narayan Desai | SRE principale
- Sailesh Krishnamurthy | VP, Engineering
- Steve McGhee | Avvocato dell'affidabilità
- Sudhanshu Jain | Product Manager
- Yaniv Aknin | Ingegnere informatico