Google Cloud Well-Architected Framework

Last reviewed 2024-10-11 UTC

Il framework Well-Architected fornisce suggerimenti per aiutare architetti, sviluppatori, amministratori e altri professionisti del cloud a progettare e gestire una topologia cloud sicura, efficiente, resiliente, ad alte prestazioni ed economica.

Un team di esperti di Google di varie funzioni convalida i consigli nel framework Well-Architected. Il team cura il framework Well-Architected per riflettere le funzionalità in espansione di Google Cloud, le best practice del settore, le conoscenze della community e i tuoi feedback. Per un riepilogo delle modifiche significative apportate al framework Well-Architected, consulta Novità.

Il framework Well-Architected è pertinente per le applicazioni create per il cloud e per i carichi di lavoro di cui è stata eseguita la migrazione da on-premise a deployment Google Cloud, cloud ibridi ed ambienti multi-cloud.

Pilastri e prospettive di Well-Architected Framework

Well-Architected Framework è organizzato in cinque pilastri, come mostrato nel seguente diagramma. Forniamo inoltre punti di vista trasversali che si concentrano su consigli per domini, settori e tecnologie selezionati, come l'IA e il machine learning (ML).

Well-Architected Framework.

Pilastri

Eccellenza operativa
Esegui il deployment, gestisci, monitora e gestisci in modo efficiente i tuoi carichi di lavoro cloud.
Sicurezza, privacy e conformità
Massimizza la sicurezza dei tuoi dati e dei tuoi carichi di lavoro nel cloud, progetta per la privacy e allineati ai requisiti e agli standard 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 delle prestazioni
Progetta e ottimizza le tue risorse cloud per prestazioni ottimali.

Prospettive

IA e ML
Una visualizzazione tra i pilastri dei consigli specifici per i carichi di lavoro di IA e ML.

Principi fondamentali

Prima di esaminare i consigli in ogni pilastro del framework Well-Architected, 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 in modo coerente la capacità di implementare le modifiche contribuisce a instaurare un rapporto di fiducia con gli stakeholder, inclusi i team responsabili del sistema e gli utenti del sistema. L'utilizzo delle metriche di distribuzione del software di DORA può aiutare il tuo team a monitorare la velocità, la semplicità e la sicurezza delle modifiche apportate al sistema.

Documenta l'architettura

Quando inizi a spostare i carichi di lavoro sul cloud o a creare le tue applicazioni, la mancanza di documentazione sul sistema può essere un ostacolo importante. La documentazione è particolarmente importante per visualizzare correttamente l'architettura dei tuoi implementazioni 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 inoltre le informazioni necessarie per identificare e orientare le decisioni di progettazione future. La documentazione deve essere scritta tenendo conto dei tuoi casi d'uso per fornire il contesto per le decisioni di progettazione.

Nel tempo, le tue decisioni di progettazione si evolveranno e cambieranno. La cronologia delle modifiche fornisce il contesto necessario ai team per allineare le iniziative, evitare duplicati e misurare in modo efficace le variazioni del rendimento nel tempo. I log delle modifiche sono particolarmente utili quando accogli un nuovo architetto del cloud che non ha ancora familiarità con il tuo design, la tua strategia o la tua cronologia 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 da comprendere, sarà 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 tuoi carichi di lavoro in produzione, esegui test con i servizi gestiti per capire in che modo possono aiutarti 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 all'impulso di progettare un sistema troppo complesso. Puoi identificare casi d'uso eccezionali, eseguire l'iterazione e migliorare i tuoi sistemi in modo incrementale nel tempo.

Disaccoppia l'architettura

La ricerca di DORA mostra che l'architettura è un fattore di previsione importante 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 applicazioni monolitiche in singoli componenti di servizio. In un'architettura a basso accoppiamento, un'applicazione può eseguire le sue funzioni in modo indipendente, indipendentemente dalle varie dipendenze.

Un'architettura disaccoppiata ti offre una maggiore flessibilità per:

  • Applica upgrade indipendenti.
  • Applicare controlli di sicurezza specifici.
  • Stabilisci obiettivi di affidabilità per ogni sottosistema.
  • Monitora lo stato di salute.
  • Controlla in modo granulare i parametri di prestazioni e costi.

Puoi avviare il processo di disaccoppiamento nella fase di progettazione o incorporarlo come parte degli upgrade di sistema durante il ridimensionamento.

Utilizza un'architettura stateless

Un'architettura stateless può aumentare sia l'affidabilità sia la scalabilità delle tue applicazioni.

Le applicazioni con stato si basano su varie dipendenze per eseguire attività, come la memorizzazione nella cache locale dei dati. Le applicazioni con stato spesso richiedono meccanismi aggiuntivi per acquisire i progressi e riavviare in modo corretto. Le applicazioni senza stato possono eseguire attività senza dipendenze locali significative utilizzando archiviazione condivisa o servizi memorizzati nella cache. 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.