L' Architecture Framework di 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 e conveniente. Il framework dell'architettura Google Cloud è la nostra versione di un framework ben strutturato.
Un team interfunzionale di esperti di Google convalida i consigli contenuti nel Framework dell'architettura. Il team cura il Framework dell'architettura in modo che rifletta 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 all'Architecture Framework, consulta Novità.
Il framework di architettura è 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, per i deployment cloud ibrido e per gli ambienti multi-cloud.
Pilastri e prospettive del framework dell'architettura
Il Google Cloud Il framework dell'architettura è 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 AI e il machine learning (ML).
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 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 AI e ML.
Principi fondamentali
Prima di esaminare i consigli in ogni pilastro del framework di architettura, consulta 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 tuoi 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 le prestazioni dell'organizzazione, ovvero la capacità dell'organizzazione di raggiungere i propri obiettivi di prestazioni 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 alla tentazione di fare troppo. 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 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 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à, ad esempio 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.