Efficienza Energetica del Data Center

Abbiamo scelto di ospitare le nostre applicazioni su un datacenter che potesse fornire progressi significativi e misurabili rispetto agli obiettivi di sostenibilità in modo da avere un impatto positivo sui nostri clienti, partner, investitori e dipendenti.

Possiamo offrire soluzioni di hosting managed su datacenter che garantisca:

1) Sistemi di controllo adattativi
2) Linee guida termiche ASHRAE
3) Contenimento del corridoio freddo/caldo
4) Sistemi di illuminazione ad alta efficienza energetica
5) Celle a combustibile
6) Punti di settaggio dell’acqua refrigerata ad alta temperatura


1. Sistemi di controllo adattativi

Riduzione dell consumo energetico e aumento della capacità di raffreddamento attraverso la gestione attiva del flusso d’aria utilizzando sensori intelligenti e distribuiti e criteri di controllo innovativi

2. Linee guida termiche ASHRAE

Riduzione del consumo energetico per il raffreddamento, mantenendo al tempo stesso una temperatura operativa sicura per le apparecchiature informatiche

3. Contenimento del corridoio freddo/caldo

Riduzione del consumo di energia, consente un raffreddamento più efficiente utilizzando barriere fisiche per ridurre la miscelazione di aria fredda nei corridoi di alimentazione del data center con l’aria calda nei corridoi di scarico

4. Sistemi di illuminazione ad alta efficienza energetica

Utilizzo di controlli attivati dal movimento e/o LED per ridurre il consumo di energia e il calore ambientale delle luci operatorie

5. Celle a combustibile

Posizionare l’elettricità in prossimità del nostro consumo energetico consentendo la massima efficienza e una maggiore resilienza;

6. Punti di settaggio dell’acqua refrigerata ad alta temperatura

Migliora i valori PUE (power usage efficiency efficiency) e di progettazione aumentando la temperatura dell’acqua refrigerata per risparmiare energia

7 metodi di ottimizzazione del codice secondo gli standards ISO 5055

Scrivere codice efficiente e ottimizzato è un aspetto cruciale per ridurre il consumo di risorse e di energia durante l’esecuzione del software. Ciò non solo migliora le prestazioni complessive dell’applicazione, ma contribuisce anche a ridurre l’impatto ambientale, secondo i dettami della Green Software Foundation.

ISO/IEC 5055:2021 (di seguito denominato ISO 5055) è uno standard ISO per misurare la struttura interna di un prodotto software su quattro fattori critici per l’azienda: sicurezza, affidabilità, efficienza delle prestazioni e manutenibilità. Questi sono i fattori che determinano quanto affidabile, resiliente sia un sistema software.

Scrivere codice efficiente si riferisce alla pratica di creare software che utilizzi in modo ottimale le risorse disponibili, come la CPU, la memoria e altre risorse di sistema. L’obiettivo è massimizzare l’efficienza delle operazioni eseguite dal software, riducendo al minimo lo spreco di risorse e di energia.

Per alcuni consigli pratici su come ottimizzare il codice nelle app mobile in flutter vi rimandiamo a quest’articolo.

Ecco una lista di pratiche con descrizione ed esempi:

1) Minimizzare l’Utilizzo di Cicli
2) Gestione Efficiente della Memoria
3) Cache Awareness
4) Evitare Chiamate di Funzioni Ridondanti
5) Ottimizzare le Query al Database
6) Parallelismo e Concorrenza
7) Gestione delle Risorse Esterne
8) Ridurre l’Overhead


1. Minimizzare l’Utilizzo di Cicli

Evitare cicli eccessivamente complessi o ripetitivi può ridurre il carico sulla CPU e migliorare le prestazioni. Ad esempio, preferire l’uso di operazioni vettorialiali anziché cicli espliciti.

2. Gestione Efficiente della Memoria

Allocare e deallocare la memoria in modo appropriato per evitare perdite di memoria o frammentazione. Utilizzare strutture dati ottimizzate può migliorare l’efficienza e ridurre il consumo di memoria.

3. Cache Awareness

Sfruttare la gerarchia della cache per ottimizzare l’accesso alla memoria. Mantenere i dati locali ai registri o alla cache può ridurre i tempi di accesso alla memoria principale.

4. Evitare Chiamate di Funzioni Ridondanti

Ridurre il numero di chiamate di funzioni ridondanti o non necessarie può migliorare le prestazioni. Ad esempio, evitare chiamate costose in loop.

5. Ottimizzare le Query al Database

Scrivere query SQL efficienti, evitando la selezione di colonne non necessarie o l’uso eccessivo di JOIN, può migliorare le prestazioni del software.

6. Parallelismo e Concorrenza

Sfruttare il parallelismo e la concorrenza quando possibile per suddividere il carico di lavoro tra più thread o processi. Ciò può migliorare l’utilizzo della CPU e accelerare l’esecuzione.

7. Gestione delle Risorse Esterne

Assicurarsi di chiudere e rilasciare correttamente le risorse esterne, come file e connessioni di rete, per evitare sprechi e consumi inutili.

8. Ridurre l’Overhead

Come imparai molti anni fa in un vecchio manuale di marketing: dare al cliente sempre di piu’ di cio’ che si aspetta. Ecco un ottavo elemento:minimizzare l’overhead generato da operazioni accessorie o da strutture dati complesse può migliorare le prestazioni e l’efficienza.

Cos’è il software green

Il software green è il software concepito per garantire la minore quantità possibile di gas serra. Da sottolineare che l’ obiettivo è la riduzione, non la neutralizzazione.

L’argomento di quest’articolo è l’individuazione di criteri per la creazione di un ecosistema affidabile di persone, standard, strumenti e migliori pratiche per la creazione di software green tenendo in considerazione che esistono due concenzioni per considerare il software dal punto di vista ecologico: il software come parte del problema climatico e il software come parte della soluzione climatica.

Costruire software green e farlo su larga scala richiede la creazione di un ecosistema affidabile di persone, standard, strumenti e migliori pratiche. La missione della Green Software Foundation è proprio questa.

1) Software e anidride carbonica
2) Software Green: Riduzione
3) Azioni possibili


1. Software e anidride carbonica

Vorremmo che il software diventi parte della soluzione climatica, anziché essere parte del problema climatico. Ecco perché ci concentriamo sulla riduzione degli impatti negativi del software sul nostro clima, diminuendo le emissioni di carbonio di cui il software è responsabile.

Il software può anche essere un catalizzatore di soluzioni climatiche. Il software può essere sviluppato per contribuire ad accelerare la decarbonizzazione in tutti i settori dell’industria e della società. Abbiamo bisogno che persone e organizzazioni si concentrino su entrambi gli aspetti: creare software green e software abilitante per il verde. Tuttavia, il nostro focus principale è sulla creazione di un ecosistema per lo sviluppo di software green.

Per questo partecipiamo alle iniziative della Green Software Foundation, un’organizzazione senza di lucro, creata per le persone che si occupano di sviluppare software che si propone il compito di fornire risposte su cosa si puo’ fare per ridurre le emissioni di CO2 del software di cui sono responsabili.

2. Software Green: Riduzione

L’obiettivo del software green è la riduzione, non la neutralizzazione. Un grammo di carbonio che non viene emesso nell’atmosfera non è equivalente a un grammo di carbonio che è stato compensato. Di gran lunga, l’obiettivo preferibile è evitare completamente l’emissione di carbonio in primo luogo.

La riduzione è più sfidante della neutralizzazione. Comporta maggiori rischi e maggiori investimenti. Per mitigare tale rischio e incentivare gli investimenti nella riduzione, dobbiamo sviluppare un ecosistema di persone, standard, strumenti e migliori pratiche per la riduzione delle emissioni di carbonio del software. La missione della Fondazione a cui partecipiamo è coltivare questo ecosistema.

3. Azioni possibili

La nostra visione è che ci siano solo tre azioni che riducono le emissioni di carbonio del software:

1) Utilizzare meno risorse fisiche
2) Utilizzare meno energia
3) Utilizzare l’energia in modo più intelligente

Utilizzare l’energia in modo più intelligente significa consumare fonti di energia a basse emissioni di carbonio o consumare elettricità in modo che acceleri la transizione energetica verso un futuro a basse emissioni di carbonio.

Tutto ciò che si puo’ fare per ridurre le emissioni di carbonio del software rientra in una o più delle categorie sopra indicate. La missione della Fondazione per il software green di cui siamo fautori è incoraggiare l’adozione di più di queste azioni nell’industria del software.

Vi invitiamo a consultare il sito della Green Software Foundation per approfondire questi temi.

Quello che noi proponiamo per realizzare tali obiettivi sono interventi in diversi campi, e precisamente questi:

1. **Ottimizzazione del Codice:** Scrivere codice più efficiente e ottimizzato può ridurre il consumo di risorse e di energia durante l’esecuzione del software.

2. **Utilizzo di Algoritmi Efficienti:** Scegliere algoritmi che richiedono meno risorse computazionali può contribuire a ridurre il consumo di energia.

3. **Virtualizzazione e Consolidamento:** L’utilizzo di tecnologie di virtualizzazione e il consolidamento di server possono ridurre il consumo di energia e l’impatto ambientale dei data center.

4. **Efficienza Energetica del Data Center:** Migliorare l’efficienza energetica dei data center attraverso il raffreddamento efficiente, l’uso di energia rinnovabile e altre strategie può contribuire a ridurre le emissioni.

5. **Ottimizzazione delle Risorse di Calcolo:** Utilizzare le risorse di calcolo in modo più efficiente, ad esempio attraverso il bilanciamento del carico e l’allocazione intelligente delle risorse, può ridurre l’energia utilizzata.

6. **Strategie di Deployment:** Ottimizzare le strategie di deployment e distribuzione del software può contribuire a ridurre l’uso di risorse e l’impatto ambientale.

7. **Misurazione e Monitoraggio:** Implementare sistemi di monitoraggio per valutare l’utilizzo delle risorse e l’impatto ambientale del software, consentendo l’identificazione di aree di miglioramento.

8. **Utilizzo di Energia Rinnovabile:** Scegliere fornitori di servizi cloud e data center che utilizzano energia rinnovabile può contribuire a ridurre l’impatto delle emissioni.

9. **Riduzione del Consumo di Memoria:** Ottimizzare l’uso della memoria può ridurre il consumo di energia e migliorare le prestazioni complessive del software.

10. **Sviluppo Sostenibile:** Integrare principi di sostenibilità e responsabilità ambientale nello sviluppo del software, compresa la considerazione delle implicazioni ambientali durante le fasi di progettazione e sviluppo.

Ricorda che le pratiche specifiche possono variare a seconda del contesto e delle tecnologie coinvolte. Da ottobre 2021 potrebbero esserci state ulteriori sviluppi e nuove pratiche introdotte nell’ambito della riduzione dell’impatto del software sulle emissioni di CO2.