22

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

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

编辑:如果有任何迹象,NixOps 似乎正在积极开发中,但我看不到 Disnix 上次工作的时间

4

2 回答 2

15

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

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

使用DisnixOS(查看最新版本),两者可以很好地协同工作,委托给 NixOps 来实例化服务器,委托给 Disnix 来配置这些服务器上的所有服务。

如果您只是部署到单个服务器或者您的服务之间的关系很简单,那么 NixOps 可能可以完成您需要的一切。如果您有多台机器,运行多个相互微妙相关的服务……那么您将需要 Disnix/DisnixOS。

于 2014-03-30T14:24:59.667 回答
5

Sander van der Burg(Disnix 的作者)有一篇相当详细的博客文章解释了关系/差异。

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

[...]

[Nixops] 进行基础设施部署,而 [Disnix] 进行服务部署。基础设施部署是进行服务部署的先决条件,实际上可以结合使用这两种工具来自动化这两个问题。

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

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

于 2018-01-22T03:18:44.430 回答