L’ottimizzazione del software e il suo impatto su costi energetici e sostenibilità

L’ottimizzazione del software e il suo impatto su costi energetici e sostenibilità
Come valutare l’efficienza di un software dal punto di vista dei consumi energetici, quali Kpi tenere d’occhio e quali linee guida seguire per ridurre i consumi energetici, le emissioni di CO2 e i costi del cloud. Il parere di Luca De Risi, CEO di Mega International.

Il tema della sostenibilità ambientale delle soluzioni informatiche è più che mai centrale. Nei giorni in cui si è tenuta la conferenza globale COP28, uno studio ha stimato che la generazione di un’immagine con strumenti di IA generativa consuma quanto la ricarica di un cellulare.

In teoria, la legge di Moore e l’evoluzione delle tecnologie di processo delle CPU giocano a vantaggio dell’efficienza, prevedendo – come corollario – un aumento esponenziale della potenza di calcolo a parità di consumo energetico. È il principale motivo per cui oggi possiamo tenere in tasca uno smartphone con la potenza di calcolo di un server che alcuni anni fa consumava centinaia di wattora.

C’è però una tendenza uguale e contraria, che l’utente di pc percepisce come un “invecchiamento del suo computer, che col passare del tempo diventa più lento”. Chi si occupa di sviluppo software, amministrazione di sistemi o delle operation nei data center sa bene che l’hardware non diminuisce le prestazioni con il passare del tempo: è il software che, con i continui aggiornamenti, diventa sempre più esoso di risorse.

L’hardware è sempre più potente, ma il software diventa sempre più esoso di risorse, in una continua rincorsa

A volte questo avviene perché vengono effettivamente aggiunte funzionalità innovative, ma in molti casi il software diventa meno efficiente anche nello svolgimento delle solite e collaudate mansioni. Questo fenomeno riguarda tutti i livelli dello stack, dal sistema operativo, alle librerie software e agli applicativi, vanificando in poco tempo il vantaggio in termini di efficienza ottenuto dall’hardware.

Abbiamo discusso di questi temi con Luca De Risi, CEO di Mega International, azienda che produce software SaaS per enterprise architecture, business process analysis e governance dei dati e dei rischi, e che presta particolare attenzione all’efficienza dei suoi software.

DigitalWorld: Perché il software diventa apparentemente meno efficiente con il passare del tempo, e come si può porre un argine alla sua voracità energetica?

Luca De Risi, ceo di Mega International foto in primo piano

Luca De Risi, CEO di Mega International

Luca De Risi: È una forma di effetto rimbalzo, principio ben noto in economia: i guadagni di efficienza tendono a essere contrastati dall’aumento dei consumi. Non è che il software diventi meno efficiente di per sé, ma viene appesantito da funzionalità non prioritarie che lo ‘fanno ingrassare’. Non è solo colpa di chi concepisce le applicazioni, ma anche di chi ha il compito di razionalizzare, che dovrebbe concentrarsi sulle vere esigenze funzionali, accantonare ciò che non è essenziale e seguire l’effettivo utilizzo attraverso le attività di IT Portfolio Management.

DW: Quali sono le aree o le attività del software in cui ci sono le maggiori inefficienze e dove è più conveniente intervenire?

LDR: La più grande inefficienza è rappresentata da tutto ciò che viene mantenuto e gestito, ma che non fornisce un valore aggiunto sostanziale. Come parallelo all’approccio “zero waste” (zero rifiuti), al di là dell’ottimizzazione (riciclo, riutilizzo, riparazione), il motto prioritario rimane: il miglior rifiuto è quello che non produciamo. Allo stesso modo, il maggior risparmio in termini di eco-concezione deriva dal concentrarsi su ciò che è essenziale, mantenendo il modello funzionale più semplice possibile: semplificare l’esperienza dell’utente occupandosi delle sue esigenze primarie, riducendo le funzionalità, i meccanismi e le nozioni superflue.

Serve ovviamente conoscere bene i casi d’uso degli utenti per poter alleggerire il carico senza però degradare il servizio. Questo permette di identificare meglio gli elementi su cui investire, quelli da attivare per opzione e quelli da eliminare.

Da un punto di vista più tecnico, la maggiore inefficienza è rappresentata dallo spreco di codice e di architettura: fare la stessa cosa in più punti, o più volte, o quando non è necessario.  Per agire, è necessario adottare un approccio orientato ai servizi, applicando la modularità e le strategie di piattaforma per ottenere economie di scala e un riutilizzo intelligente. Inoltre, un esempio dal punto di vista della Green IT è lo spegnimento automatico delle macchine inattive, poiché è uno spreco far funzionare un servizio quando è inutilizzato.

DW: Quali KPI si possono usare per misurare l’efficienza del software?

LDR: Ogni volta che viene rilasciata una versione o un Service Pack del nostro prodotto Hopex, convalidiamo il consumo di RAM e CPU, il numero di query SQL e il tempo di esecuzione delle query tramite test interni e test di carico. L’utilizzo di questi KPI ci aiuta a verificare i progressi compiuti e l’assenza di regressioni.

Lo sviluppo dell’hardware consente di moltiplicare le operazioni di elaborazione da eseguire in parallelo. Questo aumenta il numero di richieste e quindi il numero di utenti che possono utilizzare la nostra applicazione. Inoltre, lo sviluppo delle macchine permette di effettuare trattamenti lunghi. Ciò è tanto più importante in quanto oggi le sfide legate ai dati sono notevoli. Un numero sempre maggiore di dati da elaborare richiede quindi più potenza e tempo di calcolo.

DW: Sul cloud, l’efficienza del software ha un impatto diretto sulla quantità di risorse di cui fare il provisioning e quindi sul costo del servizio. A cosa bisogna prestare attenzione?

LDR: L’architettura del cloud aiuta a semplificare e ottimizzare. Con la multi-tenancy, più clienti possono essere ospitati su un numero inferiore di server, invece di avere una corrispondenza 1:1 tra software e server. L’automazione consente anche di ottimizzare la gestione dei sistemi, riducendo il numero di amministratori.

Oltre ai parametri di efficienza visti prima, per la razionalizzazione dell’utilizzo del cloud prevede di monitorare anche questi KPI:

  • Consumo della componente computing
  • Dati scambiati
  • Occupazione dello storage
  • Percentuale del tempo di accensione della macchina (verificando la possibilità di disattivare gli ambienti di sviluppo e pre-produzione, per esempio)

 È necessario però avere personale qualificato per riuscire a sfruttarlo al meglio, anche perché si tratta di operazioni delicate.

DW: Anche l’ottimizzazione ha però un suo costo: serve impiegare tempo di personale competente. Come si trova il giusto compromesso tra sforzo ed efficientamento?

LDR: Dedicare tempo all’applicazione delle best practice consente di risparmiare tempo nelle fasi di garanzia della qualità e di rielaborazione. Ciò richiede formazione. Attraverso l’apprendimento continuo e la valutazione delle competenze, gli sviluppatori e le altre persone coinvolte nei benefici del ciclo di vita del prodotto contribuiscono allo sviluppo sostenibile.

Quando si parla di efficienza del software, l’idea non è quella di perseguire tutte le idee di ottimizzazione. Per quanto riguarda i progetti di responsabilità digitale, è importante stimare i risparmi in anticipo, dare priorità agli investimenti e misurare i risparmi per contribuire alla comprensione e agli sforzi di miglioramento continuo.

Consideriamo il processo di concezione come un tutt’uno, con molteplici considerazioni: esperienza utente, sicurezza, eco-design e impatto dell’integrazione con il resto del software. Un approccio agile facilita il mantenimento di un ritmo equilibrato per puntare a un punto di equilibrio. Il processo prevede continui aggiustamenti e adattamenti.

 

Condividi:
 

Red Hat spinge su container e automazione, dall’Edge al Cloud

Red Hat spinge su container e automazione, dall’Edge al Cloud
In un’intervista esclusiva, Fabio Grassini di Red Hat parla a DigitalWorld dello stato di maturità delle imprese, impegnate a migrare carichi di lavoro dalla virtualizzazione alle piattaforme containerizzate, del tema delle competenze e del ruolo dell’automazione

Il recente Red Hat Summit Connect Milano è stato l’occasione per fare il punto sulle novità dell’azienda e le principali tendenze in atto nel settore insieme a Fabio Grassini, Enterprise Senior Sales Manager di Red Hat.

L’azienda sta lavorando alacremente per posizionare OpenShift come piattaforma di riferimento per l’erogazione di applicazioni moderne e containerizzate lungo tutta l’infrastruttura, dall’Edge, al data center, al cloud, e come alternativa alla virtualizzazione dei carichi di lavoro tradizionali. Sull’Edge, in particolare, sta crescendo l’esigenza di operare con modelli di machine learning eseguiti in locale, sia per questioni legate alla latenza (per esempio in ambienti produttivi), ma anche per questioni di compliance e governance dei dati.

“Il passaggio ai container come alternativa alla virtualizzazione è un aspetto cruciale nel panorama tecnologico e riflette la crescente preferenza per ambienti più leggeri e agili. Attraverso il suo impegno in questo settore, Red Hat punta a rappresentare il layer tecnologico abilitante, anche attraverso l’evoluzione delle piattaforme dati, che è parte integrante della strategia che mira a far diventare OpenShift non solo una soluzione infrastrutturale, ma un veicolo per lo sviluppo applicativo avanzato e flessibile, sostiene Grassini.

La migrazione verso una nuova architettura containerizzata richiede però che le aziende procedano anch’esse in un percorso di evoluzione. Visto che in molti ambienti si tiene a “non toccare quel che funziona” e che il compito richiede competenze avanzate e scarse sul mercato, chiediamo quindi a Grassini se i clienti italiani si stanno davvero muovendo in questa direzione, e in che modo.

Fabio Grassini. Enterprise Senior Sales Manager di Red Hat

Fabio Grassini. Enterprise Senior Sales Manager di Red Hat

“In Italia, i clienti stanno mostrando una maggiore consapevolezza e sta crescendo l’adozione di OpenShift, abbracciando approcci ibridi che includono soluzioni on-premise e basate su cloud. Questo avviene anche per rispondere a nuove esigenze che arrivano dalle normative del settore finanziario, come la DORA (Digital Operation Resilience Act), che richiede alle aziende di avere una exit strategy, da utilizzare qualora si trovassero a dover cambiare fornitore cloud anche in tempi brevi, per esempio nel caso di downtime del fornitore”, afferma Grassini.

Sul tema delle competenze tecniche, per Grassini è necessario che le aziende lavorino alla riqualificazione del proprio personale IT, “e dove questo non basta, arriva il nostro ecosistema di partner qualificati. In ogni caso, lavoriamo a stretto contatto sia con le aziende, sia con le università, in un’ottica di collaborazione per formare nuove competenze. La crescita di Red Hat dipende dal fatto che i clienti aumentino l’utilizzo della soluzione. Non siamo il tipo di vendor che, concluso il contratto, si limita ad aspettare il rinnovo, ma lavoriamo con il cliente in modalità learning-by-doing per abilitare le persone che usano i prodotti a farlo così bene che poi continuano spostare workload e inventare nuove soluzioni, aumentando l’utilizzo della nostra piattaforma. Non vendiamo il training. Per noi la formazione del cliente e l’accompagnamento nel loro journey to cloud attraverso l’adozione di piattaforme applicative moderne è un investimento”.

Il cambiamento nell’interpretazione della licenza open source per Red Hat Enterprise Linux, di cui i sorgenti non saranno più pubblici ma distribuiti solo ai clienti in forma privata, ha suscitato parecchie critiche nel mondo dell’open source. C’è stata anche qualche ripercussione negativa anche con i vostri clienti?

“C’è stata una lunga interlocuzione con i clienti, e in molti hanno capito e metabolizzato la nostra posizione. Certo, poi c’è chi che pensa che l’open source sia ancora quello di 10 anni fa, e che considero estremisti, afferma Grassini.

In chiusura, chiediamo a Grassini quali saranno le principali tendenze tecnologiche che domineranno il 2024 per Red Hat.

“Accanto ai temi scontati dell’Intelligenza Artificiale e dell’evoluzione nell’utilizzo del cloud, vedo emergere in modo più graduale ma costante il tema dell’automazione, che noi seguiamo con Ansible, ma che va estesa dalla semplice scrittura ed esecuzione di playbook, a qualcosa che va ad abbracciare tutte le aree dell’azienda e diventa un’opportunità per migliorare le condizioni di lavoro e liberare persone da task molto meccanici, con alto rischio di fallimento ed errore come networking, patching e sicurezza, per portarle a seguire nuovi ruoli di innovazione in azienda”, ha affermato.

Aziende:
Red Hat
Condividi: