7

我们都知道 Puppet 和 Chef 是 IT 自动化领域的超级明星,它们是用 Ruby 开发的(尽管 Chef 11 服务器是用 Erlang 重写的)。

在我的工作环境中,有很大一部分运维团队使用 Python 作为主要语言来开发运维工具或基础系统应用程序。

我想知道为什么 Puppet 和 Chef 都是用 Ruby 编写的?有什么优势?Ruby 很好地支持 DSL。Python可以做这样的事情吗?

4

1 回答 1

20

来自 Puppet 的作者 Luke Kanies:

我是一名系统管理员,主要是在 perl 中开发,但是当我尝试编写我心中的原型时,我无法在 perl 中获得我想要的类关系。我尝试了 Python,因为那是在 2003 年左右,Python 是下一个新事物,每个人都在说它有多棒,但我似乎根本不会用 Python 编写。一位朋友说他听说 Ruby 很酷,所以我试了一下,在四个小时内,我从从未见过它的一行代码变成了一个可以工作的原型。从那以后我没有回头,也没有后悔过这个选择。

于 2013-05-24T03:34:21.593 回答