Green Software: il futuro sempre più sostenibile dell’informatica
Negli ultimi anni, la crescente consapevolezza dell’impatto ambientale delle nostre attività quotidiane ha raggiunto anche il settore tecnologico, che è purtroppo protagonista spesso in negativo dal punto di vista delle emissioni e dell’inquinamento del pianeta. Ecco perché l’attenzione si sta spostando sempre più verso soluzioni che possano garantire la sostenibilità del settore, per esempio per ciò che riguarda i software. In questi mesi si parla, per esempio, di “green software”: ma cosa significa davvero “software verde” e perché è così importante per il nostro futuro quest’idea?
Green software: che cos’è e qual è il suo impatto
Il concetto di software verde si riferisce a pratiche di sviluppo software progettate per minimizzare l’impatto ambientale delle applicazioni digitali, per esempio in termini di riduzione del consumo energetico durante l’esecuzione del software, l’ottimizzazione del codice per diminuire l’uso delle risorse hardware e l’adozione di metodologie che favoriscono l’uso di energia da fonti rinnovabili.
Le emissioni di gas serra derivanti dal settore delle tecnologie dell’informazione e della comunicazione (ICT) rappresentano infatti una fetta significativa delle emissioni globali, stimata tra il 2% e il 4%, un valore che potrebbe crescere fino al 14% entro il 2040 in considerazione del crescente uso dei servizi digitali, equiparando l’impatto del settore ICT a quello dei trasporti aerei, terrestri e marittimi combinati. Ridurre queste emissioni è dunque essenziale per affrontare la crisi climatica e i cosiddetti green software vanno proprio in questa direzione.
L’impatto del codice inefficiente
Un esempio significativo per quanto riguarda le emissioni connesse alla tecnologia e, nello specifico, alla navigazione online, viene dal sito web della conferenza COP28 sul cambiamento climatico, che secondo Ecograder ha generato 3,69 grammi di CO2 per ogni caricamento di pagina. Se si considerano 10.000 visualizzazioni mensili per un anno, le emissioni superano dunque quelle di un volo di sola andata da San Francisco a Toronto, il che apre importanti riflessioni intorno all’impatto che i miliardi di pagine web aperte ogni giorno possono avere sul pianeta.
Se pensiamo a quanti servizi utilizziamo quotidianamente, dalle app per comunicare con amici e familiari ai siti aperti per cercare informazioni o svolgere attività lavorative, fino alle tante soluzioni di intrattenimento digitale che includono lo streaming audiovisivo o l’accesso a piattaforme per prendere parte ai giochi di casino più famosi e divertenti, ci rendiamo conto infatti di quanto la rete internet abbia effetti ben più ampi del semplice contenuto visualizzato.
Questa situazione evidenzia quindi come anche piccoli miglioramenti nell’efficienza del software possano avere un impatto significativo sulla riduzione delle emissioni globali, in particolare per problematiche come codice inutilizzato, immagini non ottimizzate, eccessivi script di terze parti e altro ancora. Ottimizzare questi aspetti può già ridurre drasticamente il consumo energetico e, quindi, le emissioni di CO2 associate.
Principi dell’ingegneria del software verde
L’ingegneria del green software è una disciplina emergente che cerca di incorporare la sostenibilità in ogni fase del ciclo di vita del software, dalla progettazione e sviluppo fino alla distribuzione e manutenzione. Tre sono i pilastri fondamentali di questa nuova teoria:
• Efficienza energetica: minimizzare l’energia utilizzata per eseguire il software;
• Efficienza delle risorse Hardware: utilizzare meno risorse fisiche, come la memoria e la capacità di calcolo;
• Carbon-aware computing: ottimizzare l’uso dell’energia in base alla disponibilità di fonti energetiche pulite.
Un esempio pratico di software verde è dato dai siti web ottimizzati come quello dell’azienda olandese Tijgerbrood, che emette meno di 0,1 grammi di CO2 per visualizzazione di pagina. Tali risultati sono ottenuti attraverso una combinazione di ottimizzazione del codice, uso di immagini a bassa risoluzione e caricamento delle animazioni solo quando necessario.
Nella progettazione del software, scegliere algoritmi e architetture efficienti può ridurre quindi significativamente il consumo energetico. Per esempio, ridurre la dimensione del dataset utilizzato per l’addestramento dei modelli di intelligenza artificiale può portare a una diminuzione drastica del consumo energetico, senza compromettere significativamente l’accuratezza.
Per supportare lo sviluppo di software sostenibile, strumenti come Ecograder, Firefox Profiler e Website Carbon Calculator possono essere di grande aiuto. Questa tipologia di servizi infatti aiuta gli sviluppatori a calcolare l’impronta di carbonio del loro software e a identificare le aree di miglioramento. Inoltre, piattaforme di cloud computing come AWS e Azure offrono strumenti per monitorare le emissioni di carbonio associate ai carichi di lavoro, consentendo agli sviluppatori di ottimizzare le operazioni del software in funzione dell’uso di energia verde.
Il futuro del software è verde?
In ottica futura, si sta dunque lavorando sempre più verso idee di software sostenibili sotto tutti i punti di vista. La Green Software Foundation, composta da giganti tecnologici come Google, Intel e Microsoft, sta lavorando proprio per promuovere pratiche positive nel settore, in parallelo con la crescente integrazione di principi di sostenibilità nella formazione degli ingegneri del software, essenziale per assicurare che le future generazioni di developer siano attrezzate per affrontare le sfide ambientali. Programmi di formazione specifici e certificazioni come quelle proposte dalla Green Software Foundation stanno diventando infatti sempre più diffusi, a dimostrazione di come il concetto di software green rappresenti non solo una necessità ambientale, ma anche un’opportunità per innovare e migliorare la qualità del software stesso.