Компания SUSE опубликовала третий прототип платформы ALP “Piz Bernina” (Adaptable Linux Platform), позиционируемой как продолжение развития дистрибутива SUSE Linux Enterprise. Ключевым отличием ALP является разделение базовой основы дистрибутива на две части: урезанную “host OS” для работы поверх оборудования и слой для поддержки приложений, ориентированный на запуск в контейнерах и виртуальных машинах. ALP изначально развивается с использованием открытого процесса разработки, при котором промежуточные сборки и результаты тестирования публично доступны всем желающим.
Третий прототип включает в себя две отдельные ветки, которые в текущем виде близки по начинке, но в будущем будут развиваться в направлении разных областей применения и будут отличаться предоставляемыми сервисами. Для тестирования доступна ветка Bedrock, ориентированная на использование в серверных системах, и ветка Micro, рассчитанная для построения облачных систем (cloud-native) и запуска микросервисов. Готовые сборки подготовлены для архитектуры x86_64 (Bedrock, Micro).
Дополнительно доступны сборочные сценарии (Bedrock, Micro) для архитектур Aarch64, PPC64le и s390x.
Архитектура ALP основана на развитии в “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.
Предусмотрен настраиваемый режим автоматической установки обновлений (например, можно включить автоустановку только исправлений критических уязвимостей или вернуться к ручному подтверждения установки обновлений). Для обновления ядра Linux без перезапуска и приостановки работы поддерживаются live-патчи. Для поддержания живучести системы (self-healing) осуществляется фиксация последнего стабильного состояние при помощи снапшотов Btrfs (в случае выявление аномалий после применения обновлений или изменения настроек система автоматически переводится в предыдущее состояние).
В платформе применяется многоверсионный программный стек – благодаря применению контейнеров можно одновременно использовать разные версии инструментов и приложений. Например, можно запускать приложения, использующие в зависимостях разные версии Python, Java и Node.js, разделяя несовместимые между собой зависимости. Базовые зависимости поставляются в форме наборов BCI (Base Container Images). Пользователь может создавать, обновлять и удалять программные стеки не затрагивая другие окружения.
Для установки применяется инсталлятор D-Installer, в котором пользовательский интерфейс отделён от внутренних компонентов YaST и имеется возможность использования различных фронтэндов, в том числе фронтэнда для управления установкой через web-интерфейс. Поддерживается выполнение клиентов YaST (bootloader, iSCSIClient, Kdump, firewall и т.п.) в отдельных контейнерах.
Основные изменения в третьем прототипе ALP:
- Предоставление заслуживающего доверия окружения (Trusted Execution Environment) для конфиденциальных вычислений, позволяющее безопасно обрабатывать данные с использованием изоляции, шифрования и виртуальных машин.
- Применение аппаратной и runtime аттестации для проверки целостности выполняемых задач.
- Базис для поддержки конфиденциальных виртуальных машин (CVM, Confidential Virtual Machine).
- Интеграция поддержи платформы NeuVectorдля проверки безопасности контейнеров, определения наличия уязвимых компонентов и выявления вредоносной активности.
- Поддержка архитектуры s390x в дополнение к x86_64 и aarch64.
- Возможность включения на этапе инсталляции полнодискового шифрования (FDE, Full Disk Encryption) с хранением ключей в TPMv2 и без необходимости ввода парольной фразы во время первой загрузки. Эквивалентная поддержка как шифрования обычных разделов, так и разделов LVM (Logical Volume Manager).