Framework dell'architettura Google Cloud

Last reviewed 2024-09-02 UTC

Il framework dell'architettura Google Cloud fornisce suggerimenti e descrive best practice per aiutare architect, sviluppatori, amministratori e altre risorse progetta e gestiscono una topologia cloud che sia sicura, efficiente resiliente, ad alte prestazioni ed economico. L'architettura di Google Cloud Il framework è la nostra versione di un framework ben strutturato.

Un team di esperti di Google di varie funzioni convalida i consigli di progettazione e le best practice che compongono il framework dell'architettura. La cura il framework dell'architettura in modo da riflettere le capacità di espansione Google Cloud, best practice del settore, conoscenze della community e feedback di te. Per un riepilogo delle modifiche significative, consulta Novità.

Le indicazioni di progettazione nel framework dell'architettura si applicano alle applicazioni sviluppate per il cloud e ai carichi di lavoro di cui è stata eseguita la migrazione da on-premise a Google Cloud, ai deployment cloud ibridi e agli ambienti multi-cloud.

Categorie del framework dell'architettura

Il framework dell'architettura Google Cloud è organizzato in cinque categorie (detti anche pilastri), come illustrato nel seguente diagramma:

Framework dell'architettura Google Cloud.

Eccellenza operativa
Esegui il deployment, esegui, monitora e gestisci i tuoi carichi di lavoro cloud in modo efficiente.
Sicurezza, privacy e conformità
Massimizza la sicurezza dei tuoi dati e dei tuoi carichi di lavoro nel cloud, progetta per privacy ed essere allineati agli standard e ai requisiti normativi.
Affidabilità
Progetta e gestisci carichi di lavoro resilienti e ad alta disponibilità nel cloud.
Ottimizzazione dei costi
Massimizza il valore aziendale del tuo investimento in Google Cloud.
Ottimizzazione del rendimento
Progetta e ottimizza le tue risorse cloud per prestazioni ottimali.

Principi fondamentali

Prima di esplorare i suggerimenti di ogni categoria del corso di Google, esamina i seguenti principi fondamentali:

Progettare per il cambiamento

Nessun sistema è statico. Le esigenze degli utenti, gli obiettivi del team che sviluppa il sistema e il sistema stesso sono in continua evoluzione. Tenendo presente la necessità di cambiare, crea un processo di sviluppo e produzione che consenta ai team di apportare regolarmente piccole modifiche e di ricevere un feedback rapido in merito. Dimostrare coerentemente che è in grado di eseguire il deployment delle modifiche contribuisce a creare fiducia con gli stakeholder, inclusi i team responsabili del sistema e gli utenti del sistema. Utilizzo Metriche di distribuzione del software di DORA possono aiutare il tuo team a monitorare la velocità, la facilità e la sicurezza delle modifiche di un sistema operativo completo.

Documenta l'architettura

Quando inizi a spostare i tuoi carichi di lavoro sul cloud o a creare le tue applicazioni, la mancanza di documentazione sul sistema può essere un ostacolo importante. Documentazione è particolarmente importante per visualizzare correttamente l'architettura deployment attuali.

La qualità della documentazione non si ottiene producendo una quantità specifica di documentazione, ma dalla chiarezza e dall'utilità dei contenuti e dal modo in cui vengono gestiti man mano che il sistema cambia.

Un'architettura cloud correttamente documentata stabilisce un linguaggio e standard comuni, che consentono ai team interfunzionali di comunicare e collaborare in modo efficace. La documentazione fornisce anche le informazioni necessarie per identificare e guidare le future decisioni di progettazione. La documentazione deve essere scritta con ai tuoi casi d'uso, per fornire il contesto delle decisioni di progettazione.

Nel tempo, le decisioni inerenti alla progettazione si evolveranno e cambieranno. La cronologia delle modifiche fornisce il contesto richiesto ai team per allineare le iniziative, evitare duplicati e misurare le variazioni del rendimento in modo efficace nel tempo. Log delle modifiche particolarmente utili quando si progetta un nuovo cloud architect che non è ancora familiarità con il design, la strategia o la storia attuali.

L'analisi di DORA ha rilevato un chiaro legame tra la qualità della documentazione e il risultato dell'organizzazione, ovvero la capacità dell'organizzazione di raggiungere gli obiettivi di rendimento e redditività.

Semplifica il design e utilizza servizi completamente gestiti

La semplicità è fondamentale per il design. Se la tua architettura è troppo complessa capire, sarebbe difficile implementare il design e gestirlo nel tempo. Ove possibile, utilizza servizi completamente gestiti per ridurre al minimo i rischi, il tempo e lo sforzo associati alla gestione e alla manutenzione dei sistemi di riferimento.

Se esegui già i carichi di lavoro in produzione, esegui il test con per capire come possono aiutare a ridurre le complessità operative. Se stai sviluppando nuovi carichi di lavoro, inizia con qualcosa di semplice, crea un prodotto minimo funzionante (MVP) e resisti alla tentazione di fare troppo. Puoi identificare casi d'uso eccezionali, iterare e migliorare i sistemi in modo incrementale nel tempo.

Disaccoppia l'architettura

La ricerca di DORA mostra che l'architettura è un importante fattore di previsione per la realizzazione della distribuzione continua. Il disaccoppiamento è una tecnica utilizzata per separare le applicazioni e i componenti di servizio in componenti più piccoli che possono funzionare in modo indipendente. Ad esempio, potresti separare uno stack di applicazione monolitica in componenti del servizio. In un'architettura a basso accoppiamento, un'applicazione può eseguire le sue funzioni in modo indipendente, indipendentemente dalle varie dipendenze.

Un'architettura disaccoppiata offre una maggiore flessibilità per:

  • Applica upgrade indipendenti.
  • Applicare controlli di sicurezza specifici.
  • Stabilisci obiettivi di affidabilità per ogni sottosistema.
  • Monitora la salute.
  • Controllo granulare delle prestazioni e dei parametri di costo.

Puoi avviare il processo di disaccoppiamento nelle prime fasi della fase di progettazione oppure incorporare come parte degli upgrade del sistema man mano che esegui la scalabilità.

Utilizza un'architettura stateless

Un'architettura stateless può aumentare l'affidabilità e la scalabilità le tue applicazioni.

Le applicazioni con stato si basano su varie dipendenze per eseguire attività, come la memorizzazione nella cache locale dei dati. Le applicazioni stateful spesso richiedono meccanismi aggiuntivi per acquisire i progressi e riavviare senza problemi. le applicazioni stateless senza dipendenze locali significative utilizzando lo spazio di archiviazione condiviso o i servizi di machine learning. Un'architettura stateless consente alle applicazioni di scalare rapidamente con dipendenze di avvio minime. Le applicazioni possono resistere a riavvii forzati, hanno un tempo di riposo inferiore e offrono un rendimento migliore per gli utenti finali.