La società SUSE ha pubblicato il terzo prototipo della piattaforma ALP "Piz Bernina" (Adaptable Linux Platform), posizionata come continuazione dello sviluppo della distribuzione SUSE Linux Enterprise. La principale differenza di ALP è la separazione della base fondamentale 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 in container e macchine virtuali. ALP si sviluppa inizialmente utilizzando un processo di sviluppo aperto, in cui le build intermedie e i risultati dei test sono pubblicamente accessibili a tutti coloro che lo desiderano.
Il terzo prototipo include due rami separati, che attualmente hanno una composizione simile, ma in futuro si svilupperanno in direzioni diverse e si differenzieranno per i servizi offerti. Per il test è disponibile il ramo Bedrock, orientato all'uso in sistemi server, e il ramo Micro, destinato alla costruzione di sistemi cloud-native e all'esecuzione di microservizi. Sono pronte build per l'architettura x86_64 (Bedrock, Micro). Sono inoltre disponibili script di build (Bedrock, Micro) per le architetture Aarch64, PPC64le e s390x.
L'architettura ALP si basa sullo sviluppo dell'ambiente «host OS», il minimo necessario per supportare e gestire l'hardware. Tutte le applicazioni e i componenti dello spazio utente sono proposti per essere 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.
È previsto un regime configurabile per l'installazione automatica degli aggiornamenti (ad esempio, è possibile attivare l'installazione automatica solo delle patch per le vulnerabilità critiche o tornare a confermare manualmente l'installazione degli aggiornamenti). Per aggiornare il kernel Linux senza riavvio e senza interrompere il funzionamento, sono supportati i live patch. Per garantire la resilienza del sistema (self-healing), viene effettuato un backup dell'ultimo stato stabile tramite snapshot Btrfs (in caso di anomalie dopo l'applicazione degli aggiornamenti o delle modifiche alle impostazioni, il sistema viene automaticamente riportato allo stato precedente).
Sulla piattaforma viene utilizzato un stack software multi-versione: grazie all'uso dei container, è possibile utilizzare contemporaneamente diverse versioni di strumenti e applicazioni. Ad esempio, è possibile eseguire applicazioni che utilizzano dipendenze con diverse versioni di Python, Java e Node.js, separando le dipendenze incompatibili. Le dipendenze di base sono fornite sotto forma di set BCI (Base Container Images). L'utente può creare, aggiornare e rimuovere stack software senza intaccare altri ambienti.
Per l'installazione viene utilizzato l'installatore D-Installer, in cui l'interfaccia utente è separata dai componenti interni di YaST e vi è la possibilità di utilizzare vari frontend, compreso un frontend per la gestione dell'installazione tramite interfaccia web. È supportata l'esecuzione dei clienti YaST (bootloader, iSCSIClient, Kdump, firewall, ecc.) in container separati.
Le principali modifiche nel terzo prototipo di ALP:
- Fornitura di un ambiente di esecuzione fidato (Trusted Execution Environment) per il calcolo riservato, che consente di elaborare in modo sicuro i dati utilizzando isolamento, crittografia e macchine virtuali.
- Utilizzo di attestazione hardware e runtime per verificare l'integrità delle attività svolte.
- Base per il supporto delle macchine virtuali confidenziali (CVM, Confidential Virtual Machine).
- Integrazione del supporto della piattaforma NeuVector per la verifica della sicurezza dei container, l'identificazione di componenti vulnerabili e la rilevazione di attività dannose.
- Supporto per l'architettura s390x in aggiunta a x86_64 e aarch64.
- Possibilità di abilitare la crittografia dell'intero disco (FDE, Full Disk Encryption) durante l'installazione, con archiviazione delle chiavi in TPMv2 e senza la necessità di inserire una password al primo avvio. Supporto equivalente per la crittografia sia delle partizioni standard che delle partizioni LVM (Logical Volume Manager).
Fonte: opennet.ru
