vagrant和juju有什么区别?


10

他们都解决相同的问题吗?还是他们遇到两种不同的问题?如果是这样,那么我最好使用流浪者,而更好地使用juju?

Answers:


19

快速版本:

vagrant是用于处理virtualbox实例的工具。这通常在开发期间(在Mac上)用于将您的应用测试部署到虚拟机中,这些虚拟机看起来更像最终的生产(即linux)环境。它具有可自定义的(红宝石)处理程序堆栈,可以按您希望的方式创建这样的虚拟环境。Vagrant是一种功能强大的工具,可通过编程方式管理虚拟环境,并提供了各种类型的连续集成式开发技术的“本地”变体。它最常用于在Mac上运行Ubuntu VM,但将在各种平台上运行并部署各种目标操作系统。Afaik,它仅与virtualbox作为底层“提供者”一起使用。

juju是使用各种不同的基础提供程序来编排服务的工具:ec2云,openstack云,lxc VM和MaaS服务器。它与流浪汉有一个“本地开发”的故事(使用lxc容器而不是virtualbox VM),但这实际上是唯一的重叠。实际上,我希望看到为juju编写的无业游民提供程序,因此juju可以像驱动云和lxc映像一样轻松地在本地环境上驱动virtualbox容器。那很适合!此外,juju确实从可直接使用的魅力/服务集中获得了很大的价值,而流浪汉本质上是一个较低级别的本地容器提供商。

实际上,我们为Juju提供了一个Vagrant框,以便用户可以在VM内测试本地提供程序:

注意这里一直在努力,“统一”部署脚本各地流浪者,使同一脚本可以用来部署到云实例以及流浪汉框。这些似乎主要是无所适从的助手,并且坦率地强调需要使用juju这样的工具。


1

作为“统一围绕vagrant的部署脚本”,Vagrant具有与Puppet和Chef的出色集成,可用于跨环境(从Vagrant盒到本地硬件再到云)自动化系统配置。实际上,许多人在生产前使用Vagrant来测试其Puppet / Chef脚本。

将Juju添加到与Vagrant一​​起使用的自动化工具列表中肯定会很好。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.