← Ultimi articoli
💻 computer science

ST-KEDA: Predictive Cost-Aware Autoscaling for Kubernetes Microservices via Spectral- Temporal Demand Forecasting

ST-KEDA è un framework di autoscaling predittivo e consapevole dei costi per microservizi Kubernetes che integra la Decomposizione Modale Variazionale e la previsione LSTM cooperativa consapevole della topologia con la stima del costo in tempo reale per ridurre significativamente i costi infrastrutturali e la latenza di scalabilità, mantenendo al contempo il rigoroso rispetto degli SLA.

Autori originali: Kong FanYong, Fang-Fang Chua, Amy Hui-Lan Lim

Pubblicato 2026-10-07
📖 7 min di lettura🧠 Approfondimento

Autori originali: Kong FanYong, Fang-Fang Chua, Amy Hui-Lan Lim

Articolo originale sotto licenza CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). ✨ Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo

Il software moderno spesso non gira come un singolo programma massiccio, ma come una collezione di piccole parti indipendenti chiamate microservizi. Queste parti comunicano costantemente tra loro, come una squadra di specialisti che si scambiano note per risolvere un problema complesso. Per mantenere questa squadra in funzione in modo fluido, i computer che le ospitano devono regolare automaticamente la propria potenza. Se troppe persone visitano un sito web contemporaneamente, il sistema deve aggiungere istantaneamente più lavoratori. Se il traffico diminuisce, deve lasciare andare i lavoratori per risparmiare denaro. Questa regolazione automatica è chiamata autoscaling. Attualmente, la maggior parte dei sistemi aspetta di vedere un problema — come tempi di risposta lenti — prima di reagire. Questa reazione richiede diversi minuti, un ritardo che sembra un'eternità nel mondo digitale, causando agli utenti lag o errori. Inoltre, le persone che gestiscono questi sistemi spesso mancano di una visione chiara e immediata di quanto costi ogni singola regolazione, rendendo difficile bilanciare le prestazioni con il budget.

Un team di ricercatori della Multimedia University in Malesia ha sviluppato un nuovo sistema progettato per risolvere entrambi questi problemi in un colpo solo. Chiamano il loro framework ST-KEDA. Invece di aspettare che il traffico aumenti e poi reagire, questo sistema cerca di prevedere l'ondata prima che accada. Calcola inoltre un conteggio corrente del costo per ogni singola azione intrapresa, permettendo di prendere decisioni che risparmiano denaro senza sacrificare la velocità. I ricercatori hanno testato questo sistema su due esempi reali di software complessi: un negozio di shopping online con undici diversi servizi e un sistema di prenotazione biglietti ferroviari con quarantuno servizi. I loro risultati dimostrano che, guardando avanti e comprendendo l'impatto finanziario di ogni mossa, il sistema può tagliare i costi infrastrutturali di oltre un terzo e ridurre drasticamente il numero di volte in cui aggiunge e rimuove freneticamente i lavoratori.

Il nocciolo del problema risiede nel modo in cui gli strumenti attuali monitorano i problemi. Gli strumenti standard monitorano l'attuale carico di lavoro del computer, come quanto siano occupati i processori. Quando il carico di lavoro supera una certa soglia, il sistema ordina più potenza di calcolo. Tuttavia, il tempo necessario per notare il picco, calcolare il bisogno, trovare un nuovo computer, scaricare il software necessario e avviare il nuovo lavoratore è significativo. Nei test dei ricercatori, l'intero processo ha richiesto in media quasi cinque minuti. Durante questa finestra, il sistema è sovraccarico e gli utenti soffrono. Il nuovo approccio, ST-KEDA, cambia la strategia dalla reazione all'anticipazione. Guarda alla cronologia dei modelli di traffico per indovinare cosa accadrà nei prossimi minuti.

Per rendere accurate queste ipotesi, il sistema scompone innanzitutto la complessa cronologia del traffico in pezzi più semplici e comprensibili. Immaginate una registrazione rumorosa di una strada trafficata; contiene il ronzio costante del traffico, il modello ritmico dell'ora di punta e suoni improvvisi e acuti come il clacson di un'auto. I ricercatori hanno utilizzato una tecnica matematica per separare questi diversi ritmi dal rumore. Hanno scoperto che studiando questi modelli separati — i trend costanti, i cicli giornalieri e i picchi improvvisi — il computer poteva comprendere il traffico molto meglio che guardando solo i dati grezzi e disordinati. Questa separazione ha permesso al motore di previsione di vedere la struttura sottostante della domanda piuttosto che solo il caos.

Il sistema utilizza poi un sofisticato modello di apprendimento che comprende come le diverse parti del software dipendano l'una dall'altra. In un'architettura a microservizi, una parte spesso ne attiva un'altra. Ad esempio, un utente che clicca su "acquista" potrebbe attivare un controllo dell'inventario, che a sua volta attiva un processo di pagamento. Se il sistema prevede un aumento dei clic su "acquista", sa che anche i servizi di inventario e di pagamento avranno bisogno di più potenza, anche prima che questi servizi mostrino segni di attività. Mappando queste connessioni, il sistema può preparare l'intera catena di servizi simultaneamente. Ciò evita il lag che si verifica quando una parte è pronta ma la successiva è ancora in fase di attivazione.

Fondamentalmente, questo sistema non si cura solo della velocità; si cura del prezzo. I servizi di cloud computing addebitano per minuto ogni unità di processore e memoria utilizzata. I ricercatori hanno costruito uno strato nel loro sistema che calcola il costo di ogni decisione di scaling in tempo quasi reale. Mentre i soliti estratti conto potrebbero arrivare dopo giorni, questo sistema stima il costo entro pochi secondi da una modifica. Sa esattamente quanto costerà una nuova istanza di computer per la prossima ora. Ciò consente al sistema di fare un compromesso: può decidere di risparmiare denaro mantenendo il numero di lavoratori leggermente inferiore, accettando una minima possibilità di rallentamento, o può spendere di più per garantire una velocità perfetta. I ricercatori hanno testato un'impostazione in cui il sistema dava priorità al risparmio economico e ha ridotto con successo il costo totale di gestione del negozio online del 34,7 percento.

I risultati dei test sono stati sorprendenti. Rispetto al sistema reattivo standard, il nuovo approccio ha ridotto il tempo necessario per adattarsi al nuovo traffico da quasi cinque minuti a soli otto secondi. Questa velocità ha significato che il sistema raramente è rimasto indietro. I ricercatori hanno anche misurato qualcosa chiamato "flapping", che accade quando un sistema reagisce in modo eccessivo, aggiungendo troppi lavoratori, per poi rimuoverli immediatamente, per poi aggiungerli di nuovo. Questo continuo scambio è dispendioso e instabile. Il nuovo sistema ha ridotto questo comportamento caotico del 96,6 percento, creando un'operazione molto più fluida. Quando il sistema è stato lasciato libero di ignorare le preoccupazioni sui costi per concentrarsi solo sulle prestazioni, il numero di risposte lente è sceso solo al 2 percento, un miglioramento significativo rispetto all'8 percento del sistema standard.

Lo studio ha anche rivelato che i componenti specifici del loro design erano tutti necessari. Quando hanno rimosso la capacità di scomporre i modelli di traffico, le previsioni sono diventate meno accurate. Quando hanno rimosso la comprensione di come i servizi si connettono tra loro, il sistema non è riuscito a preparare in tempo le parti a valle della catena. E quando hanno rimosso il tracciamento dei costi, il sistema non è più stato in grado di fare i compromessi intelligenti che hanno portato a tali risparmi significativi. I ricercatori hanno scoperto che il miglior equilibrio è stato raggiunto quando il sistema è stato tarato per occuparsi sia del costo che della velocità, accettando un lievissimo aumento delle risposte lente per ottenere enormi risparmi finanziari.

Questo lavoro dimostra che gestire sistemi software complessi non deve essere necessariamente una corsa all'inseguimento. Combinando una profonda comprensione di come evolvono i modelli di traffico, di come le diverse parti del software si affidino lamente tra loro e di quanto costi esattamente ogni decisione, è possibile gestire questi sistemi in modo più efficiente ed economico. I ricercatori hanno testato le loro idee su due tipi distinti di applicazioni, suggerendo che l'approccio è abbastanza robusto da gestire diversi tipi di carichi di lavoro. Sebbene il sistema sia stato testato in un ambiente cloud specifico, i principi di previsione della domanda e integrazione del costo nel ciclo decisionale offrono una via chiara da seguire per chiunque gestisca servizi digitali su larga scala. Il futuro del cloud computing potrebbe non riguardare solo l'avere più potenza, ma il sapere esattamente quando e come usarla.

Sommerso dagli articoli nel tuo campo?

Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.

Prova Digest →