Какова связь между Disnix и NixOps?

Один из проектов верхнего уровня nixos.org - Disnix, "распределенный расширение развертывания для Nix". Другой проект - NixOps - инструмент для развертывания машин NixOS в сети или облаке.

Эта функция очень похожа на звук. Являются ли они конкурентами или являются преемниками другого, или они решают разные проблемы? Если они являются "конкурентами", как они кажутся, то каковы различия и которые я должен использовать?

EDIT: если это указание, NixOps, похоже, находится в активной разработке, но Я не вижу, когда Disnix последний раз работал над.

Ответы

Ответ 1

NixOps - инструмент для "вращающихся" машин nixos. Подумайте: ec2 API.

Disnix - это набор инструментов для управления службами, запущенными в сети машин. Подумайте: Chef/Puppet для нескольких хостов.

Используя DisnixOS, они могут хорошо работать вместе, делегируя NixOps для создания экземпляров серверов и делегируя Disnix для настройки всех ваших сервисов на этих серверах.

Если вы просто развертываете на одном сервере или отношения между вашими сервисами просты, то NixOps, возможно, сделает все, что вам нужно. Если у вас несколько компьютеров, запуская несколько сервисов, которые все тонко взаимосвязаны... тогда вам понадобится Disnix/DisnixOS.

Ответ 2

Сандер ван дер Бург (автор Disnix) имеет довольно подробное сообщение в блоге, объясняющее отношение/различия.

Короткий ответ: хотя оба инструмента выполняют распределенное развертывание задач и использовать диспетчер пакетов Nix в качестве основного (локального) развертывания технологии, они предназначены для разных целей и адреса разные проблемы. Кроме того, они также могут быть эффективно использованы вместе для автоматизации процессов развертывания для определенных видов системы.

[...]

[Nixops] развертывает инфраструктуру, а [Disnix] выполняет сервис развертывание. Внедрение инфраструктуры - это необходимое условие для развертывание служб и оба инструмента могут быть фактически объединены для автоматизации обе проблемы.

Развертывание службы особенно полезно для распределенных систем, которые могут быть разложены на "распределяемые единицы" (например, ориентированные на обслуживание системы), но не все виды распределенных систем.

Кроме того, NixOps - это инструмент, специально разработанный для развертывайте конфигурации NixOS, в то время как Disnix может развертывать службы для машины, на которых запущена любая операционная система, способная запускать Nix менеджера пакетов.

Ответ 3

Мое лучшее предположение заключается в том, что Disnix находится в процессе замены NixOps. Это кажется правдоподобным, учитывая их совпадение в функциях и тот факт, что, похоже, он был оставлен, а другой активно поддерживается.