L'azienda SUSE ha pubblicato il primo prototipo della piattaforma ALP (Adaptable Linux Platform), che si propone come un'evoluzione del sistema operativo SUSE Linux Enterprise. La principale differenza del nuovo sistema è la suddivisione della base del sistema operativo in due parti: un "host OS" ridotto per funzionare sopra l'hardware e uno strato per il supporto delle applicazioni, rivolto all'esecuzione in contenitori e macchine virtuali. Le versioni sono preparate per l'architettura x86_64.
L'idea è quella di sviluppare nell'"host OS" un ambiente minimo necessario per supportare e gestire l'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. Tale organizzazione consentirà agli utenti di concentrarsi sulle applicazioni e di astraere i flussi di lavoro, separandoli dall'ambiente di sistema di basso livello e dall'hardware.
La base per il "host OS" è fornita dal prodotto SLE Micro, sviluppato sulle esperienze del progetto MicroOS. Per la gestione centralizzata, sono disponibili sistemi di gestione della configurazione Salt (preinstallato) e Ansible (opzionale). Per l'esecuzione di container isolati, sono disponibili strumenti come Podman e K3s (Kubernetes). Tra i componenti di sistema incorporati nei container ci sono yast2, podman, k3s, cockpit, GDM (GNOME Display Manager) e KVM.
Tra le caratteristiche dell'ambiente di sistema si menziona l'uso predefinito della crittografia del disco (FDE, Full Disk Encryption) con la possibilità di memorizzare le chiavi nel TPM. La partizione principale viene montata in modalità di 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 distribuire un'infrastruttura di consegna aggiuntiva, vengono utilizzati il gestore di pacchetti di sistema e meccanismi di snapshot nel filesystem Btrfs.
Concetti chiave di ALP:
- Minimalizzazione dell'interazione dell'utente (zero-touch), che implica l'automazione dei principali processi di gestione, distribuzione e configurazione.
- Mantenimento automatico della sicurezza e dell'aggiornamento del sistema (self-updating). È previsto un modo personalizzabile per l'installazione automatica degli aggiornamenti (ad esempio, è possibile attivare l'installazione automatica solo per le correzioni delle vulnerabilità critiche o tornare alla conferma manuale dell'installazione degli aggiornamenti). Supporta i live patch per l'aggiornamento del kernel Linux senza riavvio e interruzione del servizio.
- 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 alle impostazioni, in caso di anomalie, problemi o comportamenti anomali, viene automaticamente ripristinato allo stato precedente utilizzando snapshot Btrfs.
- Stack software multi-version. L'isolamento dei componenti nei container consente di utilizzare diverse versioni di strumenti e applicazioni contemporaneamente. Ad esempio, è possibile eseguire applicazioni che utilizzano versioni diverse di Python, Java e Node.js nelle loro dipendenze, separando le dipendenze incompatibili. Le dipendenze di base sono fornite sotto forma di pacchetti BCI (Base Container Images). L'utente può creare, aggiornare e rimuovere stack software senza influenzare altri ambienti.
A differenza di SUSE Linux Enterprise, lo sviluppo di ALP è inizialmente guidato da un processo di sviluppo aperto, in cui le build intermedie e i risultati dei test sono pubblicamente disponibili per tutti gli interessati, consentendo a chiunque di seguire il lavoro in corso e partecipare allo sviluppo.
Fonte: opennet.ru
