L'azienda SUSE ha pubblicato il primo prototipo della piattaforma ALP (Adaptable Linux Platform), posizionata come continuazione dello sviluppo della distribuzione SUSE Linux Enterprise. La principale differenza del nuovo sistema è la separazione della base della distribuzione in due parti: una "host OS" ridotta per funzionare sopra l'hardware e uno strato per il supporto delle applicazioni, orientato all'esecuzione nei contenitori e nelle macchine virtuali. Le build sono state preparate per l'architettura x86_64.
L'idea è quella di sviluppare nell'"host OS" un ambiente minimo necessario per il supporto e la gestione dell'hardware, mentre tutte le applicazioni e i componenti dello spazio utente vengono eseguiti non in un ambiente misto, ma in contenitori separati o in macchine virtuali, eseguiti sopra l'«host OS» e isolati l'uno dall'altro. Questa organizzazione permetterà agli utenti di concentrarsi sulle applicazioni e di astrarre i flussi di lavoro, separandoli dall'ambiente di sistema low-level e dall'hardware.
Come base per l'«host OS» è stato utilizzato il prodotto SLE Micro, basato sui risultati del progetto MicroOS. Per la gestione centralizzata sono proposti i sistemi di gestione della configurazione Salt (preinstallato) e Ansible (opzione). Per l'esecuzione di contenitori isolati sono disponibili strumenti come Podman e K3s (Kubernetes). Tra i componenti di sistema spostati nei contenitori ci sono yast2, podman, k3s, cockpit, GDM (GNOME Display Manager) e KVM.
Tra le caratteristiche dell'ambiente di sistema si segnala l'uso predefinito della crittografia del disco (FDE, Full Disk Encryption) con possibilità di memorizzare le chiavi nel TPM. La partizione di root è montata in modalità sola lettura e non viene modificata durante il funzionamento. Nell'ambiente viene utilizzato un meccanismo di installazione atomica degli aggiornamenti. A differenza degli aggiornamenti atomici basati su ostree e snap, utilizzati in Fedora e Ubuntu, in ALP invece di costruire singole immagini atomiche e dispiegare un'infrastruttura di consegna aggiuntiva vengono utilizzati il gestore di pacchetti standard e il meccanismo di snapshot nel file system Btrfs.
Concetti principali di ALP:
- Minimizzazione dell'interazione dell'utente (zero-touch), che implica l'automazione dei processi principali di supporto, distribuzione e configurazione.
- Mantenimento automatico della sicurezza e aggiornamento del sistema (self-updating). È previsto un regime configurabile di installazione automatica degli aggiornamenti (ad esempio, è possibile attivare l'installazione automatica solo delle correzioni delle vulnerabilità critiche o tornare alla conferma manuale dell'installazione degli aggiornamenti). I live-patch supportano l'aggiornamento del kernel Linux senza riavvio e interruzione del funzionamento.
- Applicazione automatica delle ottimizzazioni (self-tuning) e mantenimento della resilienza del sistema (self-healing). Il sistema registra l'ultimo stato stabile e, dopo l'applicazione di aggiornamenti o modifiche delle impostazioni, nel caso vengano rilevati anomali, problemi o violazioni del comportamento, viene automaticamente riportato allo stato precedente, utilizzando snapshot Btrfs.
- Stack software multi-versione. L'isolamento dei componenti nei contenitori consente di utilizzare contemporaneamente diverse versioni di strumenti e applicazioni. Ad esempio, è possibile eseguire applicazioni che utilizzano dipendenze di versioni diverse di Python, Java e Node.js, separando le dipendenze incompatibili. Le dipendenze di base vengono fornite sotto forma di set BCI (Base Container Images). L'utente può creare, aggiornare e rimuovere stack software senza intaccare altri ambienti.
A differenza di SUSE Linux Enterprise, lo sviluppo di ALP avviene inizialmente attraverso un processo di sviluppo aperto, in cui le versioni intermedie e i risultati dei test sono pubblicamente disponibili per chiunque, consentendo alle parti interessate di monitorare il lavoro in corso e partecipare allo sviluppo.
Fonte: opennet.ru
