Il framework Well-Architected fornisce consigli 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 interfunzionale di esperti di Google convalida i consigli del Well-Architected Framework. Il team cura il Well-Architected Framework 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 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 Google Cloud, ai deployment cloud ibrido e agli ambienti multi-cloud.
Pilastri e prospettive del Well-Architected Framework
Il Well-Architected Framework è organizzato in cinque pilastri, come mostrato nel seguente diagramma. Forniamo anche prospettive interfunzionali che si concentrano sui consigli per domini, settori e tecnologie selezionati, come l'AI e il machine learning (ML).
Pillars
- 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 workload 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 del rendimento
- Progetta e ottimizza le tue risorse cloud per prestazioni ottimali.
Prospettive
- AI e ML
- Una visualizzazione interpillar dei suggerimenti specifici per i carichi di lavoro di AI e ML.
- Settore dei servizi finanziari (FSI)
- Una visualizzazione interpillar dei suggerimenti specifici per i carichi di lavoro FSI.
Principi fondamentali
Prima di esplorare i consigli in ogni pilastro del Well-Architected Framework, esamina i seguenti principi fondamentali:
Progettare per il cambiamento
Nessun sistema è statico. Le esigenze degli utenti, gli obiettivi del team che crea il sistema e il sistema stesso sono in continua evoluzione. Tenendo presente la necessità di cambiamento, crea un processo di sviluppo e produzione che consenta ai team di apportare regolarmente piccole modifiche e ricevere rapidamente feedback su queste modifiche. Dimostrare costantemente la capacità di implementare le modifiche contribuisce a creare 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 facilità e la sicurezza delle modifiche apportate al sistema.
Documenta l'architettura
Quando inizi a spostare i carichi di lavoro nel cloud o a creare le tue applicazioni, la mancanza di documentazione sul sistema può rappresentare un ostacolo importante. La documentazione è particolarmente importante per visualizzare correttamente l'architettura delle tue implementazioni attuali.
Una documentazione di qualità non si ottiene producendo una quantità specifica di documentazione, ma dalla chiarezza e dall'utilità dei contenuti e dalla loro manutenzione man mano che il sistema cambia.
Un'architettura cloud documentata correttamente stabilisce un linguaggio e standard comuni, che consentono ai team cross-funzionali di comunicare e collaborare in modo efficace. La documentazione fornisce anche le informazioni necessarie per identificare e guidare le decisioni di progettazione future. La documentazione deve essere scritta tenendo conto dei tuoi casi d'uso, per fornire il contesto delle decisioni di progettazione.
Nel tempo, le tue decisioni di progettazione si evolveranno e cambieranno. La cronologia delle modifiche fornisce il contesto necessario ai tuoi team per allineare le iniziative, evitare duplicazioni e misurare in modo efficace le variazioni del rendimento nel tempo. I log delle modifiche sono particolarmente utili quando viene inserito un nuovo cloud architect che non ha ancora familiarità con la progettazione, la strategia o la cronologia attuali.
L'analisi di DORA ha rilevato un chiaro collegamento tra la qualità della documentazione e le prestazioni dell'organizzazione, ovvero la capacità dell'organizzazione di raggiungere i propri obiettivi di prestazioni e redditività.
Semplifica la progettazione e utilizza servizi completamente gestiti
La semplicità è fondamentale per la progettazione. Se la tua architettura è troppo complessa da comprendere, sarà difficile implementare la progettazione e gestirla nel tempo. Ove possibile, utilizza servizi completamente gestiti per ridurre al minimo i rischi, il tempo e l'impegno associati alla gestione e alla manutenzione dei sistemi di base.
Se i carichi di lavoro sono già in esecuzione in produzione, esegui test con i servizi gestiti per vedere come possono contribuire a ridurre le complessità operative. Se stai sviluppando nuovi carichi di lavoro, inizia in modo semplice, crea un prodotto minimo funzionante (MVP) e resisti alla tentazione di esagerare. Puoi identificare casi d'uso eccezionali, eseguire iterazioni e migliorare i tuoi sistemi in modo incrementale nel tempo.
Disaccoppia l'architettura
La ricerca di DORA mostra che l'architettura è un importante fattore predittivo per ottenere la continuous delivery. 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 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 offre maggiore flessibilità per:
- Applica upgrade indipendenti.
- Applica controlli di sicurezza specifici.
- Stabilisci gli obiettivi di affidabilità per ogni sottosistema.
- Monitorare la salute.
- Controlla in modo granulare i parametri di prestazioni e costi.
Puoi avviare il processo di disaccoppiamento all'inizio della fase di progettazione o incorporarlo come parte degli upgrade del sistema man mano che aumenti le dimensioni.
Utilizzare un'architettura stateless
Un'architettura stateless può aumentare l'affidabilità e la scalabilità delle tue applicazioni.
Le applicazioni con stato si basano su varie dipendenze per eseguire attività, ad esempio la memorizzazione nella cache locale dei dati. Le applicazioni con stato spesso richiedono meccanismi aggiuntivi per acquisire i progressi e riavviarsi correttamente. Le applicazioni stateless possono eseguire attività senza dipendenze locali significative utilizzando servizi di archiviazione condivisa o 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 tempi di inattività inferiori e offrono prestazioni migliori per gli utenti finali.