码头工人,木偶,厨师和流浪汉有什么区别?


回答 1:

凤凰计划

配置管理

  • up:这种解决方案似乎主要吸引几乎没有开发背景的运营团队。 它非常成熟,但是在使用Puppet Master(状态服务器来跟踪您的基础结构)时,无法扩展到大约1000台配置的计算机。 虽然可以使用Ruby语言来扩展Puppet,但这并不是一件容易的事。 Puppet很难被掌握。Chef:此解决方案最能引起团队的共鸣,这些团队虽然不是开发人员,但熟悉单元和集成测试,使用源代码控制和其他开发人员工具。 Chef也非常成熟,并且由于Facebook的采用而在大规模工作中做出了贡献。 Chef从头开始设计,可以轻松地使用Ruby语言进行扩展。 因此,虽然它是由DSL驱动的,但是扩展DSL是一件简单的事情,不需要一个人来组装Chef软件本身。 Chef很难学习,尽管融合运行的异常冗长的输出使问题的识别和纠正变得容易。Ansible:此解决方案是迄今为止最简单的系统,并且对一线开发人员非常有吸引力,这些开发人员通常会在公司运营人员中脱颖而出。 它是用Python编写的,因此对Python社区具有一定的吸引力。 如果您是第一次考虑配置管理并且需要轻松解决问题,那么Ansible是一个不错的起点。我对Salt Stack和CF Engine并不熟悉。

码头工人

流浪汉

DevOps Delight-ChefDk,Chef-Zero和Vagrant

Docker 101-01-Docker开发环境

结论


回答 2:

关于每种服务都有大量的详细信息,因此我将仅介绍基础知识。

Vagrant是一个虚拟机,使用另一个服务(例如VirtualBox或AWS)作为其提供程序。 您可以使用Vagrant启动许多不同类型的虚拟环境,但是最常见的是Linux服务器。

Docker不是一个成熟的虚拟机,而是一个容器。 Docker使您可以在特定的虚拟环境中运行服务/服务器的实例。 一个很好的例子是在Ubuntu Linux上使用Ruby on Rails运行Docker容器。

Puppet和Chef都是允许您编写脚本以快速配置服务器(包括Vagrant和/或Docker实例)的语言。 您无需使用Puppet或Chef来设置这些服务,但是有时它们可​​以是一种快速的方法。


回答 3:

我想您可以轻松地将它们分为2组:

-类似的VM:Docker和Vagrant

-自动化工具:人偶,厨师,Ansible和盐

为什么?

在使用自动化工具之前,需要使用Vagrant,VM或Docker准备好基础设施(例如:3个ubuntu,1个mac,1个窗口)。

Docker和Vagrant是可帮助您虚拟化操作系统层(网络,操作系统等)的工具。 它们利用资源的方式不同。

相反,自动化工具可以帮助您在多台计算机上自动化无聊的bash命令集。