Оценка плюсов и минусов при переходе Debian на systemd или upstart

Два участника Технического комитета Debian, которому делегировано принятие решения по выбору системы инициализации для будущего выпуска, представили отчёты с анализом целесообразности выбора systemd или upstart. Ян Джексон (Ian Jackson), автор dpkg, в прошлом работавший в компании Canonical, выступил в пользу перехода на upstart. Расс Олбери (Russ Allbery), отвечающий за сопровождение ряда подсистем Debian, попытался доказать необходимость перехода на systemd.

Доводы в пользу upstart:

  • Upstart более прост для портирования на системы, отличные от Linux, в то время как systemd очень жестко завязан на возможностях ядра Linux. Адаптация Upstart для работы в Debian GNU/kFreeBSD и Debian GNU/Hurd выглядит вполне реальной задачей, что нельзя сказать о systemd;
  • Upstart более привычен для разработчиков Debian, многие из которых по совместительству участвуют в разработке Ubuntu. Два члена Технического комитета Debian (Steve Langasek и Colin Watson) входят в состав группы разработчиков Upstart.
  • Upstart проще и легковеснее systemd, как следствие, меньше кода - меньше ошибок;
  • Upstart лучше подходит для интеграции c кодом системных демонов. Политика systemd сводится к тому, что авторы демонов должны подстраиваться под upstream, вместо того чтобы upstream предоставлял комфортные средства для разработчиков демонов.
  • Upstart проще в плане поддержания и сопровождения пакетов;
  • Сообщество разработчиков Upstart более открыто для совместной работы. В случае systemd придётся принимать методы systemd как должное и следовать им, например, поддерживать отдельный раздел "/usr" или использовать только абсолютные пути для запуска.
  • Недостатки Upstart относятся к категории поправимых проблем;
  • В текущем состоянии Upstart уже полностью готов для использования в Debian 8.0 (Jessie);
  • В Upstart более привычная модель определения конфигурации сервисов, в отличие от systemd где настройки в /etc перекрывают базовые параметры настройки юнитов, определённые в иерархии /lib.
  • Использование Upstart позволит поддержать здоровый дух конкуренции, который будет способствовать развитию различных подходов и будет держать разработчиков в тонусе.
  • Systemd слишком монолитен и не предоставляет возможность выбора, поставляя изначально заданный набор базовых сервисов (например, замену cron, syslog, inetd), в то время как Upstart больше соответствует позиционированию системы инициализации как связующей прослойки между различными программными проектами.

Доводы в пользу systemd:

  • Systemd опережает Upstart по возможностям и продуманности архитектуры. Без существенность переработки архитектуры Upstart не сможет догнать systemd по функциональности.
  • Systemd содержит достаточно самодостаточный набор компонентов, что позволяет сосредоточить внимание на устранении проблем, а не доработке конфигурации с Upstart до возможностей, уже присутствующих в Systemd. Например, в Upstart отсутствуют: поддержка детального статуса и ведения лога работы демонов, множественная активация через сокеты, активация через сокеты для IPv6 и UDP, гибкие средства ограничения ресурсов.
  • Использование systemd позволит сблизить между собой и унифицировать средства управления различными дистрибутивами. На systemd уже перешли Fedora, openSUSE, Sabayon, Mandriva, Arch Linux, кроме того systemd будет применён в будущих выпусках RHEL и SUSE Linux.
  • У systemd более активное, крупное и разноплановое сообщество разработчиков, в которое входят инженеры компанией SUSE и Red Hat;
  • При использовании upstart дистрибутив становится зависим от Canonical, без поддержки которой upstart останется без разработчиков и будет обречён на стагнацию (невозможно предугадать останется Ubuntu на upstart или нет).
  • Компания Red Hat не без повода решилась на замену upstart на systemd. Существует опасение, что перейдя на upstart проект Debian наступит на те же грабли и через 2-3 года вынужден будет мигрировать на systemd.
  • Для реализации некоторых возможностей загрузки в Upstart требуется использовать фрагментов shell-скриптов, что делает процесс инициализации менее надёжным и более трудоёмким для отладки.
  • Поддержка systemd реализована в GNOME и KDE, которые все более активно используют возможности systemd (например, средства для управления пользовательскими сеансами и запуска каждого приложения в отдельном cgroup). GNOME продолжает позиционироваться в качестве основного окружения Debian, но отношения между проектами Upstart и GNOME имеют явно напряжённый характер.


Источник:
http://www.opennet.ru/opennews/art.shtml?num=38762

<= Назад
Комментарии
]]> ipv6 ready Kiev LUGLinux4MeНостальгияЛичный сайт skeletora ]]>