In questo articolo, Huamin Chen, Senior Principal Software Engineer, Office of the CTO, Red Hat, presenta Kepler, il progetto completamente tecnologico che aiuta le aziende a monitorare e ridurre il loro impatto ambientale.
Per molti, il termine “sostenibilità” evoca concetti legati ai temi del riciclo, come bottiglie d’acqua riutilizzabili, cannucce di carta, bidoni per il compost domestico, o forse è più facilmente collegato ai manifesti “reduce, reuse, recycle” e alle borse di tela da utilizzare al mercato contadino locale. Sicuramente, i data center non sono tra i primi riferimenti che colleghiamo a questo tema. Con la sostenibilità sempre più al centro di molte politiche governative, le imprese leader del settore tecnologico hanno lavorato duramente alla creazione di tecnologie finalizzate ad aiutare gli utenti a monitorare il modo in cui l’uso del software può determinare il consumo di energia.
Negli ultimi anni, la rapida crescita dei carichi di lavoro gestiti dai data center ha comportato un maggiore utilizzo di energia: parliamo di un aumento tra il 10 e il 30% all’anno, il che si traduce in un apporto dell’1-1,5% al consumo energetico globale, come riporta l’Agenzia Internazionale dell’Energia. Di conseguenza, per le organizzazioni che vogliono ridurre sensibilmente il proprio impatto ambientale, è ormai fondamentale esaminare con la massima attenzione l’efficienza delle proprie apparecchiature tecnologiche e degli strumenti utilizzati per valutare la sostenibilità dei propri data center.
Vi presentiamo Kepler
Kepler, o Kubernetes-based Efficient Power Level Exporter, è un progetto sviluppato dalla divisione di Red Hat dedicata alle tecnologie emergenti con i primi contributi da IBM Research e Intel. Si tratta di un’iniziativa open source, guidata dalla community, che si propone di acquisire le metriche relative ai consumi energetici da un’ampia gamma di piattaforme, concentrandosi sugli aspetti relativi a reportistica e analisi di riduzione e regressione, in modo che le aziende possano comprendere meglio i propri consumi energetici.
Kepler utilizza metodologie e tecnologie cloud-native collaudate, come il Berkeley Packet Filter esteso (eBPF), i contatori delle prestazioni della CPU e i modelli di machine learning, per stimare il consumo energetico dei carichi di lavoro ed esportarli come metriche che vengono in seguito utilizzate per programmare, ridimensionare, riportare e visualizzare i consumi, fornendo agli amministratori di sistema informazioni sull’impronta di carbonio dei loro carichi di lavoro cloud native.
Il Kepler Model Server invece regola e perfeziona continuamente i suoi modelli pre-addestrati utilizzando i dati dei nodi provenienti dagli agenti che si occupano di stimare i consumi energetici riuscendo così ad adattare i propri calcoli in base ai sistemi e alle esigenze specifiche dell’utente. In questo modo i responsabili aziendali sono in grado di sfruttare le conoscenze acquisite per valutare meglio come ottimizzare il consumo energetico, come affrontare le esigenze di sostenibilità in evoluzione e come preservare la propria organizzazione garantendo il raggiungimento degli obiettivi.
Cosa riserva il futuro?
Grazie alla collaborazione delle community open source e a una mentalità upstream-first, le innovazioni future nel campo della sostenibilità si sviluppano in maniera sempre più rapida. Per questo motivo, Red Hat e IBM Research hanno deciso di donare Kepler alla Cloud Native Computing Foundation al fine di consentire ai membri della community di sperimentare nuovi modi per integrare Kepler nei propri casi d’uso.
Kepler, infatti, può abilitare una serie di innovazioni nella community open source che consentono ai service provider di osservare, analizzare, ottimizzare e documentare meglio il consumo energetico delle applicazioni cloud native. Ad esempio:
- Segnalazione del consumo energetico. Le metriche di Kepler sono una serie temporale: possono essere utilizzate per creare dashboard che indicano il consumo energetico a vari livelli, tra cui container, pod, namespace o diversi nodi di calcolo nel cluster.
- Impronta di carbonio. Le metriche di consumo energetico di Kepler possono essere abbinate dagli utenti con gli indici PUE (Power Usage Effectiveness) del data center e dell’intensità di carbonio del sistema energetico per calcolare l’impronta di carbonio del carico di lavoro.
- Programmazione del carico di lavoro e autoscaling efficienti. Le metriche di Kepler possono essere utilizzate da uno scheduler Kubernetes per posizionare un nuovo carico di lavoro sul nodo di calcolo con le migliori prestazioni per watt, riducendo in definitiva il consumo energetico a livello di cluster. Allo stesso modo, gli autoscaler di Kubernetes possono utilizzare le metriche di consumo energetico di Kepler negli algoritmi di autoscaling per determinare le risorse necessarie per ottenere una migliore efficienza energetica.
- Pipeline CI/CD. Kepler può essere utilizzato anche all’interno del ciclo di vita dello sviluppo del software per contribuire a realizzare software più sostenibili. Ad esempio, può essere distribuito nelle pipeline di integrazione e distribuzione continua (CI/CD) per il test e il rilascio del software. Le metriche di consumo energetico di Kepler possono aiutare gli sviluppatori a misurare, analizzare e ottimizzare gli stack software.
di Huamin Chen, Senior Principal Software Engineer, Office of the CTO, Red Hat