Home
Kubernetes: l’arte di pilotare i container

17 Maggio 2023

Kubernetes: l’arte di pilotare i container

di

Un software open source di orchestrazione e gestione di container che rivoluziona il modo in cui le applicazioni sono costruite, distribuite e conservate.

Apogeonline: 1. Ci racconti il tuo primo incontro con Kubernetes?

Serena Sensini: Un incontro difficile, ma necessario. Il salto dal mio PC ad un contesto enterprise è obbligatorio, e Kubernetes è una tappa (quasi) obbligatoria: avere un quadro più grande della situazione e di come le diverse applicazioni possono parlare tra loro, ma anche gestire dei carici di lavoro che variano nel tempo e che devono resistere ad eventuali condizioni non favorevoli, è fondamentale. Il primo approccio è stato del tutto simile a quanto avvenuto con Docker, il mio primo amore-odio: mi sono chiesta, e ora da dove inizio? Con questa domanda, ho deciso di scrivere un libro, pensando a tutte quelle persone che, come me, devono approcciarsi per la prima volta alla materia.

2. Perché bisognerebbe scegliere Kubernetes invece di Docker?

Questa è una domanda che ricevo spesso, e non c’è una sola risposta: quella che trovo più corretta è scegliere l’uno o l’altro in base alle proprie esigenze. In altre parole, se hai bisogno di eseguire dei test di sviluppo della tua applicazione e vuoi vedere che sia tutto ok, Docker è più che sufficiente. Se invece ti trovi nello step successivo, dove hai bisogno che l’architettura su cui si poggiano i tuoi servizi scali in base al carico di lavoro che cambia nel tempo, allora è tempo di navigare verso altri mari.

3. Qual è la candidata ideale, in termini di conoscenze e capacità, per un lavoro centrato sull’uso di Kubernetes?

Se parliamo di professioni, sicuramente è necessario che la persona abbia delle competenze di design architetturale, amministrazione di sistemi e un po’ di sviluppo, che non fa mai male.

Leggi anche: Che cos’è Docker e perché rivoluziona il deploy

Dal mio punto di vista, lavorare con questa tecnologia è alla portata di tutte le persone che vogliono mettersi alla prova e fare il salto di qualità, lasciando da parte il codice (per un secondo) e provando a vedere il quadro generale di ciò che succede quando l’applicazione a cui abbiamo lavorato deve spiccare il volo verso gli stage successivi di rilascio.

4. Fino a dove arriva il manuale di Kubernetes che esce in questi giorni a tua firma, edito da Apogeo?

Il manuale nasce con l’idea di coprire tutti gli argomenti che l’ecosistema intorno e dentro a Kubernetes tocca, partendo dalle basi: in primis, perché adottare questa tecnologia e quando non farlo (vedi la seconda domanda) e poi, com’è stato progettato e come possiamo comprenderne le componenti per farlo funzionare con casi d’uso reali, anche su piattaforme cloud.

Kubernetes, di Serena Sensini

L’orchestrazione dei carichi di lavoro delle applicazioni, nei sistemi di oggi, è un must.

In linea di principio, rubando un’espressione del mio responsabile (grazie Daniel!), questo libro ti permette di indossare diversi cappelli e di sperimentare la professione di architetto che vuole comprendere il funzionamento del cluster Kubernetes, ma anche di sviluppatrice che ha bisogno di atterrare su questa tecnologia e ha bisogno di esempi pratici, o anche per chi vuole andare oltre e comprenderne le potenzialità attraverso i principali servizi on-cloud che ci sono attualmente a disposizione. Il tutto sempre condito da moltissimi esempi e immagini, che ne permettono una maggior comprensione.

5. Puoi spiegarci in parole semplici il concetto di orchestrazione?

Sul mio PC funziona è una frase piuttosto comune per chi lavora nel settore, soprattutto se il ruolo è quello di sviluppatore. Ma cosa succede quando l’applicazione è pronta per essere rilasciata all’utente finale? E cosa quando deve integrarsi con altri servizi? C’è bisogno di tenere in considerazione diversi fattori che, per semplicità – e benessere psico-fisico – del team di sviluppo, vengono tralasciati nelle prime fasi, come ad esempio quanti container saranno necessari per poter garantire un’alta disponibilità dell’infrastruttura, oppure come comunicare con altri servizi indipendenti, o ancora come gestire il suo carico di lavoro, che varia costantemente nel tempo: a tutte queste domande implicite si risponde con il concetto di orchestrazione. Soluzioni come Kubernetes permettono di gestire in maniera semitrasparente quanti container eseguire, quando e dove, e cosa fare se ci sono errori. Non a caso, il termine Kubernetes significa pilota: serve proprio a guidare i container verso acque sicure.

6. Che vantaggi porta l’implementazione di Kubernetes in un sistema?

Cosa succede se la tua applicazione si basa sull’interazione con altri container come database o servizi di messaggistica o altri servizi di back-end? Cosa succede se il numero di utenti aumenta e devi ridimensionare la tua applicazione? Per abilitare queste funzionalità è necessaria una piattaforma sottostante con un insieme di risorse che sappia gestire questo tipo di variabili. La piattaforma deve orchestrare la connettività tra i container e scalare automaticamente verso l’alto o verso il basso in base al carico. Kubernetes è una piattaforma portatile, estendibile e open source per la gestione di carichi di lavoro e servizi containerizzati, che facilita sia la configurazione dichiarativa che l’automazione. Ha un grande ecosistema in rapida crescita e i servizi, il supporto e gli strumenti Kubernetes sono ampiamente disponibili.

7. È una tecnologia che torna utile anche in ambito desktop? È possibile sperimentare con Kubernetes sopra il proprio computer?

All’interno del manuale vengono indicate diverse tipologie di soluzioni per approcciarsi a Kubernetes in un contesto locale, quindi con un numero di risorse più basso, ed anche in un contesto enterprise. Per una prima fase di apprendimento, lavorare in ambito desktop ti permette di fare una serie di errori che servono ad imparare molto, e che in ambienti di produzione non sarebbero permessi!

8. Che impressione ti ha dato la comunità Kubernetes? È possibile contarci come mezzo per scambio di opinioni, apprendimento e trasmissione di esperienza?

Fantastica. La community dietro a questo progetto è enorme, e gestisce una moltitudine di iniziative che vanno dagli eventi fisici nazionali e non a quelli online con speaker di altissimo livello, a guide e blog che tornano sempre utili per farsi strada in questo mondo.

9. In quanto tempo si possono compiere i primi passi concreti dentro Kubernetes, per qualcuno che impari da zero?

Difficile stimare con certezza queste tempistiche. Per muovere i primi passi, è sufficiente avere a disposizione il proprio PC e un po’ di sana curiosità (e pazienza, che non guasta mai): i primi capitoli sono proprio dedicati a degli esempi veloci per prendere confidenza. Per padroneggiare questa tecnologia… questa è tutta un’altra storia, ma arrivando in fondo al libro e sperimentando, si può fare questo e ben oltre!

Immagine di apertura di Growtika su Unsplash.

L'autore

  • Serena Sensini
    Serena Sensini è un’ingegnera e programmatrice con esperienza nella progettazione e nello sviluppo di soluzioni web e stand-alone from scratch. Appassionata di tecnologia e di linguaggi come Python e R, lavora come Enterprise Architect presso Dedalus S.p.A. e collabora con diverse aziende e associazioni per cui tiene corsi e seminari.

Iscriviti alla newsletter

Novità, promozioni e approfondimenti per imparare sempre qualcosa di nuovo

Gli argomenti che mi interessano:
Iscrivendomi dichiaro di aver preso visione dell’Informativa fornita ai sensi dell'art. 13 e 14 del Regolamento Europeo EU 679/2016.

Libri che potrebbero interessarti

Tutti i libri

Kubernetes

Guida per gestire e orchestrare i container

24,99

di Serena Sensini