Puppet实战

为什么要写这本书

子曰:“工欲善其事,必先利其器。”作为系统管理员,最应该具备的一种技能就是利用各种优秀开源软件快速完成自己的工作,让自己变得更轻松。但并不是所有的软件都适合你,你需要根据自己的环境及需求进行选择。

Puppet就是系统管理员的一把利器。几年前我开始学习Puppet的时候,不少朋友都问我:为什么选择Puppet?它有什么优势?当时pssh、CFEngine等都已经很成熟,并且也能帮助系统管理员有效地解决繁重的工作。为什么还要选择Puppet?“需求决定产品”。Luke Kanies(Puppet作者,以下简称Luke)曾经全面参与了重写CFEngine的解析器和开发ISConf3的工作,但是他还是觉得现有的工具已经无法满足他的工作需求,需要自己创造一个全新的工具,才能彻底使他的工作更加高效、便捷。 这便是Puppet诞生的背景和原因。

Puppet注重设计简洁、先框架后应用两个中心思想。这也造就了Puppet今日的成功,它的“三板斧”——资源、类、模板,可以轻松地帮我们完成复杂的业务逻辑关系管理。同时,Puppet并不具备执行功能,因此在某些程度上存在短板,(比如exec是为解决特定系统管理员蹩脚的执行命令需求而开发的,但Luke一再强调不建议使用。)

或许更多的系统管理员抱怨Puppet没有命令执行功能。Luke早就考虑到了这一点,并提前收购了MCollective,采用消息型总线的中间件来实现命令执行、系统管理、Puppet客户端管理等,以弥补了Puppet在这方面的不足,可见Puppetlabs非常有远见。伴随着Puppet各子功能及扩展工具的遍地开花,Puppet的商业化及各种开源社区的支持,Puppet可谓是蒸蒸日上。

在新兴的同类工具中,我的另一个关注点是SaltStack,它天生具备命令执行和配置管理两大核心功能,相比Puppet来说有一定优势,但SaltStack的成长还需要我们耐心等待。Puppet打败1993年“出生”的老牌系统配置管理工具CFEngine就花费了近7年时间。而Puppet与Salt Stack真正鹿死谁手,我们拭目以待。相信以后的市场竞争会越来越激烈。

为了让更多的系统管理员了解并深入学习Puppet,可以利用Puppet的集成方案解决系统管理复杂而繁重的任务,而不是盲目地寻找问题,我觉得有必要结合自己在学习Puppet过程中走过的弯路将工作中的经验和总结以实战形式呈现给大家。我也希望更多的人能加入开源社区,拥抱开源,拥抱变化,通过学习Puppet,体会到与开源爱好者交流的乐趣,而不是为了工具选型而犹豫甚至争斗。这也是我写作本书的初衷。

本书技术深入而阅读简单,涉及系统管理员所需的很多方面的基础知识,同时通过穿插各种实例及代码详解以便使读者能够快速掌握Puppet,并迅速将其运用到工作环境当中。通过这样一本以系统管理员为核心的书,希望能给读者带来的不只是技术能力提升,更多的是开源与奉献精神。也希望更多的系统管理员通过多阅读、多交流,建立起享受分享的技术氛围。

刘宇(守住每一天)

于中国北京

本书节选了成书的部分章节(第1、2、3、6、11、15章节),如果需要阅读更多内容,请购买成书。

 

你可能感兴趣的:(Puppet实战)