← Tutti gli episodi
Copertina di Scalare e aggiornare senza interruzioni
Stagione 13 · Episodio 008

Scalare e aggiornare senza interruzioni

25 agosto 2026 5:21
0:00 5:21

Ciao, e benvenuto nell'ottava puntata della tredicesima stagione. Nelle puntate precedenti abbiamo costruito, pezzo dopo pezzo, tutta la macchina di Kubernetes: lo stato desiderato, il cluster, i pod, l'autoriparazione, i servizi. Oggi raccogliamo i frutti di tutto questo lavoro, e vediamo due delle capacità più desiderate e spettacolari che l'intera macchina rende possibili: scalare senza sforzo e aggiornare senza mai spegnere il servizio. Sono i superpoteri per cui, in fondo, vale la pena affrontare tutta la complessità di Kubernetes.

Cominciamo dallo scalare, che con Kubernetes diventa quasi banale, e capirai perché. Ricordi che tutto si basa sullo stato desiderato: tu dichiari quante copie del tuo programma vuoi. Bene: scalare, in Kubernetes, significa semplicemente cambiare quel numero. Vuoi passare da tre copie a trenta perché è arrivato un picco di traffico? Cambi il numero desiderato da tre a trenta, e il ciclo di riconciliazione, notando che la realtà è sotto il nuovo desiderio, avvia da solo i ventisette pod mancanti, distribuendoli sulle macchine del cluster. Vuoi tornare a tre quando il picco passa? Rimetti tre, e Kubernetes spegne i pod in eccesso. Scalare non è più un'operazione complicata: è cambiare un numero.

Ma c'è di più, ed è dove Kubernetes brilla davvero: lo scalare può essere automatico. Puoi dire a Kubernetes non voglio decidere io il numero di copie momento per momento; voglio che tu lo aggiusti da solo in base al carico. Per esempio: tieni abbastanza copie da mantenere basso il consumo di ciascuna, aggiungendone quando il traffico cresce e togliendone quando cala. E Kubernetes obbedisce: sorveglia il carico e, da solo, aumenta e diminuisce il numero di pod per stare al passo. Nelle ore di punta ne avvia di più, di notte ne tiene di meno, senza che nessuno intervenga. È lo scalare che si autoregola, adattandosi al respiro del traffico come una cosa viva.

Fermiamoci ad apprezzare quanto è potente questo, perché riprende la grande sfida della stagione sul backend. Ricordi l'incubo di essere travolti dal proprio successo, il traffico che arriva all'improvviso e manda giù il servizio? Con lo scalare automatico di Kubernetes, quell'incubo si attenua molto: se arriva un'ondata di traffico, il sistema aggiunge da solo la capacità per reggerla, senza che nessuno debba svegliarsi e correre ai ripari. E quando l'ondata passa, il sistema si restringe da solo, per non sprecare risorse e denaro. È l'elasticità di cui si sogna: crescere e ridursi automaticamente seguendo la domanda, pagando solo per ciò che serve davvero in ogni momento.

Passiamo alla seconda magia, forse ancora più impressionante: aggiornare il programma senza mai spegnere il servizio. Questo è un problema classico e doloroso. Nel vecchio mondo, per installare una versione nuova del programma, spesso dovevi spegnere il vecchio, mettere su il nuovo, e in quel frattempo il servizio era irraggiungibile, con gli utenti davanti a una pagina di errore. Un'interruzione, per quanto breve, era spesso inevitabile. Per servizi usati in tutto il mondo a ogni ora, anche pochi minuti di buio sono un problema serio. Il sogno era: aggiornare mentre il servizio continua a funzionare, senza che nessun utente se ne accorga.

Kubernetes realizza questo sogno con una tecnica elegante, l'aggiornamento progressivo, e sfrutta proprio i servizi di cui abbiamo parlato. Invece di spegnere tutti i vecchi pod insieme e accendere i nuovi, Kubernetes fa la sostituzione poco alla volta, gradualmente. Avvia un pod della versione nuova, verifica che sia sano, e solo allora spegne un pod della versione vecchia. Poi ripete: un altro nuovo, controllo, via uno vecchio. Passo dopo passo, la flotta si trasforma dalla versione vecchia alla nuova, ma in ogni istante ci sono sempre pod sani in funzione che servono gli utenti. E il servizio, con il suo indirizzo stabile, inoltra sempre a quelli vivi. Il risultato: l'aggiornamento avviene mentre tutto continua a funzionare, senza un attimo di buio.

C'è una ciliegina su questa torta, che riprende il valore della prudenza: se l'aggiornamento va male, si può tornare indietro. Immagina di aver messo su una versione nuova e di accorgerti che ha un problema grave. Siccome Kubernetes ha fatto la sostituzione in modo controllato e ricorda lo stato precedente, puoi ordinargli di annullare, di tornare alla versione di prima. E lui rifà il procedimento all'incontrario, gradualmente, riportando la flotta alla versione vecchia funzionante, sempre senza interruzioni. Questa rete di sicurezza è preziosissima: ti permette di aggiornare con coraggio, sapendo che se qualcosa va storto puoi tornare rapidamente a una situazione sicura, senza disastri.

Per oggi ci fermiamo qui. Grazie a tutta la macchina costruita nelle puntate scorse, Kubernetes rende possibili due superpoteri. Lo scalare diventa banale, cambiare un numero, e può persino essere automatico, con il sistema che aggiunge e toglie copie da solo secondo il carico, attenuando l'incubo di essere travolti dal traffico. E l'aggiornamento diventa progressivo: la flotta passa alla versione nuova poco alla volta, sfruttando i servizi, senza mai spegnere il servizio, con la possibilità di tornare indietro se qualcosa va male. Sono i frutti che ripagano tutta la complessità. Nella prossima puntata affrontiamo i dettagli pratici: configurazione, segreti e lo stato. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.