Questo documento nel Framework dell'architettura Google Cloud descrive sei archetipi di deployment1: a livello di zona, di singola regione, globali, ibridi e multi-cloud, che puoi utilizzare per creare per i carichi di lavoro cloud in base ai requisiti di disponibilità, in termini di costi, prestazioni ed efficienza operativa.
Cos'è un archetipo di deployment?
Un archetipo di deployment è un modello astratto, indipendente dal provider che utilizzi come base per creare architetture di deployment specifiche per le applicazioni che soddisfare i requisiti aziendali e tecnici. Ogni archetipo di deployment specifica una combinazione di domini in errore in cui può essere eseguita un'applicazione. Questi I domini in errore possono essere uno o più zone o regioni Google Cloud, e possono estendersi per includere data center on-premise o domini in errore in altri cloud provider.
Il seguente diagramma mostra sei applicazioni di cui è stato eseguito il deployment in Google Cloud. Ogni applicazione utilizza un archetipo di deployment che soddisfa le sue i tuoi requisiti.
Come mostra il diagramma precedente, in un'architettura che utilizza il modello di deployment multi-cloud, la topologia cloud si basa su uno dei archetipi di base: a livello di zona, di singola regione, di più regioni o globali. In questo senso, gli archetipi di deployment ibrido e multi-cloud possono essere considerati compositi archetipi di deployment che includono uno degli archetipi di base.
La scelta di un archetipo di deployment aiuta a semplificare le decisioni successive relative a i prodotti e le funzionalità Google Cloud che dovresti utilizzare. Ad esempio: per un'applicazione containerizzata ad alta disponibilità, se scegli l'opzione dell'archetipo del deployment, i cluster Google Kubernetes Engine (GKE) a livello di regione dei cluster GKE a livello di zona.
Quando scegli un archetipo di deployment per un'applicazione, devi considerare compromessi tra fattori come disponibilità, costi e complessità operativa. Ad esempio, se un'applicazione serve gli utenti in più paesi e ha bisogno di un'elevata disponibilità, potresti scegliere l'archetipo di deployment multiregionale. Ma per un'applicazione interna utilizzata dai dipendenti in un unico ambiente regione, potresti dare la priorità al costo rispetto alla disponibilità e, di conseguenza, scegliere un archetipo di deployment regionale.
Panoramica degli archetipi di deployment
Le seguenti schede forniscono le definizioni degli archetipi di deployment e un riepilogo dei casi d'uso e le considerazioni relative alla progettazione di ciascuno.
A livello di zona
L'applicazione viene eseguita all'interno di una singola zona Google Cloud, come mostrato in il seguente diagramma:
Casi d'uso |
|
---|---|
Note sul layout |
|
Ulteriori informazioni | Consulta le seguenti sezioni: |
Regionale
L'applicazione viene eseguita in modo indipendente in due o più zone all'interno di un Regione Google Cloud, come mostrato nel diagramma seguente:
Casi d'uso |
|
---|---|
Note sul layout |
|
Ulteriori informazioni | Consulta le seguenti sezioni: |
A più regioni
L'applicazione viene eseguita in modo indipendente in più zone su due o più regioni di Google Cloud. Puoi utilizzare i criteri di routing DNS per indirizzare del traffico in entrata verso i bilanciatori del carico a livello di regione. I bilanciatori del carico a livello di regione quindi distribuirà il traffico alle repliche a livello di zona dell'applicazione, come nel seguente diagramma:
Casi d'uso |
|
---|---|
Note sul layout |
|
Ulteriori informazioni | Consulta le seguenti sezioni: |
Globale
La tua applicazione viene eseguita su Google Cloud regioni di tutto il mondo, sotto forma di stack distribuito globale (location-unaware) come stack isolati a livello di regione. Un carico anycast globale distribuisce il traffico alla regione più vicina all'utente. Altro che componenti dello stack di applicazioni possono essere globali, come Cache e archiviazione di oggetti.
Il seguente diagramma mostra la variante distribuita a livello globale della un archetipo di deployment. Un bilanciatore del carico anycast globale inoltra le richieste a un di uno stack di applicazioni distribuito in più regioni e che utilizza replicato a livello globale.
Il seguente diagramma mostra una variante dell'archetipo del deployment globale con con stack di applicazioni isolati a livello di regione. Un bilanciatore del carico anycast globale inoltra a uno stack di applicazioni in una delle regioni. Tutte le applicazioni usano un unico database replicato a livello globale.
Casi d'uso |
|
---|---|
Note sul layout | Costi di trasferimento e replica dei dati tra regioni. |
Ulteriori informazioni | Consulta le seguenti sezioni: |
Ibrido
Il deployment di alcune parti della tua applicazione è stato eseguito in Google Cloud, mentre le altre vengono eseguite on-premise, come illustrato nel diagramma seguente. La topologia in Google Cloud può utilizzare le istanze di zona, a livello di regione, multiregionale un archetipo di deployment globale.
Casi d'uso |
|
---|---|
Note sul layout |
|
Ulteriori informazioni | Consulta le seguenti sezioni: |
Multi-cloud
Il deployment di alcune parti dell'applicazione viene eseguito in Google Cloud di altre parti viene eseguito il deployment in altre piattaforme cloud, come illustrato di seguito in questo diagramma. La topologia in ogni piattaforma cloud può utilizzare archetipo di deployment globale o multiregionale.
Casi d'uso |
|
---|---|
Note sul layout |
|
Ulteriori informazioni | Consulta le seguenti sezioni: |
-
Anna Berenberg e Brad Calder, Deployment Archetypes for Cloud Applications, ACM Computing Surveys, Volume 55, Numero 3, Articolo n.: 61, pp 1-48 ↩