【问题标题】:What is the relationship between Disnix and NixOps?Disnix 和 NixOps 是什么关系?
【发布时间】:2014-03-14 06:02:30
【问题描述】:

nixos.org 上的顶级项目之一是Disnix,“Nix 的分布式部署扩展”。另一个项目是NixOps,“用于在网络或云中部署 NixOS 机器的工具”。

功能集听起来非常相似。他们是竞争对手,还是一个接班人,或者他们正在解决不同的问题?如果他们是“竞争对手”,就像他们看起来的那样,那么有什么区别,我应该使用哪个?

编辑:如果有任何迹象,NixOps appears to be under active development,但I can't see when Disnix was last worked on

【问题讨论】:

标签: nixos


【解决方案1】:

NixOps 是一种用于“启动”nixos 机器的工具。 想想:ec2 API

Disnix 是用于管理在机器网络上运行的服务的工具集。 想想:多台主机的 Chef/Puppet

使用DisnixOS(请参阅the latest builds),两者可以很好地协同工作,委托给 NixOps 来实例化服务器,并委托给 Disnix 来配置这些服务器上的所有服务。

如果您只是部署到单个服务器,或者您的服务之间的关系很简单,那么 NixOps 可能可以满足您的所有需求。如果你有多台机器,运行多个服务,这些服务都微妙地相互关联......那么你会想要 Disnix/DisnixOS。

【讨论】:

  • 使用 Disnix 与使用 Ansible/Chef/Puppet 之类的东西来管理 NixOS 机器的优势/劣势是什么?
  • 这似乎不对。 NixOps 非常适合 NixOS 机器的配置管理。我不会将它用于状态管理,但在 NixO(p)S 上以声明方式很好地管理了很多内容,包括服务。我什至正在根据整个部署的配置计算 Prometheus 的配置。
【解决方案2】:

Sander van der Burg(Disnix 的作者)有一个 rather detailed blog post 解释关系/差异。

简短的回答是:虽然这两种工具都执行分布式部署 任务并使用 Nix 包管理器作为底层(本地)部署 技术,它们是为不同的目的和地址而设计的 不同的担忧。此外,它们还可以有效地使用 一起自动化某些类型的部署过程 系统。

[...]

[Nixops] 负责基础设施部署,而 [Disnix] 负责服务 部署。基础设施部署是做事的先决条件 服务部署和这两种工具实际上可以结合起来实现自动化 两个问题。

服务部署对于分布式系统特别有用 可以分解成“可分发的单元”(如面向服务的 系统),但不是所有类型的分布式系统。

此外,NixOps 是一种专门设计用于 部署 NixOS 配置,而 Disnix 可以将服务部署到 运行任何能够运行 Nix 的操作系统的机器 包管理器。

【讨论】:

    猜你喜欢
    • 2013-06-14
    • 2018-02-16
    • 2020-05-04
    • 2020-01-08
    • 2015-01-13
    • 2017-11-06
    • 2015-07-09
    • 2010-11-30
    相关资源
    最近更新 更多