Archetipo di implementazione globale di Google Cloud

Last reviewed 2024-11-20 UTC

Questa sezione della guida agli archetipi di deployment di Google Cloud descrive l'archetipo di deployment globale.

In un'architettura basata sull'archetipo di deployment globale, l'applicazione viene eseguita in più regioni Google Cloud in tutto il mondo. Puoi eseguire il deployment dell'applicazione come uno stack distribuito indipendente dalla posizione o come più stack isolati a livello di regione. In entrambi i casi, un bilanciatore del carico anycast globale distribuisce il traffico nella regione appropriata. L'applicazione scrive e legge i dati da un database con replica sincrona disponibile in tutte le regioni, ad esempio Spanner con configurazione multiregionale. Anche altri componenti dello stack dell'applicazione possono essere globali, ad esempio la cache e l'object store.

Il seguente diagramma mostra la variante distribuita non consapevole della posizione dell'archetipo di implementazione globale:

Archetipo di deployment globale con uno stack di applicazioni distribuito a livello globale.

Il diagramma precedente mostra uno stack di applicazioni indipendente dalla posizione, con istanze frontend e backend (in genere microservizi) distribuite su più zone in tre regioni Google Cloud. Un bilanciatore del carico anycast globale distribuisce il traffico in entrata a un'istanza frontend appropriata. Questa distribuzione si basa sulla disponibilità e sulla capacità delle istanze e sulla loro vicinanza geografica alla sorgente del traffico. I bilanciatori del carico interni tra regioni distribuiscono il traffico dalle istanze frontend alle istanze di backend appropriate in base alla loro disponibilità e capacità. L'applicazione utilizza un database replicato in modo sincrono e disponibile in più regioni.

Il seguente diagramma mostra una variante dell'archetipo di implementazione globale con stack di applicazioni isolate a livello di regione:

Archetipo di deployment globale con stack di applicazioni isolate a livello di regione.

Il diagramma precedente mostra gli stack di applicazioni isolati a livello di regione che vengono eseguiti in più zone in due regioni Google Cloud. Questa topologia è simile all'archetipo di deployment multiregionale, ma utilizza un bilanciatore del carico anycast globale anziché il routing DNS. Il bilanciatore del carico globale distribuisce il traffico in entrata a un frontend nella regione più vicina all'utente. Entrambi gli stack delle applicazioni scrivono dati in un database e li leggono da un database che viene replicato in modo sincrono ed è disponibile in entrambe le regioni. Se si verifica un'interruzione del servizio in una delle due regioni, il bilanciatore del carico globale invia le richieste degli utenti a un frontend nell'altra regione.

Casi d'uso

Le sezioni seguenti forniscono esempi di casi d'uso per i quali l'archetipo di implementazione globale è una scelta appropriata.

Applicazione altamente disponibile per un pubblico globale

Consigliamo l'archetipo di deployment globale per le applicazioni che servono utenti in tutto il mondo e, di conseguenza, richiedono un'elevata disponibilità e robustezza contro gli arresti anomali in più regioni.

Opportunità di ottimizzare i costi e semplificare le operazioni

Con l'archetipo di deployment globale, puoi utilizzare risorse globali ad alta disponibilità come un bilanciatore del carico globale e un database globale. Rispetto a un deployment multiregionale, un deployment globale può contribuire a ridurre i costi e semplificare le operazioni perché esegui il provisioning e la gestione di meno risorse.

Note sul layout

Quando crei un'architettura basata sull'archetipo di implementazione globale, prendi in considerazione i seguenti fattori di progettazione.

Costi di archiviazione, replica e networking

In un'architettura distribuita a livello globale, il volume del traffico di rete tra sedi può essere elevato rispetto a un deployment regionale. Potresti anche memorizzare e riprodurre più dati. Quando crei un'architettura basata sull'archetipo di deployment globale, tieni conto del costo potenzialmente più elevato per lo stoccaggio dei dati e la rete. Per le applicazioni business-critical, il vantaggio in termini di disponibilità di un'architettura distribuita a livello globale potrebbe superare i costi più elevati di networking e archiviazione.

Gestione delle modifiche alle risorse globali

L'opportunità di utilizzare risorse globali ad alta disponibilità può aiutarti a ottimizzare i costi e semplificare le operazioni. Tuttavia, per assicurarti che le risorse globali non diventino singoli punti di errore (SPOF), devi gestire attentamente le modifiche di configurazione alle risorse globali.

Architettura di riferimento

Per un'architettura di riferimento che puoi utilizzare per progettare un deployment globale, consulta Deployment globale con Compute Engine e Spanner.