Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Arriva l'automazione per Argo Rollouts con PerfectScale

By Ira ChernousDec 16, 20254 min read

Questa pagina è disponibile anche in English, Deutsch, Español, Français, 日本語 e Português.

Argo Rollouts è ormai uno strumento ampiamente adottato dai team di engineering più moderni per garantire rilasci fluidi e senza interruzioni, mantenendo velocità di esecuzione e vantaggio competitivo. Non si tratta più di un "nice-to-have" o di un approccio esotico, ma di una pratica consolidata e diffusa. Permettendo ai team di rilasciare le funzionalità in modo graduale e di farle arrivare agli utenti in sicurezza, queste strategie sono diventate fondamentali per eliminare i rischi del deployment e portare innovazione con piena fiducia.

Le strategie di Argo rollout sono ormai uno standard?

  • SÌ!

I rollout di Argo aggiungono uno strato nascosto di complessità alle policy di ottimizzazione Kubernetes dei team?

  • SÌ - e per due motivi!!

Le sfide degli Argo rollouts

Il rilascio graduale offre vantaggi evidenti, ma porta con sé anche complessità: più versioni dello stesso workload girano in parallelo. È così che funziona un rollout, ma questo introduce ulteriori sfide operative legate all'allocazione e all'ottimizzazione delle risorse dei workloads Kubernetes:

🚩 Più repliche dello stesso workload, appartenenti a versioni diverse, vengono eseguite contemporaneamente.

🚩 Distribuzione del traffico sbilanciata tra le diverse repliche dello stesso workload.

🚩 Resilienza e stabilità possono variare da una replica all'altra.

🚩 Consumo di risorse temporaneamente più elevato a causa delle pipeline in parallelo, e così via.

Tutto questo si traduce in segnali di ottimizzazione fuorvianti, che rendono inefficaci gli approcci tradizionali.

Ed è qui che entra in scena PerfectScale di DoiT! Siamo entusiasti di presentare la nostra ultima novità: l'Automation avanzata rollout-aware è ora disponibile per i clienti PerfectScale!

L'automazione rollout-aware di PerfectScale per Argo

La nuova automazione rollout-aware è la funzionalità che finalmente allinea ottimizzazione continua e deployment continuo. Cogliendo il contesto completo della strategia di rollout adottata, permette ai team di rilasciare più velocemente senza compromettere efficienza e stabilità di K8s. Ecco come funziona:

Riconoscimento della strategia di rollout Argo

PerfectScale rileva automaticamente la strategia di rollout Argo implementata - blue-green, canary o A/B - senza alcuna configurazione manuale né tagging.

Analisi continua per singola replica

Grazie a esclusive capacità di revision-awareness, PerfectScale analizza e gestisce ogni replica del workload in modo indipendente. Questo approccio consente ai team di valutare con precisione il comportamento di ciascuna versione, comprenderne i pattern di performance ed efficienza e definire esattamente le risorse di cui ha bisogno, abilitando un'ottimizzazione sicura e accurata anche negli ambienti Kubernetes più avanzati ed eterogenei.

Ottimizzazione autonoma rollout-aware

PerfectScale offre un controllo granulare sulle azioni di automazione, in modo da agire sempre in maniera coerente. Quando il supporto ai rollouts è attivo, PerfectScale applica autonomamente le raccomandazioni di right-sizing considerando ogni singola replica e allineando l'ottimizzazione al Suo approccio di rilascio.

Quando gli Argo rollouts compromettono l'ottimizzazione, e come rimediare

Deployment canary

In un deployment canary, un piccolo gruppo di utenti riceve la nuova versione dell'applicazione, mentre gli altri continuano a usare quella precedente. In pratica, la nuova versione riceve appena il 5-10% del traffico e viene poi rilasciata in modo graduale, consentendo agli engineer di testarla e verificarla sotto carichi diversi prima di sostituire completamente la versione precedente.

Ci si trova così in una situazione in cui più revisioni dello stesso workload vengono eseguite contemporaneamente, ciascuna sotto un carico molto diverso. Sul fronte dell'ottimizzazione, gli strumenti tradizionali trattano queste revisioni come un unico workload, ignorando la presenza di repliche concorrenti. Il risultato è che la replica canary, pur ricevendo una minima parte del traffico, finisce per impegnare risorse di produzione su larga scala.

È qui che PerfectScale diventa particolarmente prezioso. Analizzando in modo continuo ogni replica in maniera indipendente, esegue il right-sizing dei workloads sulla base del consumo reale di risorse, assicurando che le azioni di ottimizzazione riducano i costi senza introdurre degrado delle performance né entrare in conflitto con la strategia di rollout.

Deployment Blue-Green

Quando si adotta la strategia di rollout Blue-Green, il sistema esegue temporaneamente due versioni complete, quella precedente (blue) e quella nuova (green), finché la versione green non supera tutti i test; a quel punto il traffico viene commutato interamente da blue a green. Di conseguenza più repliche girano in contemporanea, aumentando la complessità operativa per l'ottimizzazione di K8s e per il mantenimento della stabilità.

In alcuni casi le soluzioni di ottimizzazione esistenti riescono a fare il loro lavoro, ma poiché trattano ogni versione allo stesso modo, l'approccio può rivelarsi rischioso e portare a degrado delle performance, instabilità o sprechi di risorse.

Può accadere, ad esempio, che a causa di differenze di configurazione la quantità di memoria sufficiente per il deployment blue non basti più per quello green. Di conseguenza la versione green può andare incontro a memory pressure, performance degradate o persino OOM se entrambe le versioni vengono provisionate con le stesse risorse. All'opposto, se la versione green è stata ottimizzata e richiede ora meno risorse, applicare le stesse configurazioni della versione blue porta a over-provisioning e a una spesa cloud sprecata.

Per evitare questi rischi, PerfectScale individua in modo trasparente le repliche concorrenti, le analizza singolarmente e applica autonomamente il right-sizing dei workloads in base alla domanda reale di risorse, permettendo ai team di ottimizzare i cluster K8s in sicurezza e generare valore in modo continuo.

Ottimizzazione affidabile ed efficiente con il supporto agli Argo rollouts

Le strategie di rollout avanzate permettono ai team di fare continuous delivery in modo sicuro e affidabile, eppure molte organizzazioni ne rimandano ancora l'adozione a causa dell'overhead operativo e dei costi infrastrutturali aggiuntivi. Il supporto di PerfectScale per Argo Rollouts aiuta i team a colmare questo gap e a ottenere deployment affidabili senza rinunciare all'ottimizzazione dei costi.

📚 Vuole vedere il supporto agli Argo rollouts in azione? Visiti il nostro portale di documentazione oppure prenoti una sessione tecnica con i nostri esperti.

🆓 Non usa ancora PerfectScale? Inizi gratis oggi stesso e porti l'ottimizzazione di K8s a un nuovo livello.