Quando usiamo un computer ed un software, impalpabilmente situato sulla cloud o su un server remoto, non ci domandiamo quanto questo processo possa danneggiare l’ambiente che ci circonda.
Partiamo da un esempio a noi molto comune: Facebook. I suoi datacenter consumano in un anno circa mezzo miliardo di kWh, a cui vanno sommati i consumi di tutti i nostri client in giro per il mondo.
Faccio un piccolo escursus temporale e ritorno al tempo in cui internet non c’era e la capacità di elaborazione dei computer era molto ridotta: La prima cosa che imparava un programmatore allora era l’ottimizzazione del codice.
Era obbligato a farlo: semplicemente un codice poco ottimizzato non avrebbe potuto dare i risultati attesi nei tempi richiesti.
Oggi le potenze di calcolo sono immense, straordinarie. Spesso l’ottimizzazione è un task noioso, sempre demandato ad un momento successivo: le performance di un software anche poco ottimizzato sono fantastiche grazie all’hardware sottostante.
Resta l’ottimizzazione sui database, spesso composti da miliardi di righe per tabella, in cui l’hardware lascia parzialmente spazio al software, ma la maggioranza del codice viene ottimizzato debolmente.
Ottimizzare diventa un dovere etico
L’ottimizzazione di un software, fatta nelle direzioni più ampie possibile, quali performance, consumo di energia, efficienza algoritmica e strutturale, diventano un dovere dei team di sviluppo. Semplici modifiche alle interfacce, quali evitare di far partire i video promozionali in automatico, l’adozione dei dark mode quando possibile, la riduzione del peso delle pagine web, l’ottimizzazione delle immagini in formati meno dispendiosi come dimensioni, codec migliori per i video e gli audio, riduzione delle chiamate ai server, meno e-mail e notifiche non necessarie, possono ridurre notevolmente il consumo globale di energia in tutto il pianeta.
Mezzo mondo usa internet
Circa metà del pianeta usa internet, le e-mail, motori di ricerca, siti, social network, piattaforme di streaming. Alcune nicchie utilizzano piattaforme computazionalmente molto dispendiose, quali Big Data, Deep Learning, Cryptovalute, Streaming di Videogame e altri.
Un popolo immenso che usa dei software, che sono la responsabilità che noi sviluppatori abbiamo verso il mondo.
Un panorama infelice
Il WWW si trova in un momento di necessaria transizione: da un lato la tecnologia c’è ed è diventata sempre più matura, dall’altro la situazione attuale è critica. La maggior parte dei siti web non supportano le nuove tecnologie, i nuovi formati dei files, in nome di una retrocompatibilità che non ha più alcun senso. Una certa pigrizia nei settori IT inoltre continua a mantenere codice legacy e piattaforme non moderne. Un piccolo esempio tra tutti: il formato grafico WEBP è adottato da poco più dell’1% dei siti web mondiali. Tutto questo si tramuta in un dispendio enorme di energia e di conseguenza di inquinamento per tutto il pianeta.
Risparmiare risorse
Le risorse del pianeta sono limitate, utenti e professionisti della rete devono tenerne conto, adottando comportamenti sostenibili, che garantiscano effettivi risparmi di energia. Così come nelle nostre case facciamo attenzione alla raccolta differenziata, all’uso di luci a basso consumo, alla coibentazione termica, sul web dobbiamo adottare le nostre misure di sostenibilità.
I comportamenti virtuosi sul web: l’utente
L’utente può adottare vari comportamenti virtuosi sul web, tesi a risparmiare energia.
- “Quotare” le e-mail, impedendo la replica continua di blocchi di testo ed allegati, che affollano le trasmissioni ed i server della rete di spazzatura inutile. Una volta era considerata ottima pratica, ma con l’avanzare delle connessioni, sempre più veloci, e il costo relativamente basso della memorizzazione, è andato perduto
- Non tenere aperte nel browser decine di tab inutili, usare meno tab possibile e gestire meglio i siti attraverso i preferiti.
- Usare un AD-Blocker, riducendo visualizzazione e download di messaggi inutili con conseguente risparmio di banda.
- Utilizzare, sui dispositivi che lo consentono, modalità dark con risparmio di energia.
- Spegnere o mettere in pausa i dispositivi quando non sono in uso.
Il professionista
I developer, sia Frontend che Backend, soli o in team di sviluppo, possono adottare buone pratiche tese a rendere il software più sostenibile dal punto di vista ambientale su larga scala.
- Usare formati immagine moderni, come il WEBP, quando possibile, risparmiando tempi di caricamento e spazio di memorizzazione.
- Evitare i video in auto play.
- Utilizzare BROTLI e altri modelli di compressione moderni.
- Rendere pagine statiche dove possibile, riducendo elaborazioni complesse solo quando veramente necessarie.
- Utilizzare CDN locali per ridurre la distanza tra i dati e l’utente.
- Ottimizzare il codice, con algoritmi migliorati, allo scopo di risparmiare più hardware possibile.
- Evitare ripetizioni inutili di dati sulle pagine.
- Paginare i dati in modo da evitare cospicui download.
- Ottimizzare i file in download come immagini, PDF e documenti.
Queste pratiche, che a molti di voi sembreranno scontate, sono adottate da un numero esiguo di siti della rete.
Il manager
In ogni azienda di sviluppo software, sia esso per clienti esterni o un progetto interno, i manager preposti alla gestione del team di sviluppo dovrebbero essere portatori dell’uso delle buone pratiche sostenibili, fornendo agli sviluppatori strumenti, informazioni e guida.
Un’opportunità di business
Il mercato della sostenibilità del software è immenso: la consulenza in merito può essere una via per fare bene al pianeta e guadagnare.
Migliaia di grandi aziende hanno necessità di migliorarsi, anche poco alla volta e portare i loro pacchetti software all’attualità. L’adozione sistematica delle buone pratiche possono consentire effettivi risparmi e un riscontro immediato.
Occorre innanzitutto che il protagonista del cambiamento del WWW si formi alle migliori pratiche e inizi poi a formare i responsabili IT delle aziende, anche a fare piccoli passi, verso la modernità.
Quando lavorate all’analisi e alla progettazione di un software, inserite un capitolo sulla sostenibilità dello stesso, e mettetela in evidenza, elencandone i benefici effettivi per il pianeta, e quelli economici, di risparmio, di qualità ambientale, di immagine. per l’azienda.
Fate vostre le tecnologie necessarie e spargete la voce che un nuovo web è possibile, e che risparmierà milioni di tonnellate di anidride carbonica ai polmoni del pianeta.
Potete farlo, potete convincere altri a farlo, vi sentirete meglio.
Io lo chiamo, “Cambiare il mondo un millimetro alla volta”.
One thought on “La sostenibilità ambientale del software”