Il pilastro della sostenibilità del Google Cloud Well-Architected Framework fornisce consigli per progettare, creare e gestire workload in Google Cloudche siano efficienti dal punto di vista energetico e consapevoli delle emissioni di carbonio.
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 workload 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 workload nel cloud. Ogni workload, che si tratti di un piccolo sito web o di un modello di ML su larga scala, consuma energia e contribuisce all'intensità delle emissioni di anidride carbonica 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 retroazione positivo di maggiore efficienza, costi inferiori e minore impatto ambientale.
Sostenibilità integrata: risultati aziendali olistici
La sostenibilità non è un compromesso rispetto ad altri scopi commerciali principali; le pratiche di sostenibilità aiutano ad accelerare gli altri scopi commerciali. Le scelte di architettura che danno la priorità a risorse e operazioni a bassa emissione di CO2 ti aiutano a creare sistemi più veloci, economici e sicuri. Questi sistemi sono considerati sostenibili per progettazione, in quanto l'ottimizzazione per la sostenibilità porta a risultati complessivamente positivi in termini di 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 workload 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 workload.
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 dei dati non autorizzata, può aumentare notevolmente il consumo di risorse. Questi incidenti possono causare picchi enormi di traffico, creare cicli di calcolo incontrollati per la mitigazione e richiedere operazioni lunghe e ad alta intensità energetica per l'analisi forense, la pulizia e il ripristino dei dati. Misure di sicurezza efficaci possono aiutare a prevenire picchi non necessari nell'utilizzo delle risorse, in modo che le tue operazioni rimangano stabili, prevedibili e a risparmio energetico.
Esperienza utente
I sistemi che danno priorità a efficienza, prestazioni, accessibilità e utilizzo minimo dei dati possono contribuire a ridurre il consumo di energia da parte 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 degli utenti finali. Questa riduzione del consumo energetico è particolarmente vantaggiosa per gli utenti che hanno una larghezza di banda limitata o che utilizzano dispositivi meno recenti. Inoltre, l'architettura sostenibile aiuta a ridurre al minimo i danni al pianeta e dimostra il tuo impegno nei confronti di una tecnologia socialmente responsabile.
Valore della sostenibilità della migrazione al cloud
La migrazione dei workload 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 workload 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, sistemi di raffreddamento attenti ai cambiamenti climatici e ottimizzazione dell'hardware. Per saperne di più sulla strategia e sui progressi di Google in materia di sostenibilità, consulta il Report ambientale 2026 sulla sostenibilità di Google.
In qualità di cliente, sei responsabile della sostenibilità nel cloud, il che significa ottimizzare i workload per renderli efficienti dal punto di vista energetico. Ad esempio, puoi dimensionare correttamente le risorse, utilizzare servizi serverless con scalabilità fino a zero e gestire in modo efficace i cicli di vita dei dati.
Sosteniamo anche un modello di destino condiviso: la sostenibilità non è solo una divisione di attività, ma una partnership collaborativa tra te e Google per ridurre l'impatto ambientale dell'intero ecosistema.
Utilizza 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 workload 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 insight 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 la trasparenza granulare della catena di fornitura, conformità legale 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 insight 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.
- Insight 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 workload 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.
Valuta i workload utilizzando una competenza dell'agente
Per consentire agli agenti AI di valutare i tuoi workload cloud in base ai principi e ai suggerimenti di questo pilastro, utilizza la skill google-cloud-waf-sustainability, disponibile nel repository Google Agent Skills su GitHub.
Per installare la skill, esegui questo comando nel client o nel terminale dell'agente:
npx skills add google/skills --skill google-cloud-waf-sustainability
Quando richiesto, specifica gli agenti AI per cui vuoi installare la skill e imposta l'ambito di installazione (progetto o globale).
Se hai già installato la skill, puoi aggiornarla all'ultima versione eseguendo questo comando:
npx skills update
Principi fondamentali
I consigli del pilastro della sostenibilità del Well-Architected Framework sono mappati ai seguenti principi fondamentali:
- Utilizza regioni che consumano energia a bassa emissione di CO2
- Ottimizza i workload di AI e ML per l'efficienza energetica
- Ottimizza l'utilizzo delle risorse per la sostenibilità
- Sviluppa software a risparmio energetico
- Ottimizza i dati e lo spazio di archiviazione per la sostenibilità
- Misura e migliora costantemente la sostenibilità
- Promuovi una cultura della sostenibilità
- Allinea le pratiche di sostenibilità alle linee guida di settore
Collaboratori
Autore: Brett Tackaberry | Principal Architect
Altri collaboratori:
- Adrien Feudjio | | Product Manager, Carbon Footprint
- Alex Stepney | Lead Principal Architect
- Daniel Lees | Cloud Security Architect
- Denise Pearl | Global Marketing Lead, Sustainability
- Kumar Dhanagopal | Cross-Product Solution Developer
- Laura Hyatt | Customer Engineer, FSI
- Nicolas Pintaux | Customer Engineer, Application Modernization Specialist
- Radhika Kanakam | Program Lead, Google Cloud Well-Architected Framework
Utilizza regioni che consumano energia a bassa emissione di CO2
Questo principio del pilastro della sostenibilità del Google Cloud Well-Architected Framework fornisce consigli per aiutarti a selezionare regioni a basse emissioni di CO2 per i tuoi workload in Google Cloud.
Panoramica del principio
Quando pianifichi il deployment di un workload in Google Cloud, una decisione importante sull'architettura è la scelta della regione Google Cloud per il workload. Questa decisione influisce sull'impronta di carbonio del tuo workload. Per ridurre al minimo l'impronta di carbonio, la strategia di selezione della regione deve includere i seguenti elementi:
- Selezione basata sui dati: per identificare e dare priorità alle regioni, considera l'indicatore
CO2 bassa e la metrica dell'energia a zero emissioni di CO2 (CFE).
- Governance basata su policy: limita la creazione di risorse alle località ottimali dal punto di vista ambientale utilizzando il vincolo delle località delle risorse nel servizio policy dell'organizzazione.
- Flessibilità operativa: utilizza tecniche come lo spostamento temporale e la pianificazione basata sulle emissioni di CO2 per eseguire i workload batch durante le ore in cui l'intensità di carbonio della rete elettrica è più bassa.
L'elettricità utilizzata per alimentare l'applicazione e i workload nel cloud è un fattore importante che influisce sulla scelta delle regioni Google Cloud . Inoltre, tieni presente i seguenti fattori:
- Residenza e sovranità dei dati: la località in cui devi archiviare i tuoi dati è un fattore fondamentale che determina la 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 sulle prestazioni delle applicazioni.
- Costo: i prezzi delle risorse Google Cloud possono variare in base alle regioni.
Lo strumento Google Cloud Region Picker ti aiuta a selezionare le regioni Google Cloud ottimali in base ai tuoi requisiti di impronta di carbonio, costo e latenza. Puoi anche utilizzare Cloud Location Finder per trovare località cloud in Google Cloud e altri provider in base ai tuoi requisiti di prossimità, utilizzo di energia a zero emissioni di CO2 (CFE) e altri parametri.
Consigli
Per eseguire il deployment dei workload cloud in regioni a bassa emissione di CO2, prendi in considerazione i suggerimenti riportati nelle sezioni seguenti. Questi suggerimenti si basano sulle indicazioni riportate in Energia a zero emissioni di CO2 per le regioni Google Cloud .
Comprendi l'intensità di carbonio delle regioni cloud
I data center diGoogle Cloud in una regione utilizzano l'energia della rete elettrica in cui si trova la regione. Google misura l'impronta 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 durante un'ora. La metrica CFE dipende da due fattori:
- Il tipo di centrali elettriche che alimentano la rete durante un determinato periodo.
- Attribuita a Google Energia pulita fornita alla rete durante questo periodo.
Per informazioni sulla percentuale di CFE media oraria aggregata per ogni regioneGoogle Cloud , consulta Energia a zero emissioni di CO2 per le regioni Google Cloud . Puoi anche ottenere questi dati in un formato leggibile da macchina dal repository Energia senza emissioni di CO2 per le regioni Google Cloud in GitHub e da un set di dati pubblico BigQuery.
Includi il CFE nella tua strategia di selezione della 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 regioni a bassa emissione di CO2. Alcune pagine del sito web Google Cloud e i selettori di località nella console Google Cloud mostrano l'indicatore
CO2 bassa per le regioni con l'impronta di carbonio più bassa.
- Limita la creazione di risorse a regioni specifiche a bassa emissione di CO2 Google Cloudutilizzando il vincolo della policy dell'organizzazione Località delle risorse. Ad esempio, per consentire la creazione di risorse solo nelle regioni a bassa emissione di CO2 con sede negli Stati Uniti, crea un vincolo che specifica il gruppo di valori
in:us-low-carbon-locations.
Quando selezioni le località per le risorse Google Cloud , tieni conto anche delle best practice per la selezione della regione, tra cui 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.
Utilizza la programmazione in base all'ora del giorno
L'intensità di carbonio di una rete elettrica può variare in modo significativo nel corso della giornata. La variazione dipende dalla combinazione di fonti di energia che alimentano la rete. Puoi pianificare l'esecuzione dei workload, in particolare quelli flessibili o non urgenti, quando la rete è alimentata da una percentuale maggiore di CFE.
Ad esempio, molte reti hanno percentuali di CFE 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à ad alta intensità di calcolo, come l'addestramento dei modelli e l'inferenza batch su larga scala, durante le ore con un CFE più elevato, puoi ridurre in modo significativo 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 carbonio di una rete per ottimizzare i workload in termini di sostenibilità.
Ottimizza i workload AI e ML per l'efficienza energetica
Questo principio del pilastro della sostenibilità del Google Cloud Well-Architected Framework fornisce consigli per ottimizzare i workload di AI e ML al fine di ridurre il consumo di energia 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 bassa emissione di CO2, ottimizza per ridurre l'utilizzo delle risorse e applica le best practice operative.
Le pratiche architettoniche e operative che ottimizzano i costi e le prestazioni dei workload di AI e ML portano intrinsecamente a una riduzione del consumo energetico e dell'impronta di carbonio. La prospettiva di AI e ML nel Well-Architected Framework descrive i principi e i suggerimenti per progettare, creare e gestire workload di AI e ML che soddisfino i tuoi obiettivi operativi, di sicurezza, affidabilità, costi e prestazioni. Inoltre, il Cloud Architecture Center fornisce architetture di riferimento dettagliate e guide alla progettazione per i workload di AI e ML in Google Cloud.
Consigli
Per ottimizzare i workload di AI e ML per l'efficienza energetica, prendi in considerazione i suggerimenti riportati nelle sezioni seguenti.
Progetta l'architettura a risparmio energetico utilizzando le TPU
I workload di AI e ML possono richiedere un'elevata potenza di calcolo. Il consumo energetico dei workload di AI e ML è un aspetto fondamentale per la sostenibilità. Le TPU ti consentono di migliorare in modo significativo l'efficienza energetica e la sostenibilità dei tuoi workload di AI e ML.
Le TPU sono acceleratori progettati su misura e appositamente per i workload di AI e ML. L'architettura specializzata delle TPU le rende altamente 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 in modo significativo il fabbisogno energetico delle attività di addestramento e inferenza su larga scala, con una conseguente riduzione dei costi operativi e del consumo energetico.
- Addestramento e inferenza più rapidi: le prestazioni eccezionali delle TPU ti consentono di addestrare modelli di AI complessi in ore anziché in giorni. Questa significativa riduzione del tempo di calcolo totale contribuisce direttamente a un'impronta ambientale ridotta.
- Riduzione delle esigenze di raffreddamento: le TPU incorporano un 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: integrando hardware e software, le TPU forniscono una soluzione ottimizzata per l'intero ciclo di vita dell'AI, dal trattamento dati all'erogazione del modello.
Segui le best practice delle 4M per la selezione delle risorse
Google consiglia una serie di best practice per ridurre in modo significativo il consumo di energia e le emissioni di anidride carbonica per i workload di AI e ML. Chiamiamo queste best practice 4M:
- Modello: per casi d'uso specializzati, scegli modelli creati appositamente che utilizzano meno risorse di computing rispetto ai modelli di grandi dimensioni per uso generico.
- 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 workload ad alta intensità di calcolo nel cloud. I tuoi workload utilizzano meno energia e causano emissioni inferiori di 1,4-2 volte rispetto ai deployment on-premise. I data center cloud utilizzano magazzini più recenti, progettati su misura e realizzati a risparmio energetico, 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 convenienti.
- Mappa: seleziona Google Cloud le località che utilizzano l'energia più pulita. Questo approccio contribuisce a ridurre l'impronta di carbonio lorda dei tuoi workload di 5-10 volte. Per saperne di più, consulta Energia a zero emissioni di CO2 per le regioni Google Cloud .
Per ulteriori informazioni sulle best practice e sulle metriche di efficienza delle 4M, consulta i seguenti documenti di ricerca:
- L'impronta di carbonio dell'addestramento per il machine learning si stabilizzerà e poi diminuirà
- The data center as a computer: An introduction to the design of warehouse-scale machines, second edition
Ottimizza 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 suggerimenti.
Seleziona modelli di AI efficienti
Scegli modelli di AI più piccoli ed efficienti che soddisfino i tuoi requisiti di prestazioni. 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 overhead di calcolo significativamente 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 una potenza di calcolo significativamente inferiore rispetto a un foundation model di grandi dimensioni. Queste soluzioni specializzate sono spesso preaddestrate e iperottimizzate. Possono fornire riduzioni significative del consumo energetico e dell'impegno di ricerca per i workload di addestramento e inferenza. Di seguito sono riportati alcuni esempi di soluzioni specializzate specifiche per dominio:
- Earth AI è una soluzione a risparmio energetico che sintetizza grandi quantità di dati geospaziali globali per fornire insight operativi tempestivi, accurati e utili.
- WeatherNext produce previsioni meteorologiche globali più rapide, efficienti e ad alta precisione rispetto ai metodi convenzionali basati sulla fisica.
Applica tecniche di compressione dei modelli appropriate
Di seguito sono riportati alcuni esempi di tecniche che puoi utilizzare per la compressione del modello:
- Pruning: rimuovi i parametri non necessari da una rete neurale. Si tratta di parametri che non contribuiscono in modo significativo alle prestazioni 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 rappresentazione in virgola mobile a 32 bit a numeri interi a 8 bit. Questa tecnica può contribuire a ridurre in modo significativo il footprint della memoria e il consumo energetico senza una riduzione evidente dell'accuratezza.
- 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.
Utilizza hardware specializzato
Come indicato in Segui le best practice delle 4M per la selezione delle risorse, scegli processori e sistemi ottimizzati per l'addestramento ML. Questi processori migliorano le prestazioni e l'efficienza a risparmio energetico di 2-5 volte rispetto ai processori per uso generico.
Utilizza l'ottimizzazione efficiente dei parametri (PEFT)
Anziché regolare tutti i miliardi di parametri di un modello (fine-tuning completo), utilizza metodi di parameter-efficient fine-tuning (PEFT) come l'adattamento a basso rango (LoRA). Con questa tecnica, blocchi i pesi del modello originale e addestri solo un numero ridotto di nuovi strati leggeri. Questo approccio aiuta a ridurre i costi e il consumo energetico.
Segui le best practice per le operazioni di AI e ML
Le pratiche operative influiscono in modo significativo sulla sostenibilità dei tuoi workload di AI e ML. Prendi in considerazione i seguenti consigli.
Ottimizza i processi di addestramento dei modelli
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 validazione. 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 siano 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 ricerche a griglia esaustive, che possono essere operazioni ad alta intensità di risorse.
Migliora l'efficienza dell'inferenza
Per migliorare l'efficienza delle attività di inferenza AI, utilizza le seguenti tecniche:
- Batching: raggruppa più richieste di inferenza in batch e sfrutta l'elaborazione parallela su GPU e TPU. Questa tecnica consente di ridurre il costo energetico per previsione.
- Memorizzazione nella cache avanzata: implementa una strategia di memorizzazione nella cache multilivello, che include la memorizzazione nella cache di coppie chiave-valore (KV) per la generazione autoregressiva e la memorizzazione nella cache dei prompt semantici per le risposte delle applicazioni. Questa tecnica aiuta a evitare calcoli ridondanti del modello e può portare a riduzioni significative del consumo di energia e delle emissioni di anidride carbonica.
Misura e monitora
Monitora e misura i seguenti parametri:
- Utilizzo e costi: utilizza gli strumenti appropriati per monitorare l'utilizzo dei token, il consumo energetico e l'impronta di carbonio dei tuoi workload AI. Questi dati ti aiutano a identificare le opportunità di ottimizzazione e a segnalare i progressi verso gli obiettivi di sostenibilità.
- Prestazioni: monitora continuamente le prestazioni del modello in produzione.
Identifica problemi come la deviazione dei dati, che può indicare che il modello deve essere ottimizzato di nuovo. Se devi riaddestrare il modello, puoi utilizzare il modello ottimizzato originale come punto di partenza e risparmiare tempo, denaro ed energia significativi sugli aggiornamenti.
- Per monitorare le metriche sul rendimento, utilizza Cloud Monitoring.
- Per correlare le modifiche al modello con i miglioramenti delle metriche sul rendimento, utilizza le annotazioni degli eventi.
Per saperne di più sull'operatività del miglioramento continuo, consulta Misura e migliora continuamente la sostenibilità.
Implementa la pianificazione carbon-aware
Progetta i job della pipeline ML in modo che vengano eseguiti nelle regioni con il mix di energia più pulito. Utilizza il report Carbon Footprint per identificare le regioni con la minore intensità di carbonio. Pianifica le attività ad alta intensità di risorse come job batch durante i periodi in cui la rete elettrica locale ha una percentuale più elevata di energia senza emissioni di CO2 (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 flussi e Managed Service for Apache Spark per le pipeline Spark e Hadoop gestite. Una pipeline di dati ottimizzata contribuisce a garantire che il workload di ottimizzazione non attenda i dati, in modo da massimizzare l'utilizzo delle risorse e contribuire a ridurre lo spreco di energia.
Adotta 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 sottoposti a nuovo deployment in modo continuo ed efficiente, il che aiuta a evitare addestramenti o allocazioni di risorse non necessari.
Utilizza i servizi gestiti
Anziché gestire la tua infrastruttura, utilizza servizi cloud gestiti come Gemini Enterprise Agent Platform. La piattaforma cloud gestisce la gestione delle risorse sottostanti, consentendoti 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
- Quanta energia consuma Google AI? Abbiamo fatto i calcoli
- Ironwood: la prima TPU di Google per l'era dell'inferenza
- Google Sustainability 2025 Environmental Report
- More Efficient In-Context Learning with GLaM
- Panoramica della memorizzazione nella cache del contesto
Ottimizza l'utilizzo delle risorse per la sostenibilità
Questo principio del pilastro della sostenibilità del Google Cloud Well-Architected Framework fornisce consigli 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 computing allo spazio di archiviazione dei dati, influisce direttamente sul consumo di energia, sull'intensità idrica e sulle emissioni di anidride carbonica. Per ridurre l'impatto ambientale dei tuoi workload, devi fare scelte consapevoli quando esegui il provisioning, gestisci e utilizzi le risorse cloud.
Consigli
Per ottimizzare l'utilizzo delle risorse, prendi in considerazione i suggerimenti riportati nelle sezioni seguenti.
Implementa la scalabilità automatica e dinamica
La scalabilità automatica e dinamica garantisce un utilizzo ottimale delle risorse, contribuendo a prevenire gli sprechi di energia dovuti a un'infrastruttura inattiva o con over-provisioning. La riduzione dell'energia sprecata si traduce in costi inferiori e minori emissioni di anidride carbonica.
Utilizza le seguenti tecniche per implementare la scalabilità automatica e dinamica.
Utilizza 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, un'operazione nota come scalabilità verticale, aggiungi istanze per distribuire il carico. Ad esempio, puoi utilizzare i gruppi di istanze gestite (MIG) per fare lo scale out automatico di un gruppo di VM di Compute Engine. L'infrastruttura con scalabilità orizzontale è più resiliente perché l'errore di un'istanza non influisce sulla disponibilità dell'applicazione. La scalabilità orizzontale è anche una tecnica efficiente dal punto di vista delle risorse per le applicazioni con livelli di carico variabili.
Configura policy di scalabilità appropriate
Configura le impostazioni di scalabilità automatica in base ai requisiti dei tuoi workload. Definisci metriche e soglie personalizzate specifiche per il comportamento dell'applicazione. Anziché affidarti esclusivamente all'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à frequenti e non necessarie o flapping, definisci policy di scalabilità chiare. Ad esempio, per i workload di cui esegui il deployment in Google Kubernetes Engine (GKE), configura una policy di scalabilità automatica del cluster appropriata.
Combina la scalabilità reattiva e proattiva
Con la scalabilità reattiva, il sistema scala in risposta alle variazioni del carico in tempo reale. Questa tecnica è adatta per le applicazioni che presentano picchi di carico imprevedibili.
La scalabilità proattiva è adatta per i workload con pattern prevedibili, come orari di apertura giornalieri fissi e generazione di report settimanali. Per questi workload, utilizza la scalabilità automatica pianificata per eseguire il pre-provisioning delle risorse in modo che possano gestire un livello di carico previsto. Questa tecnica evita la competizione per le risorse e garantisce un'esperienza utente più fluida con una maggiore efficienza. Questa tecnica ti aiuta anche a pianificare in modo proattivo i picchi di carico noti, come eventi di vendita importanti e iniziative di marketing mirate.
I servizi gestiti e le funzionalità diGoogle Cloud come GKE Autopilot, Cloud Run e i MIG gestiscono automaticamente la scalabilità proattiva apprendendo dai pattern dei workload. Per impostazione predefinita, quando un servizio Cloud Run non riceve traffico, lo scale down viene eseguito fino a zero istanze.
Progetta applicazioni stateless
Affinché un'applicazione possa scalare orizzontalmente, i suoi componenti devono essere stateless. Ciò significa che la sessione o i dati di un utente specifico non sono legati a una singola istanza di computing. Quando memorizzi lo stato della sessione al di fuori dell'istanza di computing, ad esempio in Memorystore for Redis, qualsiasi istanza di computing può gestire le richieste di qualsiasi utente. Questo approccio di progettazione consente una scalabilità orizzontale semplice ed efficiente.
Utilizza 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 workload in termini di efficienza energetica e costi.
Utilizza le seguenti tecniche per implementare la pianificazione e i job batch.
Programma per un'intensità di carbonio bassa
Pianifica l'esecuzione dei job batch nelle regioni a bassa emissione di CO2 e nei periodi in cui la rete elettrica locale ha un'alta percentuale di energia pulita. Per identificare i momenti della giornata con la minore intensità di carbonio per una regione, utilizza il report Carbon Footprint.
Utilizza le VM spot per i workload non critici
Le VM spot ti consentono di usufruire della capacità di Compute Engine inutilizzata con uno sconto notevole. Le VM spot possono essere prerilasciate, ma offrono un modo conveniente per elaborare set di dati di grandi dimensioni senza la necessità di risorse dedicate sempre attive. Le VM spot sono ideali per job batch non critici e a tolleranza di errore.
Consolida e parallelizza 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 workload 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.
Utilizza i servizi gestiti
I 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.
Abbina le famiglie di macchine delle VM ai requisiti dei workload
I tipi di macchine che puoi utilizzare per le tue VM di Compute Engine sono raggruppati in famiglie di macchine, ottimizzate per workload diversi. Scegli le famiglie di macchine appropriate in base ai requisiti dei tuoi workload.
| Famiglia di macchine | Consigliato per i tipi di workload | Indicazioni sulla sostenibilità |
|---|---|---|
| Istanze per uso generico: 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 sua allocazione dinamica delle risorse. Le serie C4A, N4A e Tau T2A utilizzano processori basati su Arm, che spesso sono più efficienti dal punto di vista energetico per unità di prestazioni per workload su larga scala. |
| Istanze ottimizzate per il calcolo: 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 ottimizzato per il calcolo consente di completare più velocemente le attività ad alta intensità di CPU, riducendo il tempo di calcolo totale e il consumo energetico del job. |
| Istanze ottimizzate per la memoria: queste istanze sono progettate per 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 richiesta 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 trascorso dalla CPU in uno stato attivo. |
| Istanze ottimizzate per l'archiviazione: queste istanze forniscono spazio di archiviazione SSD locale con throughput elevato e bassa latenza. | Data warehousing, analisi dei log e database SQL, NoSQL e vettoriali. | Le istanze ottimizzate per l'archiviazione elaborano set di dati di grandi dimensioni localmente, il che contribuisce a eliminare l'energia utilizzata per il traffico di dati in uscita dalla rete tra località. Se utilizzi l'archiviazione locale per le attività con IOPS elevata, eviti l'overprovisioning di più istanze standard. |
| Istanze ottimizzate per l'acceleratore: queste istanze sono create per workload 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 molto più efficiente dal punto di vista energetico per l'addestramento di modelli di grandi dimensioni rispetto a un'alternativa solo CPU. Sebbene un'istanza con accelerazione GPU abbia un consumo energetico nominale più elevato, l'attività viene completata molto più velocemente. |
Esegui l'upgrade ai tipi di macchina più recenti
L'utilizzo dei tipi di macchine più recenti potrebbe 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, come i seguenti:
- Core specializzati: i progressi nei processori spesso includono core o istruzioni specializzati per i workload comuni. Ad esempio, le CPU potrebbero avere core dedicati per le operazioni vettoriali o acceleratori AI integrati. Quando queste attività vengono trasferite 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 workload. Queste funzionalità di gestione dell'alimentazione consentono ai chip di funzionare alla massima efficienza e di entrare in stati di basso consumo quando sono inattivi, riducendo al minimo il consumo energetico.
I miglioramenti tecnici nell'architettura dei chip offrono i seguenti vantaggi diretti per la sostenibilità e i costi:
- Prestazioni per watt più elevate: si tratta di una metrica chiave per la sostenibilità. Ad esempio, le VM C4 mostrano un rapporto prezzo/prestazioni superiore del 40% rispetto alle VM C3 a parità di consumo energetico. Il processore C4A offre un'efficienza energetica superiore del 60% rispetto a processori x86 simili. Queste funzionalità prestazionali ti consentono di completare le attività più velocemente o di utilizzare meno istanze per lo stesso carico.
- Consumo energetico totale inferiore: con processori migliorati, le risorse di computing 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'impronta di carbonio è particolarmente elevata per i workload di breve durata e ad alta intensità di calcolo, come i job batch e l'addestramento dei modelli di ML.
- Utilizzo ottimale delle risorse: i tipi di macchine più recenti sono spesso più adatti ai software moderni e sono più compatibili con le funzionalità avanzate delle piattaforme cloud. Questi tipi di macchine in genere consentono un migliore utilizzo delle risorse, riducendo la necessità di overprovisioning e contribuendo 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 aiutano a ottimizzare l'utilizzo delle risorse e ad automatizzare la gestione delle risorse.
Sfrutta la funzionalità di scalabilità fino a zero di Cloud Run
Cloud Run fornisce un ambiente serverless gestito che scala automaticamente le istanze a zero quando non è presente traffico in entrata per un servizio o quando un job è completato. La scalabilità automatica aiuta a eliminare il consumo energetico dell'infrastruttura inattiva. Le risorse vengono alimentate solo quando elaborano attivamente le richieste. Questa strategia è molto efficace per i workload intermittenti o basati su eventi. Per i workload di AI, puoi utilizzare le GPU con Cloud Run, che ti consentono di utilizzare e pagare le GPU solo quando vengono utilizzate.
Automatizza l'ottimizzazione delle risorse utilizzando GKE
GKE è una piattaforma di orchestrazione dei container che garantisce che le applicazioni utilizzino solo le risorse di cui hanno bisogno. Per aiutarti ad automatizzare l'ottimizzazione delle risorse, GKE fornisce le seguenti tecniche:
- Bin packing: GKE Autopilot raggruppa in modo intelligente più container sui 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 l'HPA, il numero di repliche di 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. Questa scalabilità dinamica impedisce l'overprovisioning delle risorse, in modo da non pagare o attivare capacità di calcolo non necessaria.
- Scalabilità automatica verticale dei pod (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 aiuta a prevenire l'overprovisioning delle risorse.
- Scalabilità automatica dei pod multidimensionale di GKE: per workload 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 il minor impatto energetico possibile per le prestazioni richieste.
- Pianificazione basata sulla topologia (TAS): TAS migliora l'efficienza della rete per i workload di 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 collocazione 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.
Configura la pianificazione basata sulle emissioni di CO2
In Google, spostiamo continuamente i nostri workload in località e orari che forniscono l'elettricità più pulita. Inoltre, riutilizziamo o recuperiamo le apparecchiature più vecchie per casi d'uso alternativi. Puoi utilizzare questa strategia di pianificazione basata sulle emissioni di CO2 per assicurarti che i tuoi workload containerizzati utilizzino energia pulita.
Per implementare la pianificazione basata sulle emissioni di CO2, 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 da macchina dal repository Energia senza emissioni di CO2 per le regioni Google Cloud in GitHub o da un set di dati pubblico BigQuery. I dati sul mix di rete e sull'intensità di carbonio orari utilizzati per calcolare il set di dati annuale sul carbonio di Google provengono da Electricity Maps.
Per implementare la pianificazione basata sulle emissioni di CO2, ti consigliamo di utilizzare le seguenti tecniche:
- Spostamento geografico: pianifica l'esecuzione dei workload 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 aiuta a ridurre l'impronta di carbonio complessiva sfruttando fonti di energia più pulite quando sono disponibili.
Progetta il ripristino di emergenza a risparmio energetico
La preparazione per ripristino di emergenza (RE) spesso comporta il pre-provisioning di risorse ridondanti in una regione secondaria. Tuttavia, le risorse inattive o sottoutilizzate possono causare un notevole spreco di energia. Scegli strategie di DR che massimizzino l'utilizzo delle risorse e riducano al minimo l'impronta di carbonio senza compromettere i tuoi 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 regione secondaria (RE):
- Dai la priorità al DR cold: mantieni le risorse nella regione di RE disattivate o in uno stato di scalabilità fino a zero. Questo approccio aiuta a eliminare l'impronta di carbonio delle risorse di computing inattive.
- Sfrutta il failover serverless: utilizza servizi serverless gestiti come Cloud Run per gli endpoint di RE. Cloud Run scala a zero quando non è in uso, in modo da poter mantenere una topologia di RE che non consuma energia finché il traffico non viene deviato verso la regione di RE.
- Automatizza il ripristino con l'infrastructure as code (IaC): anziché mantenere in esecuzione (warm) le risorse nel sito di RE, utilizza uno strumento IaC come Terraform per eseguire rapidamente il provisioning degli ambienti solo quando necessario.
Bilancia la ridondanza e l'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 di dimensioni adeguate: replica dati e servizi tra regioni solo quando la replica è necessaria per soddisfare i requisiti di alta affidabilità o 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 Well-Architected Framework 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, computing, spazio di archiviazione 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 risparmio energetico, devi integrare le 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 workload cloud, consulta l'ebook di Google Cloud , Crea software in modo sostenibile.
Consigli
I consigli di questa sezione sono raggruppati nelle seguenti aree di interesse:
- Riduci al minimo il lavoro di calcolo: prediligi un codice snello e mirato che elimini la logica ridondante ed eviti calcoli non necessari o un eccesso di funzionalità.
- Utilizza algoritmi e strutture di dati efficienti: scegli algoritmi efficienti in termini di tempo e memoria che riducono il carico della CPU e minimizzano la memoria utilizzata.
- Ottimizza le operazioni di calcolo e sui dati: sviluppa con l'obiettivo di utilizzare in modo efficiente tutte le risorse disponibili, tra cui CPU, memoria, I/O del disco e rete. Ad esempio, quando sostituisci i loop occupati con una logica basata sugli eventi, eviti il polling non necessario.
- Implementa l'ottimizzazione del frontend: per ridurre l'energia consumata dai dispositivi degli utenti finali, utilizza strategie come la minimizzazione, la compressione e il caricamento lento per immagini e asset.
Riduci al minimo il lavoro di calcolo
Per scrivere software a risparmio energetico, devi ridurre al minimo la quantità totale di lavoro di calcolo eseguito dalla tua applicazione. Ogni istruzione non necessaria, loop ridondante e funzionalità aggiuntiva consuma energia, tempo e risorse. Utilizza i seguenti consigli per creare software che esegua calcoli minimi.
Scrivi 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 esegua solo le funzioni essenziali. Evita le funzionalità che aumentano l'overhead e la complessità di calcolo, ma non forniscono un valore misurabile agli utenti.
- Rifattorizza: per migliorare l'efficienza energetica nel tempo, controlla regolarmente le tue applicazioni per identificare le funzionalità inutilizzate. Intervieni per rimuovere o rifattorizzare queste funzionalità, se necessario.
- Evita operazioni non necessarie: non calcolare un valore o eseguire un'azione finché non è necessario il risultato. Utilizza tecniche come la valutazione lazy, che ritarda i calcoli finché un componente dipendente nell'applicazione non richiede l'output.
- Dai priorità alla leggibilità e alla riusabilità 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.
Utilizza la memorizzazione nella cache del backend
La memorizzazione nella cache del backend garantisce che un'applicazione non esegua lo stesso lavoro ripetutamente. Una percentuale successi cache elevata porta a una riduzione quasi lineare del consumo energetico 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 accedi di frequente in una posizione di archiviazione temporanea ad alte prestazioni. Ad esempio, utilizza un servizio di memorizzazione nella cache in memoria come Memorystore. Quando un'applicazione recupera i dati da una cache, il volume delle query sul database e delle operazioni di I/O su disco si riduce. Di conseguenza, il carico sui database e sui server nel backend diminuisce.
- Memorizza nella cache le risposte dell'API: per evitare chiamate di rete ridondanti e costose, memorizza nella cache i risultati delle richieste API frequenti.
- Dai priorità alla memorizzazione nella cache in memoria: per eliminare le operazioni di I/O su disco lente e le query di database complesse, archivia i dati in una memoria ad alta velocità (RAM).
- Seleziona le strategie di scrittura nella cache appropriate:
- La strategia write-through garantisce che i dati vengano scritti in modo sincrono nella cache e nell'archiviazione permanente. Questa strategia aumenta la probabilità di successi della cache, in modo che l'archiviazione permanente riceva meno richieste di lettura ad alto consumo energetico.
- La strategia write-back (write-behind) migliora le prestazioni delle applicazioni con un numero elevato di 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 policy di espulsione intelligenti: mantieni la cache snella ed efficiente. Per rimuovere i dati inattivi o di scarsa utilità e massimizzare lo spazio disponibile per i dati richiesti di frequente, utilizza policy come la durata (TTL), l'utilizzo meno recente (LRU) e l'utilizzo meno frequente (LFU).
Utilizza algoritmi e strutture di dati efficienti
Gli algoritmi e le strutture di dati che scegli determinano la complessità computazionale non elaborata del tuo software. Quando selezioni algoritmi e strutture di dati appropriati, riduci al minimo il numero di cicli della CPU e di operazioni di memoria necessarie per completare un'attività. Un minor numero di cicli della CPU e di operazioni di memoria comporta un consumo energetico inferiore.
Scegliere gli algoritmi per una complessità temporale ottimale
Dai la priorità agli algoritmi che ottengono il risultato richiesto nel minor tempo possibile. Questo approccio aiuta 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à, non limitarti alle metriche di runtime e considera la complessità teorica dell'algoritmo. Ad esempio, rispetto al bubble sort, il merge sort riduce significativamente il carico di calcolo 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 sono 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 con codice personalizzato.
Seleziona 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 della CPU e sulla memoria utilizzata. 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 mappe hash o i set hash consentono ricerche in tempi quasi costanti, un approccio più efficiente dal punto di vista energetico rispetto alla ricerca lineare in un array.
- Riduci al minimo il footprint della memoria: strutture di dati efficienti aiutano a ridurre il footprint della memoria complessivo di un'applicazione. La riduzione dell'accesso e della gestione della memoria comporta un consumo energetico inferiore. Inoltre, un profilo di memoria più snello consente ai processi di essere eseguiti in modo più efficiente, il che ti permette 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 di priorità quando devi accedere in modo efficiente solo al valore più alto o più basso.
Ottimizza le operazioni di calcolo e sui dati
Quando sviluppi software, concentrati sull'utilizzo efficiente e proporzionale delle risorse nell'intero stack tecnologico. Tratta CPU, memoria, disco e rete come risorse limitate e condivise. Riconoscere che l'utilizzo efficiente delle risorse porta a riduzioni tangibili dei costi e del consumo energetico.
Ottimizza 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 eseguire un lavoro significativo, utilizza i seguenti approcci:
- Preferisci la logica basata sugli eventi al polling: sostituisci i cicli di attesa attiva o i controlli costanti (polling) che richiedono molte risorse con la logica basata sugli 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 un polling ad alta intensità di risorse.
- Evita un'alta frequenza costante: scrivi codice che non costringa la CPU a funzionare costantemente alla frequenza più alta. Per ridurre al minimo il consumo energetico, 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 risorse e porta a un utilizzo complessivo più elevato delle risorse.
Gestisci la memoria e l'I/O del disco in modo efficiente
L'utilizzo inefficiente della memoria e del disco comporta un'elaborazione non necessaria e un aumento del consumo energetico. Per gestire la memoria e l'I/O in modo efficiente, utilizza le seguenti tecniche:
- Gestione rigorosa della memoria: intraprendi azioni per liberare in modo proattivo le risorse di memoria inutilizzate. Evita di conservare oggetti di grandi dimensioni in memoria per periodi più lunghi del necessario. Questo approccio evita i colli di bottiglia delle prestazioni e riduce l'energia consumata per l'accesso alla memoria.
- Ottimizza l'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 nell'archiviazione permanente a intervalli fissi o quando il buffer raggiunge una determinata dimensione.
- Operazioni batch: raggruppa 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 di decompressione.
Riduci 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:
- Riduci 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 richiesti solo pochi campi. Assicurati che le strutture di dati restituite siano concise.
- Riduci i round trip: per ridurre il numero di round trip di rete necessari per completare un'azione 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 tuoi server sia per i dispositivi degli utenti finali.
Implementa l'ottimizzazione del frontend
L'ottimizzazione del frontend riduce al minimo i dati che gli utenti finali devono scaricare ed elaborare, il che contribuisce a ridurre il carico sulle risorse dei dispositivi degli utenti finali.
Minimizza il codice e gli asset
Quando gli utenti finali devono scaricare ed elaborare risorse più piccole e strutturate in modo più efficiente, 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 vuoti 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 nell'area visibile di una pagina web. Questo approccio riduce il volume del trasferimento di dati iniziale e il carico di elaborazione sui dispositivi degli utenti finali.
- Bundle JavaScript più piccoli: elimina il codice inutilizzato dai bundle JavaScript utilizzando moderni bundler di moduli e tecniche come il tree shaking. Questo approccio consente di ottenere file più piccoli che si caricano 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 gli asset statici localmente. La memorizzazione nella cache del browser aiuta a evitare download ripetuti e traffico di rete non necessario nelle visite successive.
Dai la priorità a un'esperienza utente (UX) leggera
Il design della tua interfaccia utente può avere un impatto significativo sulla complessità computazionale per il rendering dei contenuti del frontend. Per creare interfacce frontend che offrono un'esperienza utente leggera, utilizza le seguenti tecniche:
- Rendering efficiente: evita la manipolazione frequente e ad alta intensità di risorse del Document Object Model (DOM). Scrivi un codice che riduca al minimo la complessità del rendering ed elimini il re-rendering non necessario.
- Pattern di progettazione leggeri: se opportuno, preferisci i siti statici o le app web progressive (PWA). Questi siti e app si caricano più velocemente e richiedono meno risorse del server.
- Accessibilità e prestazioni: i siti adattabili e con caricamento rapido sono spesso più sostenibili e accessibili. Un design ottimizzato e ordinato riduce le risorse consumate durante il rendering dei contenuti. I siti web ottimizzati per prestazioni e velocità possono contribuire a generare entrate maggiori. Secondo uno studio di ricerca di Deloitte e Google, Milliseconds Make Millions, un miglioramento di 0,1 secondi (100 ms) nella velocità del sito porta a un aumento dell'8,4% delle conversioni per i siti di vendita al dettaglio e a un aumento del 9,2% del valore medio dell'ordine.
Ottimizza i dati e lo spazio di archiviazione per la sostenibilità
Questo principio del pilastro della sostenibilità del Google Cloud Well-Architected Framework fornisce suggerimenti per aiutarti a ottimizzare l'efficienza a risparmio energetico e l'impronta di carbonio delle 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 l'intero ciclo di vita dei dati. Ogni gigabyte di dati archiviati richiede un'infrastruttura fisica che viene continuamente alimentata, raffreddata e gestita. Per ottenere un'architettura cloud sostenibile, tratta i dati come un asset prezioso, ma costoso dal punto di vista ambientale, e dai priorità alla governance dei dati proattiva.
Le tue decisioni in merito alla conservazione dei dati, alla qualità e alla località 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 li archivi e implementa strategie di eliminazione e archiviazione automatizzate. Quando riduci il disordine dei dati, migliori le prestazioni del sistema e riduci fondamentalmente l'impatto ambientale a lungo termine dei tuoi dati.
Consigli
Per ottimizzare il ciclo di vita dei dati e le risorse di archiviazione in un'ottica di sostenibilità, considera i suggerimenti riportati nelle sezioni seguenti.
Dai 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'impronta di carbonio relativa allo spazio di archiviazione, utilizza le seguenti tecniche.
Identifica ed elimina i duplicati
Stabilisci policy 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 Single Source Of Truth e concedi l'accesso appropriato a questi repository.
Rimuovi i dati shadow e i dark data
I dark data sono dati per i quali l'utilità o il proprietario sono sconosciuti. Per shadow data si intendono le copie non autorizzate dei dati. Scansiona i tuoi sistemi di archiviazione e trova i dark data e gli shadow data utilizzando una soluzione di rilevamento e catalogazione dei dati come Knowledge Catalog. Controlla regolarmente questi risultati e implementa un processo per l'archiviazione o l'eliminazione di dati dark e shadow, a seconda dei casi.
Riduci al minimo il volume di dati per i workload di AI
Archivia solo le caratteristiche e i dati elaborati necessari per l'addestramento e la distribuzione del modello. Se possibile, utilizza tecniche come il campionamento dei dati, l'aggregazione e la generazione di dati sintetici per ottenere prestazioni del modello senza fare affidamento su set di dati non elaborati di grandi dimensioni.
Integra i controlli sulla qualità dei dati
Implementa pipeline automatiche di convalida e pulizia dei dati utilizzando servizi come Managed Service for Apache Spark, Dataflow o Knowledge Catalog al momento dell'importazione 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.
Esamina la densità del valore dei dati
Esamina periodicamente i set di dati ad alto volume, come i log e gli stream IoT. Determina se i dati possono essere riepilogati, aggregati o sottoposti a downsampling per mantenere la densità delle 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 temporanee e dati di addestramento derivati da un'origine stabile e permanente. Conserva i backup solo per i dati unici o costosi da ricreare.
Ottimizza la gestione del ciclo di vita dello spazio di archiviazione
Automatizza il ciclo di vita dello spazio di archiviazione in modo che, quando l'utilità dei dati diminuisce, questi vengano spostati in una classe di archiviazione a risparmio energetico o ritirati, a seconda dei casi. Utilizza le seguenti tecniche.
Seleziona una classe di Cloud Storage appropriata
Automatizza la transizione dei dati in Cloud Storage a classi di archiviazione a basse emissioni di carbonio in base alla frequenza di accesso utilizzando la gestione del ciclo di vita degli oggetti.
- Utilizza Standard Storage solo per i set di dati utilizzati attivamente, come i modelli di produzione attuali.
- Sposta i dati di transizione, come i set di dati di addestramento AI meno recenti o i backup ad accesso meno frequente, nello spazio di 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 per il ciclo di vita dei dati
Definisci policy di durata (TTL) chiare e automatizzate 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 di tempo definito.
Imponi il tagging delle risorse
Imponi l'uso di etichette e tag 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 generare report sulle emissioni di anidride carbonica.
Dimensiona correttamente ed esegui il deprovisioning dello spazio di archiviazione di computing
Controlla regolarmente i dischi permanenti collegati alle istanze Compute Engine e assicurati che non sia stato eseguito l'overprovisioning dei dischi. Utilizza gli snapshot solo quando sono necessari per il backup. Elimina gli snapshot vecchi e inutilizzati. Per i database, utilizza le policy sulla conservazione dei dati per ridurre le dimensioni dei Persistent Disk sottostanti.
Ottimizza il formato di archiviazione
Per lo spazio di archiviazione che gestisce i workload di analisi, preferisci formati compressi e colonnari come Parquet o Avro ottimizzato rispetto a formati basati su righe come JSON o CSV. L'archiviazione a colonne 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.
Ottimizza 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.
Seleziona regioni di archiviazione a bassa emissione di CO2
A seconda dei requisiti di conformità, archivia i dati nelle regioni Google Cloud che utilizzano una percentuale maggiore di energia a zero emissioni di CO2 (CFE) o che hanno un'intensità di carbonio della rete inferiore. Limita la creazione di bucket di archiviazione nelle regioni ad alte emissioni di CO2 utilizzando il vincolo della policy dell'organizzazione Località delle risorse. Per informazioni sui dati relativi all'energia a zero emissioni di CO2 e all'intensità di carbonio per le regioni Google Cloud , consulta Energia a zero emissioni di CO2 per le regioni Google Cloud .
Riduci al minimo la replica
Replica i dati tra le regioni solo per soddisfare i requisiti obbligatori di ripristino di emergenza (RE) o alta affidabilità (HA). Le operazioni di replica tra regioni e multiregionale aumentano in modo significativo il costo energetico e l'impronta di carbonio dei tuoi dati.
Ottimizza le località di trattamento dati
Per ridurre il consumo energetico per il trasferimento dei dati di rete, esegui il deployment di workload ad alta intensità di calcolo, come l'addestramento dell'AI e l'elaborazione di BigQuery, nella stessa regione dell'origine dati.
Ottimizza lo spostamento dei dati per i tuoi partner e clienti
Per spostare grandi volumi di dati tra servizi, località e provider cloud, incoraggia 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 Pagamenti del richiedente per trasferire i costi di trasferimento di dati ed elaborazione e l'impatto ambientale agli utenti finali.
Misura e migliora costantemente la sostenibilità
Questo principio del pilastro della sostenibilità del Google Cloud Well-Architected Framework fornisce consigli per aiutarti a misurare e migliorare continuamente la sostenibilità dei tuoi workload in Google Cloud.
Panoramica del principio
Per garantire che i tuoi workload cloud rimangano sostenibili, hai bisogno di 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 CO2 nel tuo ciclo di feedback operativo.
I consigli in questa sezione forniscono un framework per l'utilizzo di Carbon Footprint per quantificare le emissioni di anidride carbonica, identificare gli hotspot di anidride carbonica, implementare ottimizzazioni dei workload mirate e verificare i risultati delle attività 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 CO2 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 rendicontazione e la contabilizzazione delle emissioni di anidride carbonica. Il report Carbon Footprint utilizza metodi di contabilizzazione basati sulla località e sul mercato. La contabilizzazione basata sulla località si basa sul fattore di emissione della rete locale. La contabilità basata sul mercato tiene conto degli acquisti di energia a zero emissioni di CO2 (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 dell'ambito 3 e il modello di allocazione dei clienti, consulta Metodologia di reporting di Carbon Footprint.
Consigli
Per utilizzare la misurazione delle emissioni di CO2 per il miglioramento continuo, tieni conto dei consigli riportati nelle sezioni seguenti. I suggerimenti sono strutturati come fasi di maturità per l'implementazione di operazioni cloud sostenibili sin dalla progettazione:
- Fase 1: stabilisci una base di riferimento
- Fase 2: individua i focolai
- Fase 3: implementa l'ottimizzazione mirata
- Fase 4: istituzionalizza le pratiche e i report sulla sostenibilità
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.
- Concedi le autorizzazioni: concedi le autorizzazioni a team come FinOps, SecOps e Platform Engineering in modo che possano accedere alla dashboard di Carbon Footprint nella console Google Cloud . Concedi il ruolo Visualizzatore Carbon Footprint (
roles/billing.carbonViewer) in Identity and Access Management (IAM) per l'account di fatturazione appropriato. - Automatizza l'esportazione dei dati: prima di esportare i dati, assicurati che la Google Cloud gerarchia delle risorse (cartelle e progetti) e le annotazioni delle risorse (tag ed etichette) riflettano accuratamente l'organizzazione delle tue unità aziendali. Poiché i dati di Carbon Footprint sono aggregati a livello di progetto, una gerarchia ben definita è essenziale per attribuire correttamente le emissioni. 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 CO2 con i dati sui costi e sull'utilizzo e generare report personalizzati.
- Definisci gli indicatori chiave di prestazione (KPI) relativi alle emissioni di anidride carbonica: stabilisci metriche che colleghino le emissioni di anidride carbonica al valore aziendale. Ad esempio, l'intensità di carbonio è una metrica per il numero di chilogrammi di CO2 equivalente per cliente, transazione o unità di entrate.
Fase 2: identifica i punti critici di emissioni di CO2
Identifica le aree con il maggiore impatto ambientale analizzando i dati granulari nel report di Carbon Footprint. Utilizza le seguenti tecniche per questa analisi:
- Assegna 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'impronta di 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 CFE).
- Correlazione con i costi: unisci i dati sulle emissioni di CO2 in BigQuery ai dati di fatturazione e valuta l'impatto delle azioni di ottimizzazione sulla sostenibilità e sui costi. Sebbene i costi e le emissioni di CO2 spesso seguano lo stesso andamento, puoi utilizzare i costi solo come indicatore iniziale. Ad esempio, nelle regioni con costi elevati che hanno punteggi di energia a zero emissioni di CO2 (CFE) elevati, i workload potrebbero avere costi elevati, ma emissioni basate sul mercato basse. Convalida sempre le ipotesi di ottimizzazione rispetto alle metriche reali basate sulla posizione e sul mercato.
- Annota i dati per misurare il ritorno sull'impegno (ROE): annota i dati sulle emissioni di CO2 in BigQuery con eventi specifici, come il dimensionamento ottimale 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 ogni iniziativa.
Fase 3: implementa l'ottimizzazione mirata
Questa è la fase di esecuzione per l'implementazione di operazioni cloud sostenibili sin dalla progettazione. Utilizza le seguenti strategie per ottimizzare risorse specifiche che identifichi come fattori significativi di costi ed emissioni di anidride carbonica:
- Dismettere i progetti inattivi: nell'ambito dei flussi di lavoro di gestione dei servizi IT (ITSM), controlla regolarmente il motore per suggerimenti sui progetti inattivi integrato con i dati di Carbon Footprint. Per ottenere riduzioni immediate e verificate delle emissioni di anidride carbonica e dei costi, automatizza la revisione e l'eventuale rimozione dei progetti inutilizzati tramite ticket di progettazione monitorati.
- Dimensiona correttamente le risorse: abbina la capacità delle risorse di cui è stato eseguito il provisioning all'utilizzo effettivo utilizzando i motori per suggerimenti di dimensionamento ottimale di Active Assist, come i suggerimenti sul tipo di macchina per le VM di Compute Engine. Per le attività ad alta intensità di calcolo e i workload di AI, utilizza i tipi di macchine e i modelli di AI più efficienti.
- Adotta la pianificazione basata sulle emissioni di CO2: per i workload batch che non sono critici in termini di tempo, integra i dati CFE regionali nella logica di pianificazione. Se possibile, limita la creazione di nuove risorse alle regioni a bassa emissione di CO2 utilizzando il vincolo delle località delle risorse nel servizio policy dell'organizzazione.
- Riduci la proliferazione dei dati: implementa policy di governance dei dati per garantire che i dati ad accesso non frequente vengano trasferiti a una classe di cold storage appropriata (Nearline, Coldline o Archive) o eliminati definitivamente. Questa strategia aiuta 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:
- Utilizza regioni che consumano energia a bassa emissione di CO2
- Ottimizza i workload AI e ML
- Ottimizza l'utilizzo delle risorse
- Sviluppa software a risparmio energetico
- Ottimizza i dati e lo spazio di archiviazione per la sostenibilità
Fase 4: istituzionalizza le pratiche e i report sulla sostenibilità
In questa fase, incorpori la misurazione del carbonio nel tuo framework di governance. Questo approccio contribuisce a garantire che la tua organizzazione disponga delle funzionalità e dei controlli necessari per un miglioramento continuo della sostenibilità e per la creazione di report verificabili.
- Implementa la governance GreenOps: stabilisci una funzione o un gruppo di lavoro GreenOps formale per integrare i dati di Carbon Footprint con i dati di fatturazione Cloud. Integra le tue esportazioni mensili di dati sulle emissioni di CO2 in BigQuery direttamente nelle tue dashboard FinOps esistenti, come Looker. La presentazione dei dati relativi alle emissioni di CO2 e ai dati di costo in un'unica interfaccia contribuisce a garantire che la sostenibilità faccia parte del ciclo di revisione operativa standard. Questa funzione deve definire la responsabilità per gli obiettivi di riduzione delle emissioni di anidride carbonica nei progetti, allineare l'ottimizzazione dei costi agli obiettivi di sostenibilità e implementare i report per monitorare l'efficienza in termini di emissioni di anidride carbonica rispetto alla spesa.
- Utilizza 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 informative formali su ambiente, società e governance (ESG). Questo approccio ti consente di soddisfare le richieste di trasparenza degli stakeholder e di 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 ai dati di Carbon Footprint e interpretarli, nonché come applicare i suggerimenti di ottimizzazione nei loro flussi di lavoro quotidiani e nelle scelte di progettazione. Per saperne di più, consulta Fornisci formazione sulla sostenibilità basata sui ruoli.
- Definisci i requisiti relativi alle emissioni di anidride carbonica: incorpora le metriche sulle emissioni di anidride carbonica come requisiti non funzionali (NFR) nei criteri di accettazione della tua applicazione per i nuovi deployment. Questa pratica aiuta a garantire che architetti e sviluppatori diano la priorità alle opzioni di progettazione a bassa emissione di CO2 fin dall'inizio del ciclo di vita dello sviluppo delle applicazioni.
- Automatizza GreenOps: automatizza l'implementazione dei suggerimenti di Active Assist utilizzando script, modelli e pipeline di infrastructure as code (IaC). Questa pratica garantisce che i team applichino i suggerimenti in modo coerente e rapido in tutta l'organizzazione.
Promuovi una cultura della sostenibilità
Questo principio del pilastro della sostenibilità del Google Cloud Well-Architected Framework fornisce consigli per aiutarti a creare una cultura in cui i team della tua organizzazione siano consapevoli e competenti in merito alle pratiche di sostenibilità.
Panoramica del principio
Per applicare pratiche di sostenibilità, non bastano strumenti e tecniche. È necessario un cambiamento culturale guidato dalla formazione e dalla responsabilità. I tuoi team devono essere consapevoli dei problemi di sostenibilità e devono avere una competenza pratica 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.
- La competenza nelle pratiche di sostenibilità include le conoscenze per interpretare i dati sulle emissioni di anidride carbonica, l'esperienza nell'implementazione della governance della sostenibilità del cloud e le competenze tecniche per rifattorizzare il codice per l'efficienza energetica.
Per allineare le pratiche di sostenibilità agli obiettivi dell'organizzazione, i tuoi team devono capire 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 aiuta a garantire che tutti gli stakeholder, dagli sviluppatori e architetti ai professionisti della finanza e agli ingegneri operativi, comprendano il contesto di sostenibilità del loro lavoro quotidiano. Questa comprensione condivisa consente ai team di andare oltre la conformità passiva per passare all'ottimizzazione attiva, rendendo i workload cloud sostenibili per progettazione. La sostenibilità diventa un requisito non funzionale (NFR) fondamentale, come altri requisiti di sicurezza, costi, prestazioni e affidabilità.
Consigli
Per sensibilizzare l'opinione pubblica sui problemi di sostenibilità e acquisire competenze nelle pratiche di sostenibilità, prendi in considerazione i consigli riportati nelle sezioni seguenti.
Fornire un contesto aziendale e un allineamento con gli 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.
Connettiti al quadro generale
Aiuta i tuoi team a capire in che modo le singole scelte architettoniche, come la selezione di una regione a bassa emissione di CO2 o l'ottimizzazione di una pipeline di dati, contribuiscono agli impegni generali di sostenibilità dell'organizzazione. Comunica esplicitamente l'impatto di queste scelte sulla community locale e sul settore. Trasforma le metriche astratte relative al carbonio in indicatori tangibili dei progressi verso gli obiettivi di responsabilità sociale d'impresa (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 workload in una regione a bassa emissione di CO2 e di utilizzare un tipo di macchina efficiente dal punto di vista 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 anidride carbonica.
"Eseguendo la migrazione del nostro motore di analisi dei dati alla regione us-central1
CO2 bassa e eseguendo l'upgrade dei nostri cluster alle istanze basate su Axion C4A, abbiamo cambiato radicalmente il nostro profilo di emissioni di anidride carbonica. Questo cambiamento ha portato a una riduzione del 75% dell'intensità di carbonio del nostro motore di analisi dei dati, che si traduce in una riduzione di 12 tonnellate di CO2 equivalente in questo trimestre. Questa migrazione ha avuto un impatto significativo sui nostri obiettivi commerciali 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 e i progressi in materia di sostenibilità con tutta l'organizzazione. Evidenziare i progressi in materia di sostenibilità nei bilanci annuali. Questa comunicazione garantisce che i team tecnici considerino il loro lavoro come una parte vitale degli impegni pubblici e della salute finanziaria dell'organizzazione.
Adotta una mentalità di destino condiviso
Formare i team sulla natura collaborativa della sostenibilità del cloud. Google è responsabile della sostenibilità del cloud, che include l'efficienza dell'infrastruttura e dei data center. In qualità di cliente, sei responsabile della sostenibilità delle tue risorse e dei tuoi workload nel cloud. Se inquadri questa collaborazione come una partnership di destino condiviso, rafforzi la consapevolezza che la tua organizzazione e Google lavorano insieme per ottenere risultati ambientali ottimali.
Fornisci una formazione sulla sostenibilità basata sui ruoli
Per garantire che la sostenibilità sia una competenza pratica piuttosto che un concetto teorico, personalizza la formazione sulla sostenibilità in base a ruoli lavorativi 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 computing: 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 energetico significativamente inferiore. |
| Sviluppatori | Efficienza del codice e consumo di risorse: illustra come il codice ad alta latenza o i loop inefficienti si traducono direttamente in un tempo di esecuzione della CPU prolungato e in un aumento del consumo energetico. Sottolinea l'importanza di container leggeri e la necessità di ottimizzare le prestazioni delle applicazioni per ridurre l'impatto ambientale del software. |
| Architetti | Sostenibilità integrata: concentrati sulla selezione delle regioni e sul posizionamento dei workload. Mostra come la scelta di una regione northamerica-northeast1) modifica fondamentalmente il profilo di emissioni di carbonio dell'intero stack di applicazioni prima di scrivere una singola riga di codice. |
| Platform engineer e operations engineer | Massimizzare l'utilizzo: sottolinea il costo ambientale delle risorse inattive e dell'overprovisioning. Presenta scenari per la scalabilità automatica e il dimensionamento ottimale per garantire un utilizzo efficiente delle risorse cloud. Spiega come creare e monitorare le metriche relative alla sostenibilità, come l'utilizzo, e come tradurre metriche come il tempo di calcolo in metriche equivalenti delle emissioni di anidride carbonica. |
| FinOps | Unit economics del carbonio: concentrati sulla relazione tra la spesa finanziaria e l'impatto ambientale. Dimostra come le pratiche GreenOps consentono a un'organizzazione di monitorare le emissioni di CO2 per transazione, il che contribuisce a rendere la sostenibilità un indicatore chiave di prestazione (KPI) fondamentale quanto i KPI convenzionali come i costi e l'utilizzo. |
| Product manager | Sostenibilità come funzionalità: dimostra come integrare gli obiettivi di riduzione delle emissioni di anidride carbonica nelle roadmap dei prodotti. Mostra come i percorsi dell'utente semplificati possono contribuire a ridurre il consumo energetico sia delle risorse cloud sia dei dispositivi degli utenti finali. |
| Leader aziendali | Allineamento strategico e reporting: 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 a rispettare gli impegni nei confronti della community e del settore. |
Promuovi la sostenibilità e premia i successi
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 di cui hanno bisogno per dare priorità all'impatto ambientale, analogamente ad altre metriche aziendali come il time-to-market e i costi. Quando i manager dispongono di questi dati, iniziano a considerare la sostenibilità come uno standard di qualità ed efficienza, anziché come una funzionalità utile, ma che rallenta la produzione. Sostengono attivamente l'introduzione di nuove funzionalità dei provider cloud, come dati più granulari sulle emissioni di CO2 e processori più recenti e più ecologici in regioni specifiche.
Allineamento a standard e framework di settore
Per garantire che i tuoi sforzi di sostenibilità siano credibili e misurabili, allinea le pratiche interne agli standard globali e regionali riconosciuti. Per saperne di più, consulta Allinea le pratiche di sostenibilità alle linee guida di settore.
Incentivare le iniziative di sostenibilità
Per garantire che la sostenibilità diventi una parte duratura della cultura ingegneristica, i team devono comprendere il valore di dare priorità alla sostenibilità. Passa da obiettivi di alto livello a KPI specifici e misurabili che premiano il miglioramento e l'efficienza.
Definisci i KPI e gli NFR relativi alle emissioni di CO2
Tratta la sostenibilità come un requisito tecnico fondamentale. Quando definisci i KPI relativi al carbonio, come i grammi di CO2 equivalente per milione di richieste o l'intensità di carbonio per l'addestramento dell'AI, rendi l'impatto sulla sostenibilità visibile e attuabile. Ad esempio, integra la sostenibilità negli NFR per ogni nuovo progetto. In altre parole, così come un sistema deve soddisfare un target specifico di latenza o disponibilità, deve anche rimanere entro un budget definito per le emissioni di anidride carbonica.
Misura il ritorno sull'impegno
Aiuta i tuoi team a identificare i vantaggi in termini di sostenibilità ad alto impatto e basso sforzo, come lo spostamento di un job batch in un'altra regione, rispetto a un esercizio di refactoring del codice complesso che potrebbe fornire vantaggi minimi. Fornire visibilità sul ritorno sull'impegno (ROE). Quando un team sceglie una famiglia di processori più efficiente, deve sapere esattamente quante emissioni di anidride carbonica ha evitato rispetto al tempo e all'impegno necessari per la migrazione al nuovo processore.
Riconosci e celebra la riduzione delle emissioni di carbonio
L'impatto sulla sostenibilità è spesso nascosto nell'infrastruttura. Per dare slancio ai progressi in materia di sostenibilità, rendi visibili i successi all'intera organizzazione. Ad esempio, utilizza le annotazioni nelle dashboard di monitoraggio per contrassegnare il momento in cui un team ha eseguito il deployment di un'ottimizzazione specifica per la sostenibilità. Questa visibilità consente ai team di indicare i dati nella dashboard e di rivendicare il riconoscimento dei loro successi.
Allineare le pratiche di sostenibilità alle linee guida di settore
Questo principio del pilastro della sostenibilità del Google Cloud Well-Architected Framework fornisce una panoramica delle linee guida di settore e dei framework con cui dovresti allineare i tuoi sforzi di sostenibilità.
Panoramica del principio
Per garantire che le tue iniziative di sostenibilità si basino su metodi di misurazione, reporting e verifica riconosciuti a livello globale, ti consigliamo di allinearle alle seguenti linee guida di settore:
Quando allinei le tue iniziative di sostenibilità a queste linee guida esterne condivise, le tue iniziative ottengono la credibilità e l'auditabilità richieste da investitori, enti regolatori e altri stakeholder esterni. Inoltre, promuovi la responsabilità tra i team di ingegneria, integri la sostenibilità nella formazione dei dipendenti e integri con successo le operazioni cloud negli impegni a livello aziendale per i report ambientali, sociali e di governance (ESG).
Linee guida per la sostenibilità del web del W3C
Le linee guida per la sostenibilità 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 la strategia aziendale e di prodotto, la progettazione dell'esperienza utente (UX), lo sviluppo web, l'hosting, l'infrastruttura e i sistemi. L'obiettivo principale delle 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 di architettura a livello di cloud.
Green Software Foundation
La Green Software Foundation (GSF) si concentra sulla creazione di un ecosistema di settore incentrato sul software sostenibile. La sua missione è promuovere la creazione di software progettato, creato e gestito per ridurre al minimo l'impronta di carbonio. La 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 la GSF aiuta gli sviluppatori a collegare l'efficienza di un'applicazione direttamente all'impronta di carbonio dell'ambiente cloud.
Greenhouse Gas Protocol
Il Greenhouse Gas (GHG) Protocol è un insieme di standard ampiamente utilizzato per misurare, gestire e segnalare pubblicamente le emissioni di gas serra. Il protocollo è stato sviluppato attraverso 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 di emissione pertinenti all'utilizzo del cloud. Per saperne di più, consulta la metodologia di reporting di Carbon Footprint.
L'adesione al protocollo GHG contribuisce a garantire che le tue iniziative di sostenibilità siano credibili e che soggetti esterni possano controllare i tuoi dati sulle emissioni di anidride carbonica. 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.