Guix: унификация подготовки, развертывания и управления в эпоху контейнеров

guixунификацияподготовкиразвертыванияиуправлениявэпохуконтейнеров

Этот доклад будет отражать то, что GNU Guix может предложить пользователям, и его сравнение с другими подходами – от CONDA и pip до Flatpak и Docker. Guix – это не только диспетчер транзакционных пакетов и декларативный дистрибутив GNU / Linux: это также диспетчер среды, инструмент подготовки контейнеров и многое другое. Мы опишем эти инструменты и наш путь к 1.0, подчеркнув ключевые свойства, которые отличают Guix: воспроизводимость, прозрачность и возможность взлома.

Когда дело доходит до развертывания программного обеспечения, мы привыкаем к новое распределение ролей между многими участниками: традиционные дистрибутивы заботятся об основных частях программного обеспечения, «пакеты приложений» в стиле Docker / Flatpak предоставляют сложные приложения, Cabal, Gem, npm, pip и друзья заботятся о программном обеспечении для конкретного языка, а Puppet / Ansible все это организует. У каждого из этих инструментов есть свое оправдание, но конечный результат – сложный лабиринт.

В этом докладе я представлю GNU Guix, набор инструментов для развертывания программного обеспечения и связанный с ним дистрибутив, который включает транзакционные обновления и откаты, декларативное развертывание ОС, вдохновленное Nix, и воспроизводимые сборки. Я покажу, как Guix подходит к различным вариантам использования: «управление пакетами» à la apt-get, управление средой à la VirtualEnv, декларативное развертывание ОС в стиле Ansible и подготовка контейнеров как Docker.

Guix делает упор на программируемость, и одна из его характерных особенностей состоит в том, что он предоставляет унифицированную среду программирования схем для имеют дело со всеми аспектами конфигурации, развертывания и управления системой, включая управление сервисами с помощью PID 1. Я проиллюстрирую, как это работает на автономных системах Guix, и покажу преимущества этого подхода, обсудив приложения, которые используют преимущества Guix как библиотека для поддержки воспроизводимого развертывания программного обеспечения.

Наконец, я будет размышлять о пути, который привел к Guix 1.0 шесть месяцев назад, и представит некоторые из предстоящих проблем.

Динамики

Вложения

Ссылки