Quando ci approcciamo all’idea di ridurre i consumi di energia nell’ambito IT spesso guardiamo subito ai consumi dell’hardware (server, processori, router e tutti gli altri dispositivi fisici) e poi iniziamo a comprendere che il consumo di energia è anche un problema del software, dei programmi che vengono eseguiti su quell’hardware.
Quante volte ti sarà già successo che applicazioni consumino enormi quantità di risorse introducendo sprechi energetici, nel caso degli smartphone è evidente con le mobile app che abbattono la durata della batteria. E se la stessa applicazione viene usata su migliaia o milioni di dispositivi riesci ad immaginare lo spreco di energia?
I bug del software come elemento di spreco di energia
Chiunque sviluppi software, ma anche l’utilizzatore, sa che i bug si traducono in funzionalità non perfettamente efficienti e problemi di utilizzo. Tutti questi problemi, nella stragrande maggioranza dei casi, si riflettono sul maggiore utilizzo di risorse computazionali che per operare hanno bisogno di energia. Di fatto un bug si trasforma in uno spreco di energia e:
- se il software è ospitato all’interno del tuo data center o della tua infrastruttura, allora, probabilmente senza esserne completamente consapevole, stai sostenendo dei costi in più;
- se è residente su una tua mobile app stai rendendo scontenti i tuoi utenti senza saperlo.
L’analista funzionale potrebbe essere la figura che oltre che garantire la qualità del software dal punto di vista delle funzionalità analizza la qualità dal punto di vista dei consumi energetici. Chiaramente il processo di miglioramento dei consumi energetici del software coinvolge altre figure legate allo sviluppo perchè ogni bug è correlato a vari layer applicativi.
Un case study su una mobile app
Per farti comprendere l’impatto di un bug applicativo dal punto di vista energetico supponiamo di avere una mobile app che recupera immagini online , queste immagini sono nelle dimensioni originali di caricamento.
Se effettivamente ciò avvenisse la nostra app dovrebbe:
- consumare maggiori risorse di rete per trasferire le immagini;
- consumare maggiori risorse computazionali sullo smarthphone per effettuare il rendering di immagini più grandi di quanto effettivamente necessario.
La mobile app funzionerebbe comunque ma come puoi ben capire presenta un grave problema dal punto di vista dell’utilizzo di risorse che in questo caso potrebbe essere risolto facendo richiedere alla mobile app solo immagini già ottimizzate per la risoluzione del dispay del dispositivo su cui è installata. Facile a dirsi più complesso a farsi perchè occorre avere in campo una specifica strategia di caricamento delle immagini e specifici strumenti che rigenerano l’immagine in maniera opportuna.
Un bug di questo tipo, dal punto di vista energetico, potrebbe comportare consumi maggiori anche di 1Kw al giorno che potrebbe non sembrare una grande quantità ma moltiplicata per migliaia di dispositivi?
Alcune soluzioni disponibili per analizzare l’impatto energetico
Oggi, oltre all’analisi puntuale del software, esistono anche progetti open source come CodeCarbon e Boavizta che forniscono librerie per tracciare le emissioni di inquinanti prodotte dai software in base a dove gli stessi siano operativi, per esempio se on premise o su cloud.
Infine i provider Cloud come Microsoft e Google ti forniscono strumenti ( nel primo caso Emission Impact Dashboard e nel secondo Carbon Footprint) per comprendere, analizzare e diminuire il tuo impatto energetico.
Contattaci subito e senza impegno per diminuire i tuoi consumi energetici.
Glue Labs e le soluzioni Green
Ti supportiamo nella progettazione e nello sviluppo di soluzioni che riducono l’impatto energetico del software e delle architetture. Grazie all’esperienza maturata in tantissimi settori, con numerosi Clienti e con un solido gruppo aziendale ti forniamo la consulenza e l’assistenza per realizzare progetti software sostenibili e per diminuire i tuoi consumi e costi energetici. Contattaci subito e senza impegno per maggiori informazioni.