Nomad e Kubernetes a confronto

Container ed orchestrazione degli stessi è il campo di attività più importante per molte società, sia lato sistemistico per realizzazione e gestione, sia lato applicativo come metodo per offrire servizi scalabili e affidabili.
Ormai Kubernetes è certificato come standard, grazie anche al fatto di aver lasciato l’alveo di Google ed essere governato dalla Cloud Native Computing Foundation (CNCF). Ma in questo campo tutto può cambiare in pochi mesi.

Uno dei contendenti più agguerriti è Nomad, e questo post ci esprime anche i motivi. Ve li riassumiamo brevemente.

1. Filosofia Unix

Kubernetes integra ed eroga tutti i servizi che possono essere utili.
Nomad si concentra sulle sole aree necessarie per la gestione del cluster, lasciando ad altri servizi specializzati tutto quello che non è necessario gestire internamente.

2. Nomad è più semplice

Kubernetes è composto da una serie piuttosto estesa di container che devono collaborare tra loro per offrire i servizi base, necessari a Kubernetes stesso, rendendone complicata installazione e gestione.
Nomad, invece, è composto da un solo binario, che può fare sia da server che da client, richiedendo meno fatica per la gestione perché necessario conoscere un solo strumento.

3. Flessibilità nel tipo di esecuzione

Kubernetes è costruito per gestire solo container.
Nomad è strutturato con driver per poter gestire contemporaneamente altre tecnologie, come macchine virtuali o direttamente alcune applicazioni.

4. Maggior consistenza nell’installazione

Come già detto, l’installazione di Kubernetes è complessa. Per renderla più semplice, esistono distribuzioni appositamente create per facilitare il compito, che sono spesso usate in ambienti di sviluppo e test. Portando ad una inconsistenza tra ambienti.
Nomad, con il file singolo, può essere facilemente installato con le stesse modalità in tutti gli ambienti.

5. Scalabilità

Kubernetes riesce a gestire circa 30k container su 5k nodi. La mancanza di meccanismi di “federazione” richiede che il cuore del sistema (il control plane) sia centralizzato e unico.
Nomad ha dimostrato di poter superare i 10k nodi, oltre a poter diviso in vari cluster che si coordinano tra loro.

Non c’è storia, vero?

Probabilmente i toni e la superiorità assegnata alle caratteristiche di Nomad sono poco obbiettivi, visto che il post è pubblicato su nomadproject.io, ovvero proprio il sito di Nomad. Ma è indubbio che un fondo di verità c’è.

L’installazione di Kubernetes è piuttosto complessa e un singolo binario rende più facile il tutto, tanto che è la stessa strategia usata da altre distribuzioni semplificate di Kubernetes come minikybe e k3s – giusto per citarne un paio.

Ma l’architettura di Kubernetes non si è diffusa rapidamente a caso: si è già dimostrata solida, ed ora che è ben conosciuta (con tutti i difetti) è facile trovare qualcuno che sappia gestirla.
Nomad è relativamente più giovane, ma soprattutto meno diffusa: è più difficile trovare qualcuno che la conosca e la gestisca.

Se poi, per davvero, Nomad è più capace e semplice, vedremo a breve un sorpasso. Come già detto, in questo campo tutto può cambiare in pochi mesi…

Ho coltivato la mia passione per l'informatica fin da bambino, coi primi programmi BASIC. In età adulta mi sono avvicinato a Linux ed alla programmazione C, per poi interessarmi di reti. Infine, il mio hobby è diventato anche il mio lavoro.
Per me il modo migliore di imparare è fare, e per questo devo utilizzare le tecnologie che ritengo interessanti; a questo scopo, il mondo opensource offre gli strumenti perfetti.

Tags: , ,