Perchè il modello unikernel potrebbe sostituire i container

La tecnologia dei container ha ormai conquistato il mercato ma in futuro il poco conosciuto modello unikernel potrebbe rimpiazzarla

Container

I container sono entrati a pieno diritto fra i trend tecnologici del 2015: tra i principali protagonisti del mercato è infatti difficile non trovare funzionalità, servizi e pieno supporto al modello dei “contenitori”. Una parte del merito va anche alla startup Docker che ha saputo rilanciare funzionalità già note da tempo rendendole più facilmente accessibili all’industria.

Tra i principali vantaggi ricordiamo ad esempio i tempi di avvio ridotti rispetto alle soluzioni precedenti, la semplicità con la quale è possibile “impacchettare” e distribuire applicazioni nel cloud, la possibilità di condividere in maniera sicura un’infrastruttura tra più applicazioni (isolamento), possibilità di gestire più applicazioni su una singola istanza di un sistema operativo.

Secondo quanto afferma Sinclair Schuller, editorialista di GigaOM, entro cinque anni i container potrebbero essere rimpiazziati da un nuovo modello, quello unikernel. Di cosa si tratta esattamente?

L’approccio unikernel consente di eliminare completamente la dipendenza dai sistemi operativi (che essendo dei “blocchi monolitici” comportano la creazione di istanze che possono occupare centiania di megabyte o addirittura alcuni gigabyte) permettendo agli sviluppatori di scegliere, da un set di librerie disponibili, i servizi necessari al funzionamento dell’applicazione di turno – la procedura di compilazione delle liberire avverrà direttamente all’interno dell’applicazione stessa. In sintesi è questo quello che propone il modello unikernel, un approccio conforme alle attuali esigenze del mercato (microservizi, velocità di esecuzione delle operazioni, maggiore sicurezza).

Unikernel vs container, quali vantaggi

E’ giunto il momento di parlare dei concreti vantaggi offerti allo sviluppatore dall’approccio unikernel, vediamo quali sono i punti di forza evidenziati dall’editorialista:

  • dimensioni. Lo spazio occupato dai container è inferiore a quello di una VM ma pur sempre “importante”. Grazie ad unikernel ed alla procedura “selettiva” citata in precedenza, le applicazioni da 800MB potrebbero benissimo ridursi a 50MB. Oltre a facilitarne lo spostamento nel cloud ciò diminuirebbe i costi extra sostenuti dagli utenti (in base alla quantità dei dati in entrata ed in uscita);
  • velocità. Le istanze unikernel hanno tempi di avvio estremamente ridotti (possono aggirarsi nell’ordine dei 20 millisecondi) permettendone la fruibilità quasi istantanea in base alla necessità del momento;
  • sicurezza. Unikernel rappresenta una netta semplificazione rispetto all’approccio “monolitico” del sistema operativo; unikernel procede infatti alla compilazione dei soli elementi necessari all’applicazione, offrendo quindi meno possibilità ad eventuali malintenzioni di individuare punti deboli. Una volta ultimato, unikernel è infine arduo da modificare perchè occorrerebbe ripartire da zero per alterarne la struttura. Espedienti come patch malevole e modifiche rintracciabili non sono quindi utilizzabili dagli hacker.
  • Compatibilità. Grazie a progetti come Rump Kernels è possibile utilizzare l’approccio unikernel anche per applicazioni già esistenti e non pensate per tale modello.

Le soluzione container riusciranno a rinnovarsi o finiranno per essere realmente sostituite da unikernel?

 

Facci sapere cosa ne pensi!

Facci sapere cosa ne pensi!

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *