Firma SUSE opublikowała pierwszy prototyp platformy ALP (Adaptable Linux Platform), którą pozycjonuje jako kontynuację rozwoju dystrybucji SUSE Linux Enterprise. Kluczową różnicą nowego systemu jest podział podstawy dystrybucji na dwie części: uproszczoną "host OS" do pracy na sprzęcie oraz warstwę wspierającą aplikacje, zorientowaną na uruchamianie w kontenerach i maszynach wirtualnych. Wydania są przygotowane dla architektury x86_64.
Idea polega na rozwijaniu w "host OS" minimalnego środowiska potrzebnego do wsparcia i zarządzania sprzętem, a wszystkie aplikacje i komponenty przestrzeni użytkownika uruchamiać nie w mieszanym środowisku, lecz w osobnych kontenerach lub w maszynach wirtualnych, uruchamianych na „host OS” i izolowanych od siebie. Tego rodzaju organizacja pozwoli użytkownikom skupić się na aplikacjach i abstrahować procesy robocze, oddzielając je od niskopoziomowego środowiska systemowego i sprzętu.
Jako bazę dla „host OS” wykorzystano produkt SLE Micro, oparty na osiągnięciach projektu MicroOS. Dla centralnego zarządzania oferowane są systemy zarządzania konfiguracją Salt (zainstalowany) oraz Ansible (opcjonalnie). Do uruchamiania izolowanych kontenerów dostępne są narzędzia Podman i K3s (Kubernetes). Wśród komponentów systemowych przeniesionych do kontenerów znajdują się yast2, podman, k3s, cockpit, GDM (GNOME Display Manager) i KVM.
W systemie domyślnie stosowane jest szyfrowanie dysku (FDE, Full Disk Encryption) z możliwością przechowywania kluczy w TPM. Główny podział montowany jest w trybie tylko do odczytu i nie zmienia się podczas pracy. W środowisku stosowany jest mechanizm atomowej instalacji aktualizacji. W przeciwieństwie do atomowych aktualizacji opartych na ostree i snap, stosowanych w Fedora i Ubuntu, w ALP zamiast budowania oddzielnych atomowych obrazów i wdrażania dodatkowej infrastruktury dostarczania używa się standardowego menedżera pakietów oraz mechanizmu migawkowego w systemie plików Btrfs.
Podstawowe koncepcje ALP:
- Minimalizacja ingerencji użytkownika (zero-touch), zakładająca automatyzację podstawowych procesów wsparcia, wdrażania i konfiguracji.
- Automatyczne utrzymanie bezpieczeństwa i aktualności systemu (self-updating). Przewidziany jest konfigurowalny tryb automatycznej instalacji aktualizacji (na przykład można włączyć automatyczną instalację tylko poprawek krytycznych lub powrócić do ręcznego potwierdzania instalacji aktualizacji). Dla aktualizacji jądra Linux bez ponownego uruchamiania i przerywania pracy wspierane są patche na żywo.
- Automatyczne stosowanie optymalizacji (self-tuning) oraz utrzymanie odporności systemu (self-healing). System rejestruje ostatni stabilny stan i po zastosowaniu aktualizacji lub zmianie ustawień, w przypadku wykrycia anomalii, problemów lub zakłóceń w działaniu, automatycznie przywraca się do poprzedniego stanu, wykorzystując migawki Btrfs.
- Wielowersyjny stos oprogramowania. Izolacja komponentów w kontenerach pozwala na jednoczesne używanie różnych wersji narzędzi i aplikacji. Na przykład, można uruchamiać aplikacje korzystające z różnych wersji Python, Java i Node.js, separatownie niekompatybilne zależności. Podstawowe zależności dostarczane są w formie zestawów BCI (Base Container Images). Użytkownik może tworzyć, aktualizować i usuwać stosy oprogramowania, nie wpływając na inne środowiska.
W przeciwieństwie do SUSE Linux Enterprise, rozwój ALP początkowo prowadzi się z wykorzystaniem otwartego procesu rozwoju, w którym kompilacje pośrednie i wyniki testów są publicznie dostępne dla wszystkich zainteresowanych, co umożliwia osobom zainteresowanym śledzenie postępu pracy i uczestniczenie w rozwoju.
Źródło: opennet.ru
