Идея в том, чтобы в «host OS» развивать минимальное окружение, необходимое для поддержки и управления оборудованием, а все приложения и компоненты пространства пользователя запускать не в смешанном окружении, а в отдельных контейнерах или в виртуальных машинах, выполняемых поверх «host OS» и изолированных друг от друга. Подобная организация позволит пользователям сфокусировать внимание на приложениях и абстрагировать рабочие процессы, отделив их от низкоуровневого системного окружения и оборудования.
В качестве основы для «host OS» задействован продукт SLE Micro, основанный на наработках проекта MicroOS. Для централизованного управления предлагаются системы управления конфигурацией Salt (предустановлена) и Ansible (опция). Для запуска изолированных контейнеров доступны инструментарии Podman и K3s (Kubernetes). Среди системных компонентов, вынесенных в контейнеры, присутствуют yast2, podman, k3s, cockpit, GDM (GNOME Display Manager) и KVM.
Из особенностей системного окружения упоминается использование по умолчанию дискового шифрования (FDE, Full Disk Encryption) с возможностью хранения ключей в TPM. Корневой раздел монтируется в режиме только для чтения и не меняется в процессе работы. В окружении применяется механизм атомарной установки обновлений. В отличие от атомарных обновлений на базе ostree и snap, используемых в Fedora и Ubuntu, в ALP вместо построения отдельных атомарных образов и развёртывания дополнительной инфраструктуры доставки применяются штатный пакетный менеджер и механизм снапшотов в ФС Btrfs.
Основные концепции ALP:
- Минимизация вмешательства пользователя (Zero-Touch), подразумевающая автоматизацию основных процессов сопровождения окружения, развёртывания и настройки.
- Автоматическое поддержание безопасности и нахождения системы в актуальном состоянии (self-updating). Предусмотрен настраиваемый режим автоматической установки обновлений (например, можно включить автоустановку только исправлений критических уязвимостей или вернуться к ручному подтверждения установки обновлений). Для обновления ядра Linux без перезапуска и приостановки работы поддерживаются live-патчи.
- Автоматическое применение оптимизаций (self-tuning) и поддержание живучести системы (self-healing). Система фиксирует последнее стабильное состояние и в случае выявление проблем или нарушения поведения после применения обновлений или изменения настроек автоматически переводится в предыдущее состояние, используя снапшоты Btrfs.
- Многоверсионный программный стек. Изоляция компонентов в контейнерах позволяет одновременно использовать разные версии инструментов и приложений. Например, можно запускать приложения, использующие в зависимостях разные версии Python, Java и Node.js, разделяя несовместимые между собой зависимости. Базовые зависимости поставляются в форме наборов BCI (Base Container Images). Пользователь может создавать, обновлять и удалять программные стеки не затрагивая другие окружения.
В отличие от SUSE Linux Enterprise развитие ALP изначально ведётся с использованием открытого процесса разработки, при котором промежуточные сборки и результаты тестирования публично доступны всем желающим, что позволит заинтересованным лицам отслеживать проводимую работу и принимать участие в разработке.
Источник: http://www.opennet.ru/opennews/art.shtml?num=57872