Amazon AWS (Amazon Web Services) ha alzato il sipario su Bottlerocket, un nuovo sistema operativo open source basato su Linux che è stato progettato e ottimizzato dall’azienda in modo specifico per l’uso come host di container.
Bottlerocket, ha spiegato Amazon AWS, riflette molto di ciò che l’azienda di una delle piattaforme cloud più utilizzate al mondo ha imparato negli anni.
Si tratta di una distribuzione Linux purpose-built per l’esecuzione di container su virtual machine o bare metal, che include solo i package necessari per renderlo un ottimo container host e che si integra con gli orchestratori di container esistenti. Inoltre, supporta immagini Docker e immagini conformi al formato Open Container Initiative (OCI).
Bottlerocket si differenzia rispetto ai sistemi operativi e alle distribuzioni general-purpose soprattutto nel sistema utilizzato per gli aggiornamenti, che non è di tipo package-by-package, che rende gli update più difficili da automatizzare.
Invece di un sistema di aggiornamento a pacchetti, Bottlerocket utilizza un semplice modello image-based che consente un rollback rapido e completo, se necessario. Gli update a Bottlerocket vengono applicati in un singolo step anziché pacchetto per pacchetto. Ciò, sottolinea Amazon AWS, porta anche altri vantaggi, oltre a una più facile automazione: riduce le eventualità di conflitti e breakage e rende più semplice applicare gli aggiornamenti a una flotta di macchine tramite l’utilizzo di orchestratori quali Amazon EKS.
Oltre a offrire un package set minimo, Bottlerocket impiega un file system che è principalmente di sola lettura e che presenta un controllo dell’integrità all’avvio tramite dm-verity.
L’accesso SSH, evidenzia ancora Amazon AWS, è sconsigliato ed è disponibile solo come parte di un container admin separato che è possibile abilitare in base alle necessità e quindi utilizzare a scopo di troubleshooting.
Il contesto in cui Amazon AWS ha deciso di proporre questa nuova distribuzione Linux è quello in cui i container sembrano diventati il modo preferito dalle aziende per impacchettare e scalare le applicazioni.
Gli ambienti basati su container si prestano a un facile ridimensionamento e i clienti possono eseguire ambienti host che comprendono centinaia o migliaia di istanze.
Su questa scala, però, evidenzia al tempo stesso Amazon, sorgono diverse sfide da affrontare relativamente al sistema operativo host. Innanzitutto sulla sicurezza (installare package extra solo per soddisfare le dipendenze può aumentare la superficie di attacco), poi nei meccanismi di aggiornamento tradizionali, spesso complessi e propensi a errori, nell’overhead (i pacchetti extra non necessari consumano spazio su disco e cicli di calcolo, oltre ad aumentare i tempi di avvio); inoltre, pacchetti e configurazioni incoerenti possono danneggiare l’integrità di un cluster nel tempo.
Bottlerocket è ottimizzato proprio per affrontare queste sfide.