Well-Architected Framework: pilastro della sostenibilità

Last reviewed 2026-01-28 UTC

Il pilastro della sostenibilità del framework Well-Architected fornisce consigli per progettare, creare e gestire carichi di lavoro in Google Cloudche siano efficienti dal punto di vista energetico e consapevoli delle emissioni di carbonio.Google Cloud

Il pubblico di destinazione di questo documento include responsabili delle decisioni, architetti, amministratori, sviluppatori e operatori che progettano, creano, eseguono il deployment e gestiscono i carichi di lavoro in Google Cloud.

Le decisioni operative e di architettura hanno un impatto significativo sul consumo di energia, sull'impatto idrico e sull'impronta di carbonio generati dai tuoi carichi di lavoro nel cloud. Ogni carico di lavoro, che si tratti di un piccolo sito web o di un modello di ML su larga scala, consuma energia e contribuisce all'intensità delleemissioni di anidride carbonicao e delle risorse idriche. Quando integri la sostenibilità nell'architettura cloud e nel processo di progettazione, crei sistemi efficienti, economicamente vantaggiosi e sostenibili dal punto di vista ambientale. Un'architettura sostenibile è resiliente e ottimizzata, il che crea un ciclo di feedback positivo di maggiore efficienza, costi inferiori e minore impatto ambientale.

Sostenibilità per progettazione: risultati aziendali olistici

La sostenibilità non è un compromesso rispetto ad altri obiettivi commerciali principali; le pratiche di sostenibilità contribuiscono ad accelerare il raggiungimento degli altri obiettivi commerciali. Le scelte di architettura che danno la priorità a risorse e operazioni a basse emissioni di carbonio ti aiutano a creare sistemi più veloci, economici e sicuri. Questi sistemi sono considerati sostenibili per progettazione, in cui l'ottimizzazione per la sostenibilità porta a risultati complessivamente positivi per prestazioni, costi, sicurezza, resilienza ed esperienza utente.

Ottimizzazione delle prestazioni

I sistemi ottimizzati per le prestazioni utilizzano intrinsecamente meno risorse. Un'applicazione efficiente che completa un'attività più rapidamente richiede risorse di calcolo per un periodo di tempo più breve. Pertanto, l'hardware sottostante consuma meno kilowattora (kWh) di energia. Le prestazioni ottimizzate comportano anche una latenza inferiore e una migliore esperienza utente. Tempo ed energia non vengono sprecati dalle risorse in attesa di processi inefficienti. Quando utilizzi hardware specializzato (ad esempio GPU e TPU), adotti algoritmi efficienti e massimizzi l'elaborazione parallela, migliori le prestazioni e riduci l'impronta di carbonio del tuo carico di lavoro cloud.

Ottimizzazione dei costi

Le spese operative cloud dipendono dall'utilizzo delle risorse. A causa di questa correlazione diretta, quando ottimizzi continuamente i costi, riduci anche il consumo energetico e le emissioni di anidride carbonica. Quando dimensioni correttamente le VM, implementi la scalabilità automatica aggressiva, archivi i dati meno recenti ed elimini le risorse inattive, riduci l'utilizzo delle risorse e i costi del cloud. Inoltre, riduci l'impronta di carbonio dei tuoi sistemi, perché i data center consumano meno energia per eseguire i tuoi carichi di lavoro.

Sicurezza e resilienza

Sicurezza e affidabilità sono prerequisiti per un ambiente cloud sostenibile. Un sistema compromesso, ad esempio un sistema interessato da un attacco denial of service (DoS) o da una violazione non autorizzata dei dati, può aumentare notevolmente il consumo di risorse. Questi incidenti possono causare picchi massicci di traffico, creare cicli di calcolo incontrollati per la mitigazione e richiedere operazioni lunghe e ad alta energia per l'analisi forense, la pulizia e il ripristino dei dati. Misure di sicurezza efficaci possono contribuire a prevenire picchi inutili nell'utilizzo delle risorse, in modo che le tue operazioni rimangano stabili, prevedibili ed efficienti dal punto di vista energetico.

Esperienza utente

I sistemi che danno la priorità a efficienza, prestazioni, accessibilità e utilizzo minimo dei dati possono contribuire a ridurre il consumo energetico degli utenti finali. Un'applicazione che carica un modello più piccolo o elabora meno dati per fornire risultati più rapidamente contribuisce a ridurre l'energia consumata dai dispositivi di rete e dai dispositivi degli utenti finali. Questa riduzione del consumo energetico è particolarmente vantaggiosa per gli utenti con larghezza di banda limitata o che utilizzano dispositivi meno recenti. Inoltre, l'architettura sostenibile contribuisce a ridurre al minimo i danni al pianeta e dimostra il tuo impegno per una tecnologia socialmente responsabile.

Valore della sostenibilità della migrazione al cloud

La migrazione dei carichi di lavoro on-premise al cloud può contribuire a ridurre l'impronta ambientale della tua organizzazione. La transizione all'infrastruttura cloud può ridurre l'utilizzo di energia e le emissioni associate di 1,4-2 volte rispetto alle implementazioni on-premise tipiche. I data center cloud sono strutture moderne progettate su misura e realizzate per un'elevata Power Usage Effectiveness (PUE). I data center on-premise più datati spesso non hanno la scalabilità necessaria per giustificare gli investimenti in sistemi avanzati di raffreddamento e distribuzione elettrica.

Responsabilità condivisa e destino condiviso

Responsabilità condivise e destino condiviso su Google Cloud descrive in che modo la sicurezza dei carichi di lavoro cloud è una responsabilità condivisa tra Google e te, il cliente. Questo modello di responsabilità condivisa si applica anche alla sostenibilità.

Google è responsabile della sostenibilità di Google Cloud, ovvero dell'efficienza energetica e della gestione delle risorse idriche dei nostri data center, della nostra infrastruttura e dei nostri servizi principali. Investiamo continuamente in energia rinnovabile, raffreddamento attento al clima e ottimizzazione dell'hardware. Per saperne di più sulla strategia e sui progressi di Google in materia di sostenibilità, consulta il Report ambientale 2025 sulla sostenibilità di Google.

In qualità di cliente, sei responsabile della sostenibilità nel cloud, il che significa ottimizzare i carichi di lavoro per renderli efficienti dal punto di vista energetico. Ad esempio, puoi dimensionare correttamente le risorse, utilizzare servizi serverless che scalano a zero e gestire in modo efficace i cicli di vita dei dati.

Inoltre, promuoviamo un modello di destino condiviso: la sostenibilità non è solo una divisione di compiti, ma una partnership collaborativa tra te e Google per ridurre l'impronta ambientale dell'intero ecosistema.

Utilizzare l'AI per l'impatto aziendale

Il pilastro della sostenibilità del Well-Architected Framework (questo documento) include indicazioni per aiutarti a progettare sistemi di AI sostenibili. Tuttavia, una strategia di sostenibilità completa va oltre l'impatto ambientale dei carichi di lavoro AI. La strategia deve includere modi per utilizzare l'AI per ottimizzare le operazioni e creare nuovo valore aziendale.

L'AI funge da catalizzatore per la sostenibilità trasformando vasti set di dati in informazioni utili. Consente alle organizzazioni di passare dalla conformità reattiva all'ottimizzazione proattiva, ad esempio nei seguenti ambiti:

  • Efficienza operativa: semplifica le operazioni grazie a una migliore gestione dell'inventario, all'ottimizzazione della catena di fornitura e alla gestione intelligente dell'energia.
  • Trasparenza e rischio: utilizza i dati per una trasparenza granulare della catena di fornitura, conformità normativa e modellazione del rischio climatico.
  • Valore e crescita: sviluppa nuovi flussi di entrate nella finanza sostenibile e nel recommerce.

Google offre i seguenti prodotti e funzionalità per aiutarti a estrarre informazioni dai dati e a sviluppare capacità per un futuro sostenibile:

  • Google Earth AI: Utilizza dati geospaziali su scala planetaria per analizzare i cambiamenti ambientali e monitorare l'impatto della catena di fornitura.
  • WeatherNext: Fornisce previsioni meteorologiche avanzate e analisi del rischio climatico per aiutarti a sviluppare la resilienza alla volatilità climatica.
  • Approfondimenti geospaziali con Google Earth: utilizza i dati geospaziali per aggiungere dati contestuali avanzati alle località, il che consente una selezione più intelligente dei siti, una pianificazione delle risorse e operazioni più efficienti.
  • Ottimizzazione dei percorsi di Google Maps: Ottimizza i percorsi logistici e di consegna per aumentare l'efficienza e ridurre il consumo di carburante e le emissioni dei trasporti.

Collaborazioni con partner e clienti

Google Cloud e TELUS hanno collaborato per promuovere la sostenibilità del cloud eseguendo la migrazione dei carichi di lavoro all'infrastruttura carbon neutral di Google e sfruttando l'analisi dei dati per ottimizzare le operazioni. Questa collaborazione offre vantaggi sociali e ambientali attraverso iniziative come la tecnologia per le smart city, che utilizza dati in tempo reale per ridurre la congestione del traffico e le emissioni di anidride carbonica nei comuni del Canada. Per saperne di più su questa collaborazione, vedi Google Cloud and TELUS collaborate for sustainability.

Principi fondamentali

I consigli del pilastro della sostenibilità del framework Well-Architected sono mappati ai seguenti principi fondamentali:

Collaboratori

Autore: Brett Tackaberry | Architetto principale

Altri collaboratori:

Utilizzare regioni che consumano energia a basse emissioni di carbonio

Questo principio del pilastro della sostenibilità del Google Cloud Well-Architected Framework fornisce consigli per aiutarti a selezionare regioni a basse emissioni di carbonio per i tuoi carichi di lavoro in Google Cloud.

Panoramica del principio

Quando prevedi di eseguire il deployment di un workload in Google Cloud, una decisione architetturale importante è la scelta della regione Google Cloud per il workload. Questa decisione influisce sull'impronta di carbonio del tuo workload. Per ridurre al minimo l'impatto ambientale, la strategia di selezione delle regioni deve includere i seguenti elementi:

  • Selezione basata sui dati: per identificare e dare la priorità alle regioni, considera l'indicatore icona foglia Emissioni di CO2 ridotte e la metrica energia a zero emissioni di CO2 (CFE).
  • Governance basata su policy: limita la creazione di risorse a località ottimali dal punto di vista ambientale utilizzando il vincolo località delle risorse nel servizio Organization Policy.
  • Flessibilità operativa: utilizza tecniche come lo spostamento temporale e la pianificazione in base alle emissioni di carbonio per eseguire i carichi di lavoro batch durante le ore in cui l'intensità di carbonio della rete elettrica è la più bassa.

L'elettricità utilizzata per alimentare l'applicazione e i carichi di lavoro nel cloud è un fattore importante che influisce sulla scelta delle regioni Google Cloud . Inoltre, tieni in considerazione i seguenti fattori:

  • Residenza e sovranità dei dati: la posizione in cui devi archiviare i tuoi dati è un fattore fondamentale che determina la tua scelta della regione Google Cloud. Questa scelta influisce sulla conformità ai requisiti locali di residenza dei dati.
  • Latenza per gli utenti finali: la distanza geografica tra gli utenti finali e le regioni in cui esegui il deployment delle applicazioni influisce sull'esperienza utente e sul rendimento delle applicazioni.
  • Costo: i prezzi delle risorse Google Cloud possono variare in base alla regione.

Lo strumento Google Cloud per la selezione della regione ti aiuta a selezionare le regioni Google Cloud ottimali in base ai tuoi requisiti per impronta di carbonio, costi e latenza. Puoi anche utilizzare Cloud Location Finder per trovare posizioni cloud in Google Cloud e altri provider in base ai tuoi requisiti di prossimità, utilizzo di energia a zero emissioni di CO2 e altri parametri.

Consigli

Per eseguire il deployment dei tuoi workload cloud in regioni a basse emissioni di carbonio, prendi in considerazione i suggerimenti nelle sezioni seguenti. Questi consigli si basano sulle indicazioni riportate in Energia a zero emissioni di CO2 per le regioni Google Cloud .

Informazioni sull'intensità di carbonio delle regioni cloud

Google Cloud data center di una regione utilizzano l'energia della rete elettrica in cui si trova la regione. Google misura l'impatto delle emissioni di carbonio di una regione utilizzando la metrica CFE, che viene calcolata ogni ora. CFE indica la percentuale di energia a zero emissioni di CO2 rispetto all'energia totale consumata in un'ora. La metrica CFE dipende da due fattori:

  • Il tipo di impianti di produzione di energia che alimentano la rete in un determinato periodo.
  • Energia pulita attribuita a Google fornita alla rete durante questo periodo.

Per informazioni sulla percentuale media oraria aggregata di energia priva di emissioni di carbonio per ogni regioneGoogle Cloud , consulta Energia priva di emissioni di carbonio per le regioni Google Cloud . Puoi anche ottenere questi dati in un formato leggibile dalla macchina dal repository Carbon free energy for Google Cloud regions in GitHub e da un set di dati pubblico BigQuery.

Incorporare CFE nella strategia di selezione delle località

Prendi in considerazione i seguenti consigli:

  • Seleziona la regione più pulita per le tue applicazioni. Se prevedi di eseguire un'applicazione per un lungo periodo, eseguila nella regione con la percentuale di CFE più alta. Per i workload batch, hai una maggiore flessibilità nella scelta di una regione perché puoi prevedere quando deve essere eseguito il workload.
  • Seleziona le regioni a basse emissioni di carbonio. Alcune pagine del sito web Google Cloud e i selettori di località nella console Google Cloud mostrano l'indicatoreicona foglia Basse emissioni di CO2 per le regioni con il minore impatto di carbonio.
  • Limita la creazione di risorse a regioni specifiche a basse emissioni di carbonio Google Cloud utilizzando il vincolo dei criteri dell'organizzazione per le località delle risorse. Ad esempio, per consentire la creazione di risorse solo in regioni a basse emissioni di carbonio con sede negli Stati Uniti, crea un vincolo che specifichi il gruppo di valori in:us-low-carbon-locations.

Quando selezioni le località per le tue risorse Google Cloud , tieni conto anche delle best practice per la selezione delle regioni, inclusi fattori come i requisiti di residenza dei dati, la latenza per gli utenti finali, la ridondanza dell'applicazione, la disponibilità dei servizi e i prezzi.

Utilizzare la programmazione in base all'ora del giorno

L'intensità di carbonio di una rete elettrica può variare in modo significativo durante il giorno. La variazione dipende dal mix di fonti energetiche che alimentano la rete. Puoi pianificare i carichi di lavoro, in particolare quelli flessibili o non urgenti, in modo che vengano eseguiti quando la rete è alimentata da una percentuale maggiore di energia elettrica pulita.

Ad esempio, molte reti hanno percentuali di energia pulita più elevate durante le ore non di punta o quando fonti rinnovabili come l'energia solare ed eolica forniscono più energia alla rete. Pianificando attività che richiedono molte risorse di calcolo, come l'addestramento di modelli e l'inferenza batch su larga scala, durante le ore con un fattore di emissione più elevato, puoi ridurre significativamente le emissioni di anidride carbonica associate senza influire sulle prestazioni o sui costi. Questo approccio è noto come spostamento temporale, in cui utilizzi la natura dinamica dell'intensità di emissioni di carbonio di una rete per ottimizzare i tuoi carichi di lavoro in funzione della sostenibilità.

Ottimizzare i workload AI e ML per l'efficienza energetica

Questo principio del pilastro della sostenibilità del Google Cloud framework Well-Architected fornisce suggerimenti per ottimizzare i workload AI e ML al fine di ridurre il loro consumo energetico e l'impronta di carbonio.

Panoramica del principio

Per ottimizzare i workload di AI e ML in termini di sostenibilità, devi adottare un approccio olistico alla progettazione, al deployment e al funzionamento dei workload. Seleziona modelli appropriati e hardware specializzato come le Tensor Processing Unit (TPU), esegui i workload in regioni a basse emissioni di carbonio, ottimizza per ridurre l'utilizzo delle risorse e applica le best practice operative.

Le pratiche architetturali e operative che ottimizzano il costo e le prestazioni dei carichi di lavoro di AI e ML portano intrinsecamente a una riduzione del consumo energetico e dell'impronta di carbonio. La prospettiva AI e ML del framework Well-Architected descrive i principi e i suggerimenti per progettare, creare e gestire i carichi di lavoro di AI e ML che soddisfano i tuoi obiettivi operativi, di sicurezza, affidabilità, costi e prestazioni. Inoltre, il Cloud Architecture Center fornisce architetture di riferimento dettagliate e guide di progettazione per i carichi di lavoro di AI e ML in Google Cloud.

Consigli

Per ottimizzare i carichi di lavoro AI e ML per l'efficienza energetica, considera i suggerimenti nelle sezioni seguenti.

Progettare per l'efficienza energetica utilizzando le TPU

I workload di AI e ML possono richiedere un uso intensivo di risorse di calcolo. Il consumo energetico dei carichi di lavoro AI e ML è un aspetto fondamentale per la sostenibilità. Le TPU consentono di migliorare significativamente l'efficienza energetica e la sostenibilità dei tuoi workload AI e ML.

Le TPU sono acceleratori progettati su misura e realizzati appositamente per i carichi di lavoro di AI e ML. L'architettura specializzata delle TPU le rende molto efficaci per la moltiplicazione di matrici su larga scala, che è alla base del deep learning. Le TPU possono eseguire attività complesse su larga scala con maggiore efficienza rispetto ai processori per uso generico come CPU o GPU.

Le TPU offrono i seguenti vantaggi diretti per la sostenibilità:

  • Minore consumo energetico: le TPU sono progettate per un'efficienza energetica ottimale. Offrono un numero maggiore di calcoli per watt di energia consumata. La loro architettura specializzata riduce significativamente il fabbisogno energetico delle attività di addestramento e inferenza su larga scala, il che comporta una riduzione dei costi operativi e un minore consumo di energia.
  • Addestramento e inferenza più rapidi: le prestazioni eccezionali delle TPU ti consentono di addestrare modelli di AI complessi in ore anziché giorni. Questa riduzione significativa del tempo di calcolo totale contribuisce direttamente a un'impronta ambientale più piccola.
  • Riduzione delle esigenze di raffreddamento: le TPU incorporano un sistema di raffreddamento a liquido avanzato, che fornisce una gestione termica efficiente e riduce significativamente l'energia utilizzata per raffreddare il data center.
  • Ottimizzazione del ciclo di vita dell'AI: grazie all'integrazione di hardware e software, le TPU forniscono una soluzione ottimizzata per l'intero ciclo di vita dell'AI, dall'elaborazione dei dati al servizio del modello.

Segui le best practice delle 4 M per la selezione delle risorse

Google consiglia un insieme di best practice per ridurre in modo significativo il consumo di energia e le emissioni di anidride carbonica per i carichi di lavoro di AI e ML. Chiamiamo queste best practice 4M:

  • Modello: seleziona architetture di modelli ML efficienti. Ad esempio, i modelli sparsi migliorano la qualità del machine learning e riducono il calcolo di 3-10 volte rispetto ai modelli densi.
  • Macchina: scegli processori e sistemi ottimizzati per l'addestramento ML. Questi processori migliorano le prestazioni e l'efficienza energetica di 2-5 volte rispetto ai processori per uso generico.
  • Meccanizzazione: esegui il deployment dei carichi di lavoro ad alta intensità di calcolo nel cloud. I tuoi workload consumano meno energia e causano emissioni inferiori di 1,4-2 volte rispetto ai deployment on-premise. I data center cloud utilizzano magazzini più recenti e progettati su misura, costruiti per l'efficienza energetica e con un elevato rapporto di Power Usage Effectiveness (PUE). I data center on-premise sono spesso più datati e più piccoli, perciò gli investimenti in sistemi di raffreddamento e distribuzione elettrica a risparmio energetico potrebbero non essere economici.
  • Mappa: seleziona le Google Cloud posizioni che utilizzano l'energia più pulita. Questo approccio contribuisce a ridurre l'impronta di carbonio lorda dei tuoi carichi di lavoro di 5-10 volte. Per saperne di più, consulta Energia a zero emissioni di CO2 per le regioni Google Cloud .

Per saperne di più sulle best practice e sulle metriche di efficienza delle 4 M, consulta i seguenti documenti di ricerca:

Ottimizzare i modelli e gli algoritmi di AI per l'addestramento e l'inferenza

L'architettura di un modello di AI e gli algoritmi utilizzati per l'addestramento e l'inferenza hanno un impatto significativo sul consumo energetico. Prendi in considerazione i seguenti consigli.

Selezionare modelli di AI efficienti

Scegli modelli di AI più piccoli ed efficienti che soddisfino i tuoi requisiti di rendimento. Non selezionare il modello più grande disponibile come scelta predefinita. Ad esempio, una versione più piccola e distillata del modello come DistilBERT può offrire prestazioni simili con un sovraccarico di calcolo notevolmente inferiore e un'inferenza più rapida rispetto a un modello più grande come BERT.

Utilizza soluzioni iper-efficienti specifiche per il dominio

Scegli soluzioni di ML specializzate che offrono prestazioni migliori e richiedono molta meno potenza di calcolo rispetto a un modello di base di grandi dimensioni. Queste soluzioni specializzate sono spesso preaddestrate e iper-ottimizzate. Possono ridurre in modo significativo il consumo energetico e l'impegno di ricerca per i carichi di lavoro di addestramento e inferenza. Di seguito sono riportati alcuni esempi di soluzioni specializzate specifiche per dominio:

  • Earth AI è una soluzione a basso consumo energetico che sintetizza grandi quantità di dati geospaziali globali per fornire insight tempestivi, accurati e strategici.
  • WeatherNext produce previsioni meteorologiche globali più rapide, efficienti e accurate rispetto ai metodi convenzionali basati sulla fisica.

Applica tecniche di compressione del modello appropriate

Di seguito sono riportati alcuni esempi di tecniche che puoi utilizzare per la compressione dei modelli:

  • Potatura: rimuovi i parametri non necessari da una rete neurale. Si tratta di parametri che non contribuiscono in modo significativo al rendimento di un modello. Questa tecnica riduce le dimensioni del modello e le risorse di calcolo necessarie per l'inferenza.
  • Quantizzazione: riduci la precisione dei parametri del modello. Ad esempio, riduci la precisione da virgola mobile a 32 bit a numeri interi a 8 bit. Questa tecnica può contribuire a ridurre in modo significativo l'utilizzo di memoria e il consumo di energia senza una riduzione significativa della precisione.
  • Distillazione della conoscenza: addestra un modello studente più piccolo per imitare il comportamento di un modello insegnante più grande e complesso. Il modello studente può raggiungere un livello elevato di prestazioni con meno parametri e utilizzando meno energia.

Utilizzare hardware specializzato

Come indicato in Segui le best practice delle 4 M per la selezione delle risorse, scegli processori e sistemi ottimizzati per l'addestramento ML. Questi processori migliorano le prestazioni e l'efficienza energetica di 2-5 volte rispetto ai processori per uso generico.

Utilizzare il fine-tuning efficiente dei parametri

Anziché regolare tutti i miliardi di parametri di un modello (ottimizzazione completa), utilizza metodi di ottimizzazione efficiente dei parametri (PEFT) come l'adattamento a basso rango (LoRA). Con questa tecnica, blocchi i pesi del modello originale e addestri solo un piccolo numero di nuovi livelli leggeri. Questo approccio aiuta a ridurre i costi e il consumo di energia.

Seguire le best practice per le operazioni di AI e ML

Le pratiche operative influiscono in modo significativo sulla sostenibilità dei tuoi carichi di lavoro di AI e ML. Prendi in considerazione i seguenti consigli.

Ottimizzare i processi di addestramento del modello

Utilizza le seguenti tecniche per ottimizzare i processi di addestramento del modello:

  • Interruzione anticipata: monitora il processo di addestramento e interrompilo quando non osservi ulteriori miglioramenti nelle prestazioni del modello rispetto al set di convalida. Questa tecnica ti aiuta a evitare calcoli e consumi energetici non necessari.
  • Caricamento efficiente dei dati: utilizza pipeline di dati efficienti per garantire che le GPU e le TPU vengano sempre utilizzate e non attendano i dati. Questa tecnica contribuisce a massimizzare l'utilizzo delle risorse e a ridurre lo spreco di energia.
  • Ottimizzazione degli iperparametri ottimizzata: per trovare gli iperparametri ottimali in modo più efficiente, utilizza tecniche come l'ottimizzazione bayesiana o l'apprendimento per rinforzo. Evita le ricerche esaustive nella griglia, che possono essere operazioni che richiedono molte risorse.

Migliorare l'efficienza dell'inferenza

Per migliorare l'efficienza delle attività di inferenza dell'AI, utilizza le seguenti tecniche:

  • Batch: raggruppa più richieste di inferenza in batch e sfrutta l'elaborazione parallela su GPU e TPU. Questa tecnica contribuisce a ridurre il costo energetico per previsione.
  • Memorizzazione nella cache avanzata: implementa una strategia di memorizzazione nella cache a più livelli, che include la memorizzazione nella cache delle coppie chiave-valore per la generazione autoregressiva e la memorizzazione nella cache dei prompt semantici per le risposte delle applicazioni. Questa tecnica consente di evitare calcoli ridondanti del modello e può portare a riduzioni significative del consumo di energia e delle emissioni di anidride carbonica.

Misurare e monitorare

Monitora e misura i seguenti parametri:

  • Utilizzo e costi: utilizza gli strumenti appropriati per monitorare l'utilizzo dei token, il consumo di energia e l'impronta di carbonio dei tuoi carichi di lavoro AI. Questi dati ti aiutano a identificare le opportunità di ottimizzazione e a monitorare i progressi verso gli obiettivi di sostenibilità.
  • Rendimento: monitora continuamente il rendimento del modello in produzione. Identifica problemi come la deriva dei dati, che può indicare che il modello deve essere nuovamente messo a punto. Se devi riaddestrare il modello, puoi utilizzare il modello originale ottimizzato come punto di partenza e risparmiare tempo, denaro ed energia in modo significativo per gli aggiornamenti.

Per saperne di più sull'operazionalizzazione del miglioramento continuo, vedi Misurare e migliorare continuamente la sostenibilità.

Implementare la pianificazione consapevole delle emissioni di anidride carbonica

Progetta i job della pipeline ML in modo che vengano eseguiti nelle regioni con il mix energetico più pulito. Utilizza il report sullCarbon Footprint per identificare le regioni con le emissioni di carbonio meno intense. Pianifica le attività che richiedono molte risorse come job batch durante i periodi in cui la rete elettrica locale ha una percentuale più elevata di energia priva di emissioni di carbonio (CFE).

Ottimizza le pipeline di dati

Le operazioni di ML e l'ottimizzazione richiedono un set di dati pulito e di alta qualità. Prima di avviare i job ML, utilizza i servizi di trattamento dati gestiti per preparare i dati in modo efficiente. Ad esempio, utilizza Dataflow per l'elaborazione batch e in streaming e utilizza Dataproc per le pipeline Spark e Hadoop gestite. Una pipeline di dati ottimizzata contribuisce a garantire che il tuo workload di messa a punto non attenda i dati, in modo da massimizzare l'utilizzo delle risorse e contribuire a ridurre lo spreco di energia.

Adottare MLOps

Per automatizzare e gestire l'intero ciclo di vita del ML, implementa le pratiche di ML Operations (MLOps). Queste pratiche contribuiscono a garantire che i modelli vengano monitorati, convalidati e ridistribuiti in modo efficiente, il che aiuta a evitare l'addestramento o l'allocazione di risorse non necessari.

Utilizzare i servizi gestiti

Anziché gestire la tua infrastruttura, utilizza servizi cloud gestiti come Vertex AI. La piattaforma cloud gestisce la gestione delle risorse sottostante, il che ti consente di concentrarti sul processo di ottimizzazione. Utilizza servizi che includono strumenti integrati per l'ottimizzazione degli iperparametri, il monitoraggio dei modelli e la gestione delle risorse.

Passaggi successivi

Ottimizzare l'utilizzo delle risorse per la sostenibilità

Questo principio del pilastro della sostenibilità del Google Cloud framework Well-Architected fornisce suggerimenti per aiutarti a ottimizzare l'utilizzo delle risorse da parte dei tuoi workload in Google Cloud.

Panoramica del principio

L'ottimizzazione dell'utilizzo delle risorse è fondamentale per migliorare la sostenibilità del tuo ambiente cloud. Ogni risorsa di cui viene eseguito il provisioning, dai cicli di calcolo all'archiviazione dei dati, influisce direttamente sul consumo energetico, sull'intensità idrica e sulleemissioni di anidride carbonicao. Per ridurre l'impronta ambientale dei tuoi carichi di lavoro, devi fare scelte informate quando esegui il provisioning, gestisci e utilizzi le risorse cloud.

Consigli

Per ottimizzare l'utilizzo delle risorse, prendi in considerazione i suggerimenti nelle sezioni seguenti.

Implementare la scalabilità automatica e dinamica

Il dimensionamento automatico e dinamico garantisce un utilizzo ottimale delle risorse, il che contribuisce a evitare sprechi energetici dovuti a un'infrastruttura inattiva o con provisioning eccessivo. La riduzione dello spreco di energia si traduce in costi inferiori e minoriemissioni di anidride carbonicao.

Utilizza le seguenti tecniche per implementare la scalabilità automatica e dinamica.

Utilizzare la scalabilità orizzontale

La scalabilità orizzontale è la tecnica di scalabilità preferita per la maggior parte delle applicazioni cloud-first. Anziché aumentare le dimensioni di ogni istanza, operazione nota come scalabilità verticale, aggiungi istanze per distribuire il carico. Ad esempio, puoi utilizzare i gruppi di istanze gestite (MIG) per scalare automaticamente un gruppo di VM di Compute Engine. L'infrastruttura scalata orizzontalmente è più resiliente perché l'errore di un'istanza non influisce sulla disponibilità dell'applicazione. La scalabilità orizzontale è anche una tecnica efficiente in termini di risorse per le applicazioni con livelli di carico variabili.

Configura le policy di scalabilità appropriate

Configura le impostazioni di scalabilità automatica in base ai requisiti dei tuoi carichi di lavoro. Definisci metriche e soglie personalizzate specifiche per il comportamento dell'applicazione. Anziché basarti esclusivamente sull'utilizzo della CPU, prendi in considerazione metriche come la profondità della coda per le attività asincrone, la latenza delle richieste e le metriche personalizzate delle applicazioni. Per evitare scalabilità frequente e non necessaria o flapping, definisci criteri di scalabilità chiari. Ad esempio, per i carichi di lavoro di cui esegui il deployment in Google Kubernetes Engine (GKE), configura un'policy di scalabilità automatica del cluster appropriata.

Combinare scalabilità reattiva e proattiva

Con la scalabilità reattiva, il sistema viene scalato in risposta alle variazioni del carico in tempo reale. Questa tecnica è adatta alle applicazioni con picchi di carico imprevedibili.

Lo scaling proattivo è adatto ai workload con pattern prevedibili, ad esempio orari di lavoro giornalieri fissi e generazione di report settimanali. Per questi carichi di lavoro, utilizza la scalabilità automatica pianificata per eseguire il provisioning preliminare delle risorse in modo che possano gestire un livello di carico previsto. Questa tecnica impedisce una corsa alle risorse e garantisce un'esperienza utente più fluida e una maggiore efficienza. Questa tecnica ti aiuta anche a pianificare in modo proattivo i picchi di carico noti, come i principali eventi di vendita e le iniziative di marketing mirate.

I servizi e le funzionalità gestitiGoogle Cloud come GKE Autopilot, Cloud Run e i MIG gestiscono automaticamente la scalabilità proattiva apprendendo dai pattern dei carichi di lavoro. Per impostazione predefinita, quando un servizio Cloud Run non riceve traffico, viene scalato a zero istanze.

Progettare applicazioni stateless

Affinché un'applicazione possa essere scalata orizzontalmente, i suoi componenti devono essere stateless. Ciò significa che la sessione o i dati di un utente specifico non sono collegati a una singola istanza di calcolo. Quando memorizzi lo stato della sessione al di fuori dell'istanza di calcolo, ad esempio in Memorystore for Redis, qualsiasi istanza di calcolo può gestire le richieste di qualsiasi utente. Questo approccio di progettazione consente uno scaling orizzontale fluido ed efficiente.

Utilizzare la pianificazione e i batch

L'elaborazione batch è ideale per workload su larga scala e non urgenti. I job batch possono aiutarti a ottimizzare i tuoi carichi di lavoro in termini di efficienza energetica e costi.

Utilizza le seguenti tecniche per implementare la pianificazione e i job batch.

Pianificazione per una bassa intensità di carbonio

Pianifica l'esecuzione dei job batch in regioni a basse emissioni di carbonio e durante i periodi in cui la rete elettrica locale ha una percentuale elevata di energia pulita. Per identificare i momenti della giornata con le emissioni di carbonio più basse per una regione, utilizza il report Carbon Footprint.

Utilizza le VM spot per i workload non critici

Le VM spot ti consentono di sfruttare la capacità inutilizzata di Compute Engine a un prezzo molto scontato. Le VM spot possono essere prerilasciate, ma forniscono un modo conveniente per elaborare set di dati di grandi dimensioni senza la necessità di risorse dedicate e sempre attive. Le VM spot sono ideali per job batch non critici e a tolleranza di errore.

Consolidare e parallelizzare i job

Per ridurre l'overhead per l'avvio e l'arresto dei singoli job, raggruppa job simili in un unico batch di grandi dimensioni. Esegui questi carichi di lavoro ad alto volume su servizi come Batch. Il servizio esegue automaticamente il provisioning e la gestione dell'infrastruttura necessaria, il che contribuisce a garantire un utilizzo ottimale delle risorse.

Utilizzare i servizi gestiti

Servizi gestiti come Batch e Dataflow gestiscono automaticamente il provisioning, la pianificazione e il monitoraggio delle risorse. La piattaforma cloud gestisce l'ottimizzazione delle risorse. Puoi concentrarti sulla logica dell'applicazione. Ad esempio, Dataflow scala automaticamente il numero di worker in base al volume di dati nella pipeline, in modo da non pagare per le risorse inattive.

Abbinare le famiglie di macchine VM ai requisiti del workload

I tipi di macchine che puoi utilizzare per le tue VM Compute Engine sono raggruppati in famiglie di macchine, ottimizzate per diversi carichi di lavoro. Scegli le famiglie di macchine appropriate in base ai requisiti dei tuoi carichi di lavoro.

Famiglia di macchine Consigliato per i tipi di workload Indicazioni sulla sostenibilità
Istanze per uso generico (E2, N2, N4, Tau T2A/T2D): Queste istanze forniscono un rapporto bilanciato tra CPU e memoria. Server web, microservizi, database di piccole e medie dimensioni e ambienti di sviluppo. La serie E2 è altamente conveniente ed efficiente dal punto di vista energetico grazie alla distribuzione dinamica delle risorse. La serie Tau T2A utilizza processori basati su Arm, che spesso sono più efficienti dal punto di vista energetico per unità di prestazioni per carichi di lavoro su larga scala.
Istanze ottimizzate per il calcolo (C2, C3): queste istanze forniscono un rapporto vCPU/memoria elevato e prestazioni elevate per core. Computing ad alte prestazioni (HPC), elaborazione batch, server di gioco e analisi dei dati basata su CPU. Un'istanza della serie C ti consente di completare più rapidamente le attività ad alta intensità di CPU, riducendo il tempo di calcolo totale e il consumo energetico del job.
Istanze ottimizzate per la memoria (M3, M2): queste istanze sono progettate per i workload che richiedono una grande quantità di memoria. Database in memoria e data warehouse di grandi dimensioni, come SAP HANA o analisi in memoria. Le istanze ottimizzate per la memoria consentono il consolidamento dei workload che richiedono molta memoria su un numero inferiore di nodi fisici. Questo consolidamento riduce l'energia totale necessaria rispetto all'utilizzo di più istanze più piccole. La memoria ad alte prestazioni riduce la latenza di accesso ai dati, il che può ridurre il tempo totale che la CPU trascorre in uno stato attivo.
Istanze ottimizzate per l'archiviazione (Z3) : queste istanze forniscono spazio di archiviazione SSD locale a bassa latenza e velocità effettiva elevata. Data warehousing, analisi dei log e database SQL, NoSQL e vettoriali. Le istanze ottimizzate per l'archiviazione elaborano localmente set di dati di grandi dimensioni, il che contribuisce a eliminare l'energia utilizzata per il traffico in uscita dalla rete tra località diverse. Quando utilizzi l'archiviazione locale per attività con IOPS elevati, eviti il provisioning eccessivo di più istanze standard.
Istanze ottimizzate per l'acceleratore (A3, A2, G2): queste istanze sono create per carichi di lavoro accelerati da GPU e TPU, come AI, ML e HPC. Addestramento e inferenza di modelli ML e simulazioni scientifiche.

Le TPU sono progettate per un'efficienza energetica ottimale. Offrono un numero maggiore di calcoli per watt.

Un'istanza con accelerazione GPU come la serie A3 con GPU NVIDIA H100 può essere notevolmente più efficiente dal punto di vista energetico per l'addestramento di modelli di grandi dimensioni rispetto a un'alternativa solo CPU. Sebbene un'istanza accelerata da GPU abbia un consumo energetico nominale più elevato, l'attività viene completata molto più rapidamente.

Eseguire l'upgrade ai tipi di macchine più recenti

L'utilizzo dei tipi di macchine più recenti può contribuire a migliorare la sostenibilità. Quando i tipi di macchina vengono aggiornati, spesso sono progettati per essere più efficienti dal punto di vista energetico e per fornire prestazioni più elevate per watt. Le VM che utilizzano i tipi di macchine più recenti potrebbero completare la stessa quantità di lavoro con un consumo energetico inferiore.

CPU, GPU e TPU spesso traggono vantaggio dai progressi tecnici nell'architettura dei chip, ad esempio:

  • Core specializzati: i progressi nei processori spesso includono core o istruzioni specializzati per carichi di lavoro comuni. Ad esempio, le CPU potrebbero avere core dedicati per operazioni vettoriali o acceleratori AI integrati. Quando queste attività vengono scaricate dalla CPU principale, vengono completate in modo più efficiente e consumano meno energia.
  • Gestione dell'alimentazione migliorata: i progressi nelle architetture dei chip spesso includono funzionalità di gestione dell'alimentazione più sofisticate, come la regolazione dinamica della tensione e della frequenza in base al carico di lavoro. Queste funzionalità di gestione dell'alimentazione consentono ai chip di funzionare con la massima efficienza e di entrare in stati di basso consumo energetico quando sono inattivi, il che riduce al minimo il consumo energetico.

I miglioramenti tecnici nell'architettura dei chip offrono i seguenti vantaggi diretti per la sostenibilità e i costi:

  • Prestazioni più elevate per watt: si tratta di una metrica chiave per la sostenibilità. Ad esempio, le VM C4 dimostrano un rapporto prezzo/prestazioni superiore del 40% rispetto alle VM C3 per lo stesso consumo energetico. Il processore C4A offre un'efficienza energetica superiore del 60% rispetto ai processori x86 comparabili. Queste funzionalità di rendimento ti consentono di completare le attività più rapidamente o utilizzare meno istanze per lo stesso carico.
  • Riduzione del consumo energetico totale: con processori migliorati, le risorse di calcolo vengono utilizzate per un periodo di tempo più breve per una determinata attività, il che riduce il consumo energetico complessivo e l'impronta di carbonio. L'impatto di carbonio è particolarmente elevato per i carichi di lavoro di breve durata e ad alta intensità di calcolo, come i job batch e l'addestramento di modelli ML.
  • Utilizzo ottimale delle risorse: i tipi di macchine più recenti sono spesso più adatti al software moderno e sono più compatibili con le funzionalità avanzate delle piattaforme cloud. Questi tipi di macchine in genere consentono un migliore utilizzo delle risorse, il che riduce la necessità di un provisioning eccessivo e contribuisce a garantire che ogni watt di energia venga utilizzato in modo produttivo.

Esegui il deployment di applicazioni containerizzate

Puoi utilizzare servizi completamente gestiti basati su container come GKE e Cloud Run nell'ambito della tua strategia per il cloud computing sostenibile. Questi servizi consentono di ottimizzare l'utilizzo delle risorse e automatizzare la gestione delle risorse.

Sfrutta la funzionalità di scalabilità a zero di Cloud Run

Cloud Run fornisce un ambiente serverless gestito che scala automaticamente le istanze a zero quando non c'è traffico in entrata per un servizio o quando un job viene completato. La scalabilità automatica contribuisce a eliminare il consumo energetico dell'infrastruttura inattiva. Le risorse vengono attivate solo quando elaborano attivamente le richieste. Questa strategia è molto efficace per i carichi di lavoro intermittenti o basati su eventi. Per i carichi di lavoro AI, puoi utilizzare le GPU con Cloud Run, che ti consente di utilizzare e pagare le GPU solo quando vengono utilizzate.

Automatizzare l'ottimizzazione delle risorse utilizzando GKE

GKE è una piattaforma di orchestrazione dei container che garantisce che le applicazioni utilizzino solo le risorse necessarie. Per aiutarti ad automatizzare l'ottimizzazione delle risorse, GKE fornisce le seguenti tecniche:

  • Bin packing: GKE Autopilot inserisce in modo intelligente più container nei nodi disponibili. Il bin packing massimizza l'utilizzo di ogni nodo e riduce il numero di nodi inattivi o sottoutilizzati, contribuendo a ridurre il consumo energetico.
  • Scalabilità automatica orizzontale dei pod (HPA): Con HPA, il numero di repliche del container (pod) viene regolato automaticamente in base a metriche predefinite come l'utilizzo della CPU o metriche personalizzate specifiche dell'applicazione. Ad esempio, se la tua applicazione registra un picco di traffico, GKE aggiunge pod per soddisfare la domanda. Quando il traffico diminuisce, GKE riduce il numero di pod. Questo scalabilità dinamica impedisce il provisioning eccessivo delle risorse, in modo da non pagare o attivare capacità di calcolo non necessarie.
  • Scalabilità automatica pod verticale (VPA): Puoi configurare GKE in modo che regoli automaticamente le allocazioni e i limiti di CPU e memoria per i singoli container. Questa configurazione garantisce che a un container non vengano allocate più risorse di quelle necessarie, il che contribuisce a evitare il provisioning eccessivo delle risorse.
  • Scalabilità automatica pod multidimensionale GKE: Per i carichi di lavoro complessi, puoi configurare HPA e VPA contemporaneamente per ottimizzare sia il numero di pod sia le dimensioni di ogni pod. Questa tecnica contribuisce a garantire l'impronta energetica più piccola possibile per le prestazioni richieste.
  • Pianificazione topologia consapevole (TAS): TAS migliora l'efficienza di rete per i carichi di lavoro AI e ML in GKE posizionando i pod in base alla struttura fisica dell'infrastruttura del data center. TAS colloca strategicamente i workload per ridurre al minimo gli hop di rete. Questa colocation contribuisce a ridurre la latenza di comunicazione e il consumo energetico. Ottimizzando l'allineamento fisico dei nodi e dell'hardware specializzato, TAS accelera il completamento delle attività e massimizza l'efficienza energetica dei workload di AI e ML su larga scala.

Configurare la pianificazione in base alle emissioni di carbonio

In Google, spostiamo continuamente i nostri carichi di lavoro in località e orari che forniscono l'elettricità più pulita. Inoltre, riutilizziamo o recuperiamo apparecchiature più vecchie per casi d'uso alternativi. Puoi utilizzare questa strategia di pianificazione rispettosa del clima per garantire che i tuoi carichi di lavoro containerizzati utilizzino energia pulita.

Per implementare la pianificazione in base alle emissioni di carbonio, hai bisogno di informazioni sul mix energetico che alimenta i data center di una regione in tempo reale. Puoi ottenere queste informazioni in un formato leggibile dalla macchina dal repository Carbon free energy for Google Cloud regions in GitHub o da un set di dati pubblico BigQuery. I dati orari sul mix di rete e sull'intensità di emissioni di anidride carbonica utilizzati per calcolare il set di dati annuali sulle emissioni di anidride carbonica di Google provengono da Electricity Maps.

Per implementare la pianificazione consapevole delle emissioni di carbonio, ti consigliamo le seguenti tecniche:

  • Spostamento geografico: pianifica l'esecuzione dei carichi di lavoro in regioni che utilizzano una percentuale maggiore di fonti di energia rinnovabile. Questo approccio ti consente di utilizzare reti elettriche più pulite.
  • Spostamento temporale: per i workload flessibili e non critici come l'elaborazione batch, configura i workload in modo che vengano eseguiti durante le ore non di punta o quando l'energia rinnovabile è più abbondante. Questo approccio è noto come spostamento temporale e contribuisce a ridurre l'impronta di carbonio complessiva sfruttando le fonti di energia più pulite quando sono disponibili.

Progettare ripristino di emergenza a risparmio energetico

La preparazione al ripristino di emergenza (RE) spesso comporta il provisioning preliminare di risorse ridondanti in una regione secondaria. Tuttavia, le risorse inattive o sottoutilizzate possono causare un notevole spreco di energia. Scegli strategie di ripristino di emergenza che massimizzino l'utilizzo delle risorse e riducano al minimo l'impatto di carbonio senza compromettere gli obiettivi di tempo di ripristino (RTO).

Ottimizza per l'efficienza dell'avvio a freddo

Utilizza i seguenti approcci per ridurre al minimo o eliminare le risorse attive nella tua regione secondaria (RE):

  • Dai la priorità al DR a freddo: mantieni le risorse nella regione di RE disattivate o in uno stato di scalabilità a zero. Questo approccio contribuisce a eliminare l'impatto ambientale delle risorse di calcolo inattive.
  • Sfrutta il failover serverless: utilizza servizi serverless gestiti come Cloud Run per gli endpoint di RE. Cloud Run viene scalato a zero quando non è in uso, in modo da poter mantenere una topologia di RE che non consuma energia finché il traffico non viene reindirizzato alla regione di RE.
  • Automatizza il ripristino con Infrastructure as Code (IaC): anziché mantenere le risorse nel sito di RE in esecuzione (warm), utilizza uno strumento IaC come Terraform per eseguire rapidamente il provisioning degli ambienti solo quando necessario.

Trovare un equilibrio tra ridondanza e utilizzo

La ridondanza delle risorse è uno dei principali fattori di spreco energetico. Per ridurre la ridondanza, utilizza i seguenti approcci:

  • Preferisci la modalità attiva-attiva a quella attiva-passiva: in una configurazione attiva-passiva, le risorse nel sito passivo sono inattive, il che comporta uno spreco di energia. Un'architettura attivo-attivo di dimensioni ottimali garantisce che tutte le risorse di cui è stato eseguito il provisioning in entrambe le regioni gestiscano attivamente il traffico. Questo approccio ti aiuta a massimizzare l'efficienza energetica della tua infrastruttura.
  • Ridondanza dimensionata correttamente: replica dati e servizi in più regioni solo quando la replica è necessaria per soddisfare i requisiti di alta disponibilità o di RE. Ogni replica aggiuntiva aumenta il costo energetico dell'archiviazione permanente e del traffico in uscita dalla rete.

Sviluppare software a risparmio energetico

Questo principio del pilastro della sostenibilità del Google Cloud framework Well-Architected fornisce consigli per scrivere software che riduca al minimo il consumo energetico e il carico del server.

Panoramica del principio

Quando segui le best practice per creare le tue applicazioni cloud, ottimizzi l'energia utilizzata dalle risorse dell'infrastruttura cloud: AI, calcolo, storage e rete. Inoltre, contribuisci a ridurre il fabbisogno idrico dei data center e l'energia consumata dai dispositivi degli utenti finali quando accedono alle tue applicazioni.

Per creare software a basso consumo energetico, devi integrare considerazioni sulla sostenibilità durante l'intero ciclo di vita del software, dalla progettazione e dallo sviluppo al deployment, alla manutenzione e all'archiviazione. Per indicazioni dettagliate sull'utilizzo dell'AI per creare software che riduca al minimo l'impatto ambientale dei carichi di lavoro cloud, consulta l'ebook Google Cloud Crea software in modo sostenibile.

Consigli

I consigli in questa sezione sono raggruppati nelle seguenti aree di interesse:

Ridurre al minimo il lavoro computazionale

Per scrivere software a basso consumo energetico, devi ridurre al minimo la quantità totale di lavoro computazionale eseguito dalla tua applicazione. Ogni istruzione non necessaria, ciclo ridondante e funzionalità aggiuntiva consuma energia, tempo e risorse. Utilizza i seguenti suggerimenti per creare software che esegue calcoli minimi.

Scrivere codice snello e mirato

Per scrivere il codice minimo essenziale per ottenere i risultati richiesti, utilizza i seguenti approcci:

  • Elimina la logica ridondante e l'eccesso di funzionalità: scrivi codice che esegue solo le funzioni essenziali. Evita funzionalità che aumentano il sovraccarico e la complessità di calcolo, ma non forniscono un valore misurabile per i tuoi utenti.
  • Refactoring: per migliorare l'efficienza energetica nel tempo, esegui regolarmente un audit delle tue applicazioni per identificare le funzionalità inutilizzate. Intervieni per rimuovere o refactoring di queste funzionalità in modo appropriato.
  • Evita operazioni non necessarie: non calcolare un valore o eseguire un'azione finché il risultato non è necessario. Utilizza tecniche come la valutazione pigra, che ritarda i calcoli finché un componente dipendente dell'applicazione non ha bisogno dell'output.
  • Dai la priorità alla leggibilità e alla riutilizzabilità del codice: scrivi codice leggibile e riutilizzabile. Questo approccio riduce al minimo la duplicazione e segue il principio DRY (Don't Repeat Yourself), che può contribuire a ridurre le emissioni di anidride carbonica derivanti dallo sviluppo e dalla manutenzione del software.

Utilizzare la memorizzazione nella cache del backend

La memorizzazione nella cache del backend garantisce che un'applicazione non esegua lo stesso lavoro ripetutamente. Un elevato rapporto di hit della cache comporta una riduzione quasi lineare del consumo di energia per richiesta. Per implementare la memorizzazione nella cache del backend, utilizza le seguenti tecniche:

  • Memorizza nella cache i dati frequenti: archivia i dati a cui si accede di frequente in una posizione di archiviazione temporanea e ad alte prestazioni. Ad esempio, utilizza un servizio di memorizzazione nella cache in memoria come Memorystore. Quando un'applicazione recupera dati da una cache, il volume di query del database e di operazioni I/O del disco viene ridotto. Di conseguenza, il carico sui database e sui server nel backend diminuisce.
  • Memorizza nella cache le risposte API: per evitare chiamate di rete ridondanti e costose, memorizza nella cache i risultati delle richieste API frequenti.
  • Dai la priorità alla memorizzazione nella cache in memoria: per eliminare le lente operazioni di I/O del disco e le query di database complesse, archivia i dati nella memoria ad alta velocità (RAM).
  • Seleziona strategie di scrittura della cache appropriate:
    • La strategia write-through garantisce che i dati vengano scritti in modo sincrono nella cache e nell'archivio permanente. Questa strategia aumenta la probabilità di hit della cache, quindi l'archivio permanente riceve meno richieste di lettura che richiedono molta energia.
    • La strategia di write-back (write-behind) migliora le prestazioni delle applicazioni con molte scritture. I dati vengono scritti prima nella cache e il database viene aggiornato in modo asincrono in un secondo momento. Questa strategia riduce il carico di scrittura immediato sui database più lenti.
  • Utilizza criteri di eliminazione intelligenti: mantieni la cache snella ed efficiente. Per rimuovere i dati obsoleti o di scarsa utilità e massimizzare lo spazio disponibile per i dati richiesti di frequente, utilizza criteri come durata (TTL), meno utilizzati di recente (LRU) e meno utilizzati di frequente (LFU).

Utilizzare algoritmi e strutture di dati efficienti

Gli algoritmi e le strutture di dati che scegli determinano la complessità computazionale grezza del tuo software. Quando selezioni algoritmi e strutture di dati appropriati, riduci al minimo il numero di cicli della CPU e le operazioni di memoria necessarie per completare un'attività. Un minor numero di cicli di CPU e operazioni di memoria comporta un consumo energetico inferiore.

Scegliere gli algoritmi per una complessità temporale ottimale

Dai la priorità agli algoritmi che raggiungono il risultato richiesto nel minor tempo possibile. Questo approccio contribuisce a ridurre la durata dell'utilizzo delle risorse. Per selezionare algoritmi che ottimizzano l'utilizzo delle risorse, utilizza i seguenti approcci:

  • Concentrati sulla riduzione della complessità: per valutare la complessità, guarda oltre le metriche di runtime e considera la complessità teorica dell'algoritmo. Ad esempio, rispetto all'ordinamento a bolle, l'ordinamento per fusione riduce significativamente il carico computazionale e il consumo energetico per i set di dati di grandi dimensioni.
  • Evita il lavoro ridondante: utilizza funzioni integrate e ottimizzate nel linguaggio di programmazione o nel framework che hai scelto. Queste funzioni vengono spesso implementate in un linguaggio di livello inferiore e più efficiente dal punto di vista energetico come C o C++, quindi sono ottimizzate meglio per l'hardware sottostante rispetto alle funzioni codificate personalizzate.

Selezionare le strutture di dati per l'efficienza

Le strutture di dati che scegli determinano la velocità con cui i dati possono essere recuperati, inseriti o elaborati. Questa velocità influisce sull'utilizzo di CPU e memoria. Per selezionare strutture di dati efficienti, utilizza i seguenti approcci:

  • Ottimizza per la ricerca e il recupero: per operazioni comuni come controllare se un elemento esiste o recuperare un valore specifico, preferisci strutture di dati ottimizzate per la velocità. Ad esempio, le hash map o gli hash set consentono ricerche quasi costanti nel tempo, un approccio più efficiente dal punto di vista energetico rispetto alla ricerca lineare in un array.
  • Ridurre al minimo l'impronta di memoria: strutture di dati efficienti contribuiscono a ridurre l'impronta di memoria complessiva di un'applicazione. La riduzione dell'accesso e della gestione della memoria comporta un minore consumo energetico. Inoltre, un profilo di memoria più snello consente ai processi di essere eseguiti in modo più efficiente, il che ti consente di posticipare gli upgrade delle risorse.
  • Utilizza strutture specializzate: utilizza strutture di dati create appositamente per un determinato problema. Ad esempio, utilizza una struttura di dati trie per la ricerca rapida di prefissi di stringhe e una coda con priorità quando devi accedere in modo efficiente solo al valore più alto o più basso.

Ottimizzare le operazioni di calcolo e sui dati

Quando sviluppi software, concentrati sull'utilizzo efficiente e proporzionale delle risorse nell'intero stack tecnologico. Considera CPU, memoria, disco e rete come risorse limitate e condivise. Riconosci che l'utilizzo efficiente delle risorse porta a riduzioni tangibili dei costi e del consumo energetico.

Ottimizzare l'utilizzo della CPU e il tempo di inattività

Per ridurre al minimo il tempo che la CPU trascorre in uno stato attivo e di consumo energetico senza svolgere un lavoro significativo, utilizza i seguenti approcci:

  • Preferisci la logica basata su eventi al polling: sostituisci i loop occupati o il controllo costante (polling) che richiedono molte risorse con la logica basata su eventi. Un'architettura basata su eventi garantisce che i componenti di un'applicazione funzionino solo quando vengono attivati da eventi pertinenti. Questo approccio consente l'elaborazione on demand, eliminando la necessità di polling a elevato consumo di risorse.
  • Evita frequenze elevate costanti: scrivi codice che non costringa la CPU a funzionare costantemente alla frequenza più elevata. Per ridurre al minimo il consumo di energia, i sistemi inattivi devono essere in grado di entrare in stati di basso consumo o modalità di sospensione.
  • Utilizza l'elaborazione asincrona: per evitare che i thread vengano bloccati durante i tempi di attesa inattivi, utilizza l'elaborazione asincrona. Questo approccio libera le risorse e porta a un maggiore utilizzo complessivo delle risorse.

Gestire in modo efficiente la memoria e l'I/O del disco

L'utilizzo inefficiente della memoria e del disco comporta un'elaborazione non necessaria e un aumento del consumo energetico. Per gestire in modo efficiente la memoria e l'I/O, utilizza le seguenti tecniche:

  • Gestione rigorosa della memoria: intraprendi azioni per rilasciare in modo proattivo le risorse di memoria inutilizzate. Evita di conservare in memoria oggetti di grandi dimensioni per periodi di tempo più lunghi del necessario. Questo approccio previene i colli di bottiglia delle prestazioni e riduce la potenza consumata per l'accesso alla memoria.
  • Ottimizza I/O del disco: riduci la frequenza delle interazioni di lettura e scrittura della tua applicazione con le risorse di archiviazione permanente. Ad esempio, utilizza un buffer di memoria intermedio per archiviare i dati. Scrivi i dati nello spazio di archiviazione persistente a intervalli fissi o quando il buffer raggiunge una determinata dimensione.
  • Operazioni batch: consolida le operazioni su disco frequenti e di piccole dimensioni in un numero inferiore di operazioni batch più grandi. Un'operazione batch consuma meno energia rispetto a molte piccole transazioni individuali.
  • Utilizza la compressione: riduci la quantità di dati scritti o letti dai dischi applicando tecniche di compressione dei dati adeguate. Ad esempio, per comprimere i dati archiviati in Cloud Storage, puoi utilizzare la transcodifica decompressiva.

Ridurre al minimo il traffico di rete

Le risorse di rete consumano una quantità significativa di energia durante le operazioni di trasferimento dei dati. Per ottimizzare la comunicazione di rete, utilizza le seguenti tecniche:

  • Ridurre al minimo le dimensioni del payload: progetta le API e le applicazioni in modo da trasferire solo i dati necessari per una richiesta. Evita di recuperare o restituire strutture JSON o XML di grandi dimensioni nei casi in cui sono necessari solo pochi campi. Assicurati che le strutture di dati restituite siano concise.
  • Ridurre i round trip: per ridurre il numero di round trip di rete necessari per completare un'azione dell'utente, utilizza protocolli più intelligenti. Ad esempio, preferisci HTTP/3 a HTTP/1.1, scegli GraphQL anziché REST, utilizza protocolli binari e consolida le chiamate API. Quando riduci il volume delle chiamate di rete, riduci il consumo energetico sia per i server che per i dispositivi degli utenti finali.

Implementare l'ottimizzazione del frontend

L'ottimizzazione del frontend riduce al minimo i dati che gli utenti finali devono scaricare ed elaborare, contribuendo a ridurre il carico sulle risorse dei dispositivi degli utenti finali.

Ridurre al minimo il codice e gli asset

Quando gli utenti finali devono scaricare ed elaborare risorse strutturate più piccole ed efficienti, i loro dispositivi consumano meno energia. Per ridurre al minimo il volume di download e il carico di elaborazione sui dispositivi degli utenti finali, utilizza le seguenti tecniche:

  • Minimizzazione e compressione: per i file JavaScript, CSS e HTML, rimuovi i caratteri non necessari come spazi e commenti utilizzando strumenti di minimizzazione appropriati. Assicurati che i file come le immagini siano compressi e ottimizzati. Puoi automatizzare la minimizzazione e la compressione degli asset web utilizzando una pipeline CI/CD.
  • Caricamento lento: carica immagini, video e asset non critici solo quando sono effettivamente necessari, ad esempio quando questi elementi scorrono nella viewport di una pagina web. Questo approccio riduce il volume di trasferimento dei dati iniziali e il carico di elaborazione sui dispositivi degli utenti finali.
  • Bundle JavaScript più piccoli: elimina il codice inutilizzato dai bundle JavaScript utilizzando bundler di moduli moderni e tecniche come il tree shaking. Questo approccio produce file più piccoli che vengono caricati più velocemente e utilizzano meno risorse del server.
  • Memorizzazione nella cache del browser: utilizza le intestazioni di memorizzazione nella cache HTTP per indicare al browser dell'utente di archiviare localmente gli asset statici. La memorizzazione nella cache del browser aiuta a evitare download ripetuti e traffico di rete non necessario nelle visite successive.

Dare la priorità a un'esperienza utente (UX) leggera

La progettazione dell'interfaccia utente può avere un impatto significativo sulla complessità computazionale per il rendering dei contenuti frontend. Per creare interfacce frontend che offrono un'esperienza utente leggera, utilizza le seguenti tecniche:

  • Rendering efficiente: evita manipolazioni frequenti e a elevato consumo di risorse del Document Object Model (DOM). Scrivi codice che riduca al minimo la complessità del rendering ed elimini il rendering non necessario.
  • Pattern di progettazione leggeri: se opportuno, preferisci siti statici o app web progressive (PWA). Questi siti e app si caricano più velocemente e richiedono meno risorse del server.
  • Accessibilità e rendimento: i siti reattivi e a caricamento rapido sono spesso più sostenibili e accessibili. Un design ottimizzato e pulito riduce le risorse consumate durante il rendering dei contenuti. I siti web ottimizzati per prestazioni e velocità possono contribuire ad aumentare le entrate. Secondo uno studio di ricerca di Deloitte e Google, intitolato Milliseconds Make Millions, un miglioramento di 0,1 secondi (100 ms) nella velocità del sito comporta un aumento dell'8,4% delle conversioni per i siti di vendita al dettaglio e del 9,2% del valore medio dell'ordine.

Ottimizzare i dati e l'archiviazione per la sostenibilità

Questo principio del pilastro della sostenibilità del Google Cloud Well-Architected Framework fornisce consigli per aiutarti a ottimizzare l'efficienza energetica e l'impronta di carbonio per le tue risorse di archiviazione in Google Cloud.

Panoramica del principio

I dati archiviati non sono una risorsa passiva. L'energia viene consumata e le emissioni di anidride carbonica si verificano durante tutto il ciclo di vita dei dati. Ogni gigabyte di dati archiviati richiede un'infrastruttura fisica continuamente alimentata, raffreddata e gestita. Per ottenere un'architettura cloud sostenibile, tratta i dati come un asset prezioso ma costoso per l'ambiente e dai la priorità alla governance proattiva dei dati.

Le tue decisioni in merito a conservazione, qualità e posizione dei dati possono aiutarti a ottenere riduzioni sostanziali dei costi del cloud e del consumo energetico. Riduci al minimo i dati che archivi, ottimizza dove e come archiviarli e implementa strategie di eliminazione e archiviazione automatizzate. Quando riduci il disordine dei dati, migliori le prestazioni del sistema e riduci in modo sostanziale l'impronta ambientale a lungo termine dei tuoi dati.

Consigli

Per ottimizzare il ciclo di vita dei dati e le risorse di archiviazione in funzione della sostenibilità, valuta i consigli riportati nelle sezioni seguenti.

Dare la priorità ai dati di alto valore

I dati archiviati inutilizzati, duplicati o obsoleti continuano a consumare energia per alimentare l'infrastruttura sottostante. Per ridurre l'impatto ambientale correlato allo spazio di archiviazione, utilizza le seguenti tecniche.

Identificare ed eliminare le duplicazioni

Stabilisci criteri per impedire la replica non necessaria di set di dati in più progetti o servizi. Google Cloud Utilizza repository di dati centrali come set di dati BigQuery o bucket Cloud Storage come singole fonti attendibili e concedi l'accesso appropriato a questi repository.

Rimuovere i dati ombra e i dark data

I dati oscuri sono dati per i quali non è noto il proprietario o l'utilità. Dati ombra indica copie non autorizzate di dati. Scansiona i tuoi sistemi di archiviazione e trova dati oscuri e dati ombra utilizzando una soluzione di rilevamento e catalogazione dei dati come Dataplex Universal Catalog. Verifica regolarmente questi risultati e implementa una procedura per l'archiviazione o l'eliminazione dei dati oscuri e ombra, a seconda dei casi.

Ridurre al minimo il volume di dati per i workload di AI

Archivia solo le funzionalità e i dati elaborati necessari per l'addestramento e la distribuzione del modello. Ove possibile, utilizza tecniche come il campionamento, l'aggregazione e la generazione di dati sintetici per ottenere il rendimento del modello senza fare affidamento su set di dati non elaborati di grandi dimensioni.

Integrare i controlli della qualità dei dati

Implementa pipeline di convalida e pulizia automatica dei dati utilizzando servizi come Dataproc, Dataflow o Dataplex Universal Catalog al momento dell'importazione dei dati. I dati di bassa qualità causano uno spreco di spazio di archiviazione. Inoltre, comporta un consumo energetico non necessario quando i dati vengono utilizzati in un secondo momento per l'analisi o l'addestramento dell'AI.

Esaminare la densità di valore dei dati

Esamina periodicamente i set di dati di grandi dimensioni come i log e gli stream IoT. Determina se è possibile riepilogare, aggregare o sottocampionare i dati per mantenere la densità di informazioni richiesta e ridurre il volume di archiviazione fisica.

Valuta in modo critico la necessità di backup

Valuta la necessità di eseguire backup dei dati che puoi rigenerare con il minimo sforzo. Esempi di questi dati includono risultati ETL intermedi, cache effimere e dati di addestramento derivati da un'origine stabile e permanente. Conserva i backup solo dei dati unici o costosi da ricreare.

Ottimizzare la gestione del ciclo di vita dell'archiviazione

Automatizza il ciclo di vita dell'archiviazione in modo che, quando l'utilità dei dati diminuisce, i dati vengano spostati in una classe di archiviazione a basso consumo energetico o ritirati, a seconda dei casi. Utilizza le seguenti tecniche.

Seleziona una classe Cloud Storage appropriata

Automatizza la transizione dei dati in Cloud Storage a classi di archiviazione a emissioni di carbonio inferiori in base alla frequenza di accesso utilizzando la gestione del ciclo di vita degli oggetti.

  • Utilizza l'archiviazione Standard solo per i set di dati utilizzati attivamente, ad esempio i modelli di produzione attuali.
  • Trasferisci i dati, come i set di dati di addestramento dell'AI meno recenti o i backup a cui si accede meno frequentemente, all'archiviazione Nearline o Coldline.
  • Per la conservazione a lungo termine, utilizza l'archiviazione Archive, ottimizzata per l'efficienza energetica su larga scala.

Implementa policy aggressive del ciclo di vita dei dati

Definisci criteri di durata (TTL) chiari e automatizzati per i dati non essenziali, come file di log, artefatti di modelli temporanei e risultati intermedi obsoleti. Utilizza le regole del ciclo di vita per eliminare automaticamente questi dati dopo un periodo definito.

Imporre il tagging delle risorse

Rendi obbligatorio l'utilizzo di tag e etichette delle risorse coerenti per tutti i bucket Cloud Storage, i set di dati BigQuery e i dischi permanenti. Crea tag che indicano il proprietario dei dati, lo scopo dei dati e il periodo di conservazione. Utilizza i vincoli del servizio Policy dell'organizzazione per assicurarti che i tag richiesti, come il periodo di conservazione, vengano applicati alle risorse. I tag ti consentono di automatizzare la gestione del ciclo di vita, creare report FinOps granulari e produrre report sulle emissioni di carbonio.

Dimensionare correttamente e deprovisionare lo spazio di archiviazione di computing

Controlla regolarmente i dischi permanenti collegati alle istanze Compute Engine e assicurati che non sia stato eseguito il provisioning eccessivo dei dischi. Utilizza gli snapshot solo quando sono necessari per il backup. Elimina gli snapshot meno recenti e inutilizzati. Per i database, utilizza le norme di conservazione dei dati per ridurre le dimensioni dei dischi permanenti sottostanti.

Ottimizzare il formato di archiviazione

Per lo spazio di archiviazione che gestisce i carichi di lavoro di analisi, preferisci formati compressi e colonnari come Parquet o Avro ottimizzato rispetto a formati basati su righe come JSON o CSV. L'archiviazione colonnare riduce notevolmente i requisiti di spazio su disco fisico e migliora l'efficienza di lettura. Questa ottimizzazione contribuisce a ridurre il consumo energetico per le operazioni di calcolo e I/O associate.

Ottimizzare la regionalità e lo spostamento dei dati

La posizione fisica e lo spostamento dei dati influiscono sul consumo di risorse di rete e sull'energia necessaria per l'archiviazione. Ottimizza la regionalità dei dati utilizzando le seguenti tecniche.

Selezionare le regioni di archiviazione a basse emissioni di carbonio

A seconda dei requisiti di conformità, archivia i dati in regioni che utilizzano una percentuale maggiore di energia a impatto zero o che hanno un'intensità di emissioni di carbonio della rete inferiore. Google Cloud Limita la creazione di bucket di archiviazione nelle regioni con emissioni di carbonio elevate utilizzando il vincolo di policy dell'organizzazione località delle risorse. Per informazioni sui dati relativi all'energia a zero emissioni di CO2 e all'intensità di emissioni di carbonio per le regioni Google Cloud , consulta Energia a zero emissioni di CO2 per le regioni Google Cloud .

Ridurre al minimo la replica

Replica i dati tra le regioni solo per soddisfare i requisiti obbligatori di ripristino di emergenza (RE) o alta disponibilità (HA). Le operazioni di replica tra regioni e multiregionale aumentano in modo significativo il costo dell'energia e l'impronta di carbonio dei tuoi dati.

Ottimizzare le località di trattamento dei dati

Per ridurre il consumo di energia per il trasferimento dei dati di rete, esegui il deployment di carichi di lavoro a elevato utilizzo di risorse di calcolo come l'addestramento dell'AI e l'elaborazione BigQuery nella stessa regione dell'origine dati.

Ottimizzare il trasferimento dei dati per partner e clienti

Per spostare grandi volumi di dati tra servizi cloud, località e provider, invita i tuoi partner e clienti a utilizzare Storage Transfer Service o le API di condivisione dei dati. Evita i dump di dati di massa. Per i set di dati pubblici, utilizza i bucket Requester Pays per trasferire i costi di trasferimento ed elaborazione dei dati e l'impatto ambientale agli utenti finali.

Misurare e migliorare continuamente la sostenibilità

Questo principio del pilastro della sostenibilità del Google Cloud framework Well-Architected fornisce consigli per aiutarti a misurare e migliorare continuamente la sostenibilità dei tuoi carichi di lavoro in Google Cloud.

Panoramica del principio

Per garantire la sostenibilità dei carichi di lavoro cloud, sono necessarie metriche accurate e trasparenti. Le metriche verificabili ti consentono di tradurre gli obiettivi di sostenibilità in azioni. Ogni risorsa che crei nel cloud ha un'impronta di carbonio associata. Per creare e mantenere architetture cloud sostenibili, devi integrare la misurazione dei dati sulle emissioni di carbonio nel ciclo di feedback operativo.

I consigli in questa sezione forniscono un framework per l'utilizzo dell'impronta di carbonio per quantificare le emissioni di anidride carbonica, identificare i punti critici di emissione, implementare ottimizzazioni mirate dei carichi di lavoro e verificare i risultati degli sforzi di ottimizzazione. Questo framework ti consente di allineare in modo efficiente i tuoi obiettivi di ottimizzazione dei costi con target di riduzione delle emissioni di carbonio verificabili.

Metodologia di report di Carbon Footprint

Carbon Footprint fornisce un report trasparente, verificabile e allineato a livello globale sulle emissioni correlate al cloud. Il report è conforme agli standard internazionali, principalmente al Greenhouse Gas (GHG) Protocol per la contabilizzazione e la rendicontazione delle emissioni di anidride carbonica. Il report Impronta di carbonio utilizza metodi di contabilizzazione basati sulla località e sul mercato. La contabilità basata sulla posizione si basa sul fattore di emissione della rete locale. La contabilità basata sul mercato prende in considerazione gli acquisti di energia a zero emissioni di carbonio (CFE) di Google. Questo duplice approccio ti aiuta a comprendere sia l'impatto sulla rete fisica sia il vantaggio in termini di emissioni di carbonio dei tuoi workload in Google Cloud.

Per saperne di più su come viene preparato il report di Carbon Footprint, incluse le origini dati utilizzate, le inclusioni di Scope 3 e il modello di allocazione dei clienti, consulta Metodologia di report di Carbon Footprint.

Consigli

Per utilizzare la misurazione delle emissioni di carbonio per il miglioramento continuo, prendi in considerazione i consigli nelle sezioni seguenti. I consigli sono strutturati in fasi di maturità per l'implementazione di operazioni cloud sostenibili per progettazione:

Fase 1: stabilisci una base di riferimento

In questa fase, configuri gli strumenti necessari e ti assicuri che i dati siano accessibili e integrati correttamente.

  1. Concedi autorizzazioni: concedi autorizzazioni a team come FinOps, SecOps e ingegneria della piattaforma in modo che possano accedere alla dashboard Carbon Footprint nella console Google Cloud . Concedi il ruolo Visualizzatore impronta di carbonio (roles/billing.carbonViewer) in Identity and Access Management (IAM) per l'account di fatturazione appropriato.
  2. Automatizza l'esportazione dei dati: configura l'esportazione automatica dei dati di Carbon Footprint in BigQuery. I dati esportati ti consentono di eseguire analisi approfondite, correlare i dati sulle emissioni di carbonio con i dati su costi e utilizzo e produrre report personalizzati.
  3. Definisci indicatori chiave di prestazione (KPI) correlati alle emissioni di carbonio: stabilisci metriche che colleganoemissioni di anidride carbonicao al valore aziendale. Ad esempio, l'intensità di carbonio è una metrica per il numero di chilogrammi di equivalente di CO2 per cliente, transazione o unità di entrate.

Fase 2: identifica i punti critici delle emissioni di carbonio

Identifica le aree con il maggiore impatto ambientale analizzando i dati granulari nel report Carbon Footprint. Per questa analisi, utilizza le seguenti tecniche:

  • Dai la priorità in base all'ambito: per identificare rapidamente i maggiori emettitori di carbonio lordo, analizza i dati nella dashboard per progetto, regione e servizio.
  • Utilizza la doppia contabilità: quando valuti l'impatto del carbonio in una regione, considera sia le emissioni basate sulla località (l'impatto ambientale della rete elettrica locale) sia le emissioni basate sul mercato (il vantaggio degli investimenti di Google in energia priva di emissioni di carbonio).
  • Correlare con i costi: unisci i dati sulle emissioni di carbonio in BigQuery ai tuoi dati di fatturazione e valuta l'impatto delle azioni di ottimizzazione sulla sostenibilità e sui costi. Un costo elevato può spesso essere correlato a emissioni di anidride carbonica elevate.
  • Annota i dati per misurare il ritorno sull'impegno (ROE): annota i dati sul carbonio in BigQuery con eventi specifici, ad esempio il dimensionamento corretto di una risorsa o il ritiro di un servizio di grandi dimensioni. Le annotazioni ti consentono di attribuire le riduzioni delle emissioni di anidride carbonica e dei costi a iniziative di ottimizzazione specifiche, in modo da poter misurare e dimostrare il risultato di ciascuna iniziativa.

Fase 3: implementa l'ottimizzazione mirata

Questa è la fase di esecuzione per l'implementazione di operazioni cloud sostenibili per progettazione. Utilizza le seguenti strategie per ottimizzare risorse specifiche che identifichi come fattori significativi di costi edemissioni di anidride carbonicao:

  • Ritira i progetti inattivi: controlla regolarmente il motore per suggerimenti sui progetti inattivi integrato con i dati di Carbon Footprint. Per ottenere riduzioni immediate e verificate delleemissioni di anidride carbonicao e dei costi, automatizza la revisione e l'eventuale rimozione dei progetti inutilizzati.
  • Dimensiona correttamente le risorse: adatta la capacità delle risorse di cui è stato eseguito il provisioning all'utilizzo effettivo utilizzando i suggerimenti per il dimensionamento ottimale di Active Assist, come i suggerimenti per il tipo di macchina per le VM Compute Engine. Per le attività ad alta intensità di calcolo e i carichi di lavoro di AI, utilizza i tipi di macchina e i modelli di AI più efficienti.
  • Adotta la pianificazione consapevole delle emissioni di carbonio: per i carichi di lavoro batch che non sono sensibili al tempo, integra i dati CFE regionali nella logica di pianificazione. Ove possibile, limita la creazione di nuove risorse alle regioni a basse emissioni di carbonio utilizzando il vincolo località delle risorse nel servizio Policy dell'organizzazione.
  • Ridurre la proliferazione dei dati: implementa criteri di governance dei dati per garantire che i dati ad accesso non frequente vengano trasferiti a una classe di archiviazione ad accesso non frequente appropriata (Nearline, Coldline o Archive) o vengano eliminati definitivamente. Questa strategia contribuisce a ridurre il costo energetico delle risorse di archiviazione.
  • Perfeziona il codice dell'applicazione: correggi le inefficienze a livello di codice che causano un utilizzo eccessivo delle risorse o calcoli non necessari.

Per ulteriori informazioni, consulta le seguenti risorse:

Fase 4: istituzionalizza le pratiche e i report sulla sostenibilità

In questa fase, incorpori la misurazione delle emissioni di carbonio nel tuo framework di governance. Questo approccio contribuisce a garantire che la tua organizzazione disponga delle capacità e dei controlli necessari per miglioramenti continui della sostenibilità e report verificabili.

  • Implementa la governance GreenOps: crea una funzione o un gruppo di lavoro GreenOps formale per integrare i dati di Carbon Footprint con i dati del fatturazione Cloud. Questa funzione deve definire la responsabilità per gli obiettivi di riduzione delle emissioni di carbonio nei progetti, allineare l'ottimizzazione dei costi agli obiettivi di sostenibilità e implementare i report per monitorare l'efficienza del carbonio rispetto alla spesa.
  • Utilizzare i dati di Carbon Footprint per la generazione di report e la conformità: utilizza i dati di Carbon Footprint verificati e controllabili in BigQuery per creare dichiarazioni formali in materia di ambiente, società e governance (ESG). Questo approccio ti consente di soddisfare le richieste di trasparenza degli stakeholder e contribuisce a garantire la conformità alle normative obbligatorie e volontarie.
  • Investi in formazione e sensibilizzazione: implementa una formazione obbligatoria sulla sostenibilità per i team tecnici e non tecnici pertinenti. I tuoi team devono sapere come accedere e interpretare i dati relativi all&#3Carbon Footprintio e come applicare i consigli di ottimizzazione nei flussi di lavoro e nelle scelte di progettazione quotidiane. Per ulteriori informazioni, vedi Fornire una formazione sulla sostenibilità basata sui ruoli.
  • Definisci i requisiti di emissioni di carbonio: incorpora le metriche delle emissioni di carbonio come requisiti non funzionali (NFR) nei criteri di accettazione della tua applicazione per i nuovi deployment. Questa pratica contribuisce a garantire che architetti e sviluppatori diano la priorità alle opzioni di progettazione a basse emissioni di carbonio fin dall'inizio del ciclo di vita dello sviluppo dell'applicazione.
  • Automatizza GreenOps: automatizza l'implementazione dei consigli di Active Assist utilizzando script, modelli e pipeline Infrastructure as Code (IaC). Questa pratica garantisce che i team applichino i suggerimenti in modo coerente e rapido in tutta l'organizzazione.

Promuovere una cultura della sostenibilità

Questo principio del pilastro della sostenibilità del Google Cloud framework Well-Architected fornisce consigli per aiutarti a creare una cultura in cui i team della tua organizzazione siano consapevoli delle pratiche di sostenibilità e le conoscano bene.

Panoramica del principio

Per applicare pratiche di sostenibilità, non bastano strumenti e tecniche. È necessario un cambiamento culturale guidato dall'istruzione e dalla responsabilizzazione. I tuoi team devono essere consapevoli dei problemi di sostenibilità e devono avere competenze pratiche nelle pratiche di sostenibilità.

  • La consapevolezza della sostenibilità è la conoscenza contestuale che ogni decisione architettonica e operativa ha effetti tangibili sulla sostenibilità. I team devono riconoscere che il cloud non è una raccolta astratta di risorse virtuali, ma è guidato da risorse fisiche che consumano energia e producono emissioni di anidride carbonica.
  • Competenza nelle pratiche di sostenibilità include la conoscenza per interpretare i datiemissioni di anidride carbonicao, l'esperienza nell'implementazione della governance della sostenibilità del cloud e le competenze tecniche per refactoring del codice per l'efficienza energetica.

Per allineare le pratiche di sostenibilità agli obiettivi dell'organizzazione, i tuoi team devono comprendere in che modo il consumo di energia da parte dell'infrastruttura cloud e del software contribuisce all'impronta di carbonio dell'organizzazione. Una formazione ben pianificata contribuisce a garantire che tutti i tuoi stakeholder, dagli sviluppatori e architetti ai professionisti della finanza e agli ingegneri delle operazioni, comprendano il contesto di sostenibilità del loro lavoro quotidiano. Questa comprensione condivisa consente ai team di andare oltre la conformità passiva e passare all'ottimizzazione attiva, il che rende i tuoi workload cloud sostenibili per progettazione. La sostenibilità diventa un requisito non funzionale (NFR) fondamentale, come altri requisiti per sicurezza, costi, prestazioni e affidabilità.

Consigli

Per sensibilizzare in merito ai problemi di sostenibilità e migliorare le competenze in questo ambito, prendi in considerazione i consigli riportati nelle sezioni seguenti.

Fornire il contesto aziendale e l'allineamento agli obiettivi dell'organizzazione

La sostenibilità non è solo un esercizio tecnico, ma richiede un cambiamento culturale che allinei le azioni individuali alla missione ambientale della tua organizzazione. Quando i team comprendono il perché delle iniziative di sostenibilità, è più probabile che le adottino come principi fondamentali anziché come attività facoltative.

Connettersi al quadro generale

Aiuta i tuoi team a capire in che modo le singole scelte architetturali, ad esempio la selezione di una regione a basse emissioni di carbonio o l'ottimizzazione di una pipeline di dati, contribuiscono agli impegni generali di sostenibilità dell'organizzazione. Comunica esplicitamente in che modo queste scelte influiscono sulla comunità locale e sul settore. Trasformare le metriche astratte del carbonio in indicatori tangibili di progresso verso gli obiettivi di responsabilità sociale delle aziende (CSR).

Ad esempio, un messaggio come il seguente informa i team del risultato positivo e del riconoscimento da parte dei dirigenti della decisione di eseguire la migrazione di un carico di lavoro in una regione a basse emissioni di carbonio e di utilizzare un tipo di macchina a basso consumo energetico. Il messaggio fa riferimento all'equivalente di CO2, che aiuta il tuo team a contestualizzare l'impatto delle misure di riduzione delle emissioni di carbonio.

"Eseguendo la migrazione del nostro motore di analisi dei dati alla regione us-central1 icona foglia Low CO2 e aggiornando i nostri cluster alle istanze basate su C4A Axion, abbiamo modificato radicalmente il nostro profilo di emissioni di carbonio. Questo cambiamento ha comportato una riduzione del 75% dell'intensità di carbonio del nostro motore di analisi dei dati, il che si traduce in una riduzione di 12 tonnellate di CO2 equivalente questo trimestre. Questa migrazione ha avuto un impatto significativo sui nostri obiettivi aziendali ed è stata inclusa nella newsletter del quarto trimestre inviata al nostro consiglio di amministrazione".

Comunicare gli obiettivi finanziari e di sostenibilità

La trasparenza è fondamentale per allineare le pratiche di sostenibilità agli obiettivi. Per quanto possibile, condividi ampiamente gli obiettivi di sostenibilità e i progressi in tutta l' organizzazione. Evidenzia i progressi in materia di sostenibilità nei bilanci annuali. Questa comunicazione garantisce che i team tecnici considerino il proprio lavoro una parte fondamentale degli impegni pubblici e della salute finanziaria dell'organizzazione.

Adottare una mentalità di destino condiviso

Insegna ai team la natura collaborativa della sostenibilità del cloud. Google è responsabile della sostenibilità del cloud, che include l'efficienza dell'infrastruttura e dei data center. Tu (il cliente) sei responsabile della sostenibilità delle tue risorse e dei tuoi carichi di lavoro nel cloud. Se inquadri questa collaborazione come una partnership di destino condiviso, rafforzi la comprensione che la tua organizzazione e Google collaborano per ottenere risultati ambientali ottimali.

Fornire una formazione sulla sostenibilità basata sui ruoli

Per assicurarti che la sostenibilità sia un'abilità pratica piuttosto che un concetto teorico, adatta la formazione sulla sostenibilità a ruoli professionali specifici. Gli strumenti e le tecniche di sostenibilità che un data scientist può utilizzare sono molto diversi da quelli a disposizione di un analista FinOps, come descritto nella tabella seguente:

Ruolo Focus allenamento
Data scientist e ML engineer Intensità di carbonio del calcolo: dimostra le differenze tra l'esecuzione di job di addestramento AI su sistemi legacy e su acceleratori AI appositamente progettati. Evidenzia come un modello con meno parametri possa produrre l'accuratezza richiesta con un consumo di energia significativamente inferiore.
Sviluppatori Efficienza del codice e consumo di risorse: illustra come il codice a latenza elevata o i loop inefficienti si traducono direttamente in tempi di esecuzione della CPU prolungati e aumento del consumo di energia. Sottolinea l'importanza dei container leggeri e la necessità di ottimizzare le prestazioni delle applicazioni per ridurre l'impronta ambientale del software.
Architetti Sostenibilità by design: concentrati sulla selezione della regione e sul posizionamento del workload. Mostra come la scelta di una regione icona foglia a basse emissioni di CO2 con un'alta percentuale di energia rinnovabile (come northamerica-northeast1) cambia radicalmente il profilo di emissioni di carbonio dell'intero stack di applicazioni prima di scrivere una sola riga di codice.
Ingegneri di piattaforma e ingegneri delle operazioni Massimizzare l'utilizzo: sottolinea il costo ambientale delle risorse inattive e dell'overprovisioning. Presenta scenari per la scalabilità automatica e il dimensionamento corretto per garantire che le risorse cloud vengano utilizzate in modo efficiente. Spiega come creare e monitorare metriche correlate alla sostenibilità come l'utilizzo e come convertire metriche come il tempo di calcolo in metriche equivalenti di emissioni di anidride carbonica.
FinOps Economia unitaria del carbonio: concentrati sul rapporto tra la spesa finanziaria e l'impatto ambientale. Mostra come le pratiche GreenOps consentono a un'organizzazione di monitorare le emissioni di carbonio per transazione, il che contribuisce a rendere la sostenibilità un indicatore chiave di prestazione (KPI) importante quanto i KPI convenzionali come costi e utilizzo.
Product manager Sostenibilità come funzionalità: mostra come integrare gli obiettivi di riduzione delle emissioni di carbonio nelle roadmap dei prodotti. Mostra come i percorsi utente semplificati possono contribuire a ridurre il consumo energetico sia delle risorse cloud sia dei dispositivi degli utenti finali.
Leader aziendali Allineamento strategico e report: concentrati su come la sostenibilità del cloud influisce sui punteggi ambientali, sociali e di governance (ESG) e sulla reputazione pubblica. Illustra in che modo le scelte di sostenibilità contribuiscono a ridurre il rischio normativo e rispettare gli impegni presi con la community e il settore.

Promuovere la sostenibilità e riconoscere il successo

Per sostenere i progressi a lungo termine, devi andare oltre le correzioni tecniche interne e iniziare a influenzare i tuoi partner e il settore.

Consentire ai manager di promuovere la sostenibilità

Fornisci ai manager i dati e le autorizzazioni necessari per dare la priorità all'impatto ambientale in modo simile ad altre metriche aziendali come la velocità di commercializzazione e il costo. Quando i manager dispongono di questi dati, iniziano a considerare la sostenibilità come uno standard di qualità ed efficienza, anziché come una funzionalità piacevole da avere che rallenta la produzione. Promuovono attivamente nuove funzionalità dei provider di servizi cloud, come dati sulle emissioni di carbonio più granulari e processori più recenti ed ecologici in regioni specifiche.

Allinearsi agli standard e ai framework di settore

Per garantire che i tuoi sforzi per la sostenibilità siano credibili e misurabili, allinea le pratiche interne agli standard globali e regionali riconosciuti. Per saperne di più, consulta Allineare le pratiche di sostenibilità alle linee guida del settore.

Incentivare gli sforzi per la sostenibilità

Per garantire che la sostenibilità diventi parte integrante della cultura ingegneristica, i team devono comprendere il valore di dare la priorità alla sostenibilità. Passa da obiettivi di alto livello a KPI specifici e misurabili che premiano il miglioramento e l'efficienza.

Definisci KPI e requisiti non funzionali relativi alle emissioni di carbonio

Considera la sostenibilità come un requisito tecnico fondamentale. Quando definisci KPI relativi alle emissioni di carbonio, ad esempio grammi di equivalente CO2 per milione di richieste o intensità di carbonio per esecuzione di addestramento dell'AI, rendi l'impatto sulla sostenibilità visibile e attuabile. Ad esempio, integra la sostenibilità nei requisiti non funzionali per ogni nuovo progetto. In altre parole, proprio come un sistema deve soddisfare un obiettivo specifico di latenza o disponibilità, deve anche rimanere entro un budget definito di emissioni di carbonio.

Misurare il ritorno sull'impegno

Aiuta i tuoi team a identificare i successi in termini di sostenibilità a basso sforzo e ad alto impatto, ad esempio spostare un job batch in un'altra regione, rispetto a un complesso esercizio di refactoring del codice che potrebbe fornire vantaggi minimi. Fornisci visibilità sul ritorno sullo sforzo (ROE). Quando un team sceglie una famiglia di processori più efficiente, deve sapere esattamente quante emissioni di carbonio ha evitato rispetto al tempo e all'impegno necessari per eseguire la migrazione al nuovo processore.

Riconoscere e celebrare la riduzione delle emissioni di anidride carbonica

L'impatto sulla sostenibilità è spesso nascosto sullo sfondo dell'infrastruttura. Per creare le condizioni per il progresso della sostenibilità, rendi visibili i successi all'intera organizzazione. Ad esempio, utilizza le annotazioni nelle dashboard di monitoraggio per indicare quando un team ha implementato un'ottimizzazione specifica per la sostenibilità. Questa visibilità consente ai team di indicare i dati nella dashboard e rivendicare il riconoscimento per i loro successi.

Allineare le pratiche di sostenibilità alle linee guida del settore

Questo principio del pilastro della sostenibilità del Google Cloud Well-Architected Framework fornisce una panoramica delle linee guida e dei framework del settore a cui devi allineare i tuoi sforzi per la sostenibilità.

Panoramica del principio

Per assicurarti che le tue iniziative di sostenibilità si basino su metodi di misurazione, reporting e verifica riconosciuti a livello globale, ti consigliamo di allineare le tue iniziative alle seguenti linee guida del settore:

Quando allinei le tue iniziative di sostenibilità a queste linee guida esterne condivise, le tue iniziative ottengono la credibilità e la verificabilità richieste da investitori, enti normativi e altri stakeholder esterni. Inoltre, promuovi la responsabilità nei team di ingegneria, integra la sostenibilità nella formazione dei dipendenti e integra con successo le operazioni cloud negli impegni a livello aziendale per la creazione di report ambientali, sociali e di governance (ESG).

Linee guida per la sostenibilità del web del W3C

Le linee guida per la sostenibilità del web (WSG) del W3C sono un framework emergente di best practice sviluppato da un gruppo di lavoro del W3C per affrontare l'impatto ambientale di prodotti e servizi digitali. Le linee guida coprono l'intero ciclo di vita di una soluzione digitale, tra cui strategia aziendale e di prodotto, progettazione dell'esperienza utente (UX), sviluppo web, hosting, infrastruttura e sistemi. L'obiettivo principale di WSG è consentire a sviluppatori e architetti di creare siti web e applicazioni web più efficienti dal punto di vista energetico e che riducano il traffico di rete, l'elaborazione lato client e il consumo di risorse lato server. Queste linee guida rappresentano un punto di riferimento fondamentale per allineare la sostenibilità a livello di applicazione con le decisioni architetturali a livello di cloud.

Green Software Foundation

La Green Software Foundation (GSF) si concentra sulla creazione di un ecosistema industriale incentrato sul software sostenibile. La sua missione è promuovere la creazione di software progettati, realizzati e gestiti per ridurre al minimo l'impatto ambientale. Il GSF ha sviluppato la specifica Software Carbon Intensity (SCI), che fornisce uno standard comune per misurare il tasso di emissioni di anidride carbonica di qualsiasi software. L'allineamento con GSF aiuta gli sviluppatori a collegare l'efficienza di un'applicazione direttamente all'impatto di carbonio dell'ambiente cloud.

Protocollo GHG

Il Greenhouse Gas (GHG) Protocol è un insieme di standard ampiamente utilizzati per misurare, gestire e comunicare pubblicamente le emissioni di gas serra. Il protocollo è stato sviluppato grazie a una partnership tra il World Resources Institute (WRI) e il World Business Council for Sustainable Development (WBCSD). Il protocollo GHG fornisce il framework essenziale per la contabilità climatica aziendale. Il report Carbon Footprint fornisce dati per gli ambiti delle emissioni pertinenti all'utilizzo del cloud. Per ulteriori informazioni, consulta la sezione Metodologia di report di Carbon Footprint.

L'adesione al protocollo GHG contribuisce a garantire la credibilità delle tue iniziative di sostenibilità e consente a terze parti di eseguire l'audit dei tuoi dati sulle emissioni di carbonio. Inoltre, contribuisci a prevenire la percezione di greenwashing e a soddisfare i requisiti di due diligence di investitori, autorità di regolamentazione e stakeholder esterni. I dati verificati e controllati aiutano la tua organizzazione a dimostrare la responsabilità e a creare fiducia negli impegni di sostenibilità rivolti al pubblico.