电子邮件营销公司Constant Contact表示,它选择使用Puppet实验室的Puppet配置管理和自动化框架,以助其在两年内将服务器数量由数百台提升至数千台的规模。
如果一切按计划进行,这种趋势将继续下去,因为公司在不断成长,还会不断添加卡桑德拉(Cassandra)分布式数据库集群等新的应用。
“我们预计我们的服务器容量每六个月会增长三分之一,”Mark Schena说到。他是Constant Contact公司系统自动化部门的经理。“这不只是我们的乐观估计(而是将要实际发生的事)。”
该公司两年前开始研究开放源代码的配置管理工具,当时他们已经意识到手动过程无法跟上公司的增长步伐。除Puppet外,它还考虑了较为古老的Cfengine 和Capistrano,以及较新的Opscode Chef。Schena说,当时的Opscode Chef尚不成熟。
Schena说,除了Chef尚不成熟之外,Constant Contact公司倾向于Puppet语言的原因还在于它的简单。Puppet支持更多平台,包括传统的Unix簇系统如Solaris;而当时的Chef只能在有限的几个Linux发现版上运行。此外,Schena说,他感觉使用Puppet创建依赖映射图更加容易,更能保证程序以正确的顺序运行。
完全地“puppet化”
Schena表示,如今,Constant Contact所有的产品服务器都已经“Puppet化”了,这意味着所有的改变都是通过客户端运行的代理程序生效。Puppet“配置单(Manifest)”由中央Puppet“主服务器(Master)”维护,可通过客户端的代理程序修改。
同时,Puppet的使用也帮助Constant Contact公司建立了DevOps式的开发环境——这是一种敏捷开发(Agile Development)方法的演变,强调快速地代码发布、配置管理、自动化和版本控制,加强了开发者和项目组之间的交流。
传统的概念如“开发”、“进度”、“质量保证(QA)”和“产品”等“对我从不适用”,Schena如此说到。在传统模型下,开发者独立于项目组,艰苦开发数月,再将成果送往质量保证和产品部门。然后就是,“祈祷好运,希望代码能正常工作。”
在DevOps式的工作环境中,“我们所有人最开始都会参与其中,所有的工作都通过Puppet进行”,最后完成版本控制,以便于一旦发生问题,还有可能恢复到出问题之前的状态。
最后,Schena报告说,使用Puppet并遵守DevOps原则,能帮助减少员工人数、新产品交付时间,并能使开发工作更加顺利。
配置管理与云计算
一般来说,配置管理工具会受到热烈的欢迎。
Bob Plankers是中西部规模较大的一所大学的系统管理员。他说,在改用红帽企业版Linux系统第六版(RHEL 6)时,他采用了Cfengine-3软件。他的许多同行业也都这么做。
“我们之前就一直想这么做,(改用RHEL6)正好是一个这么做的好时机,因为你可以从头开始,而不用对已有系统进行转换,”Plankers说。
Plankers说,在他的工作中,Cfengine和配置管理软件所要面对的问题在很大程度上就是一份文件。因为所有的修改都是通过配置管理工具完成的,所以要捕捉到配置的改动很容易。
“管理层多年来一直试图解决这个文件问题,要求我们将所做的一切都记录到文档中,”他说。“于是我们的所有服务器都有了wiki,而且我们也喜爱我们的wiki,但问题是这些wiki就是权威的了吗?不是。”
此外,随着IT产业向云计算迈进,Plankers预测配置管理工具将会更加流行。
“使用虚拟化技术后,剩下的就是硬件和整合问题,但是对于云计算,关键问题在于数据处理(process),”他说。结合了云计算技术后,配置管理系统成为“节省时间的利器,和一种更有效地使用云计算的方式。”
原文:http://www.searchsv.com.cn/showcontent_46675.htm
【编辑推荐】