近日, Adobe 向社区发布了 Puppet recipes ,该工具用于自动化 Hadoop/HBase 的部署工作。InfoQ 有幸采访到了 PuppetLabs 的创建者 Luke Kanies 以了解更多信息。
Puppet 是个开源的数据中心自动化工具, InfoQ 早在今年 2 月就报道过。很多中小公司都使用过 Puppet,此外像 Google 、 Digg 和 Sun/Oracle 等大公司的基础设施中也 经常出现 Puppet 的身影。
Hadoop 是 Apache 软件基金会的开源项目。它使用 Java 编写,提供了用于处理海量数据的可伸 缩、分布式的框架。其灵感来自于 Google 的 MapReduce ,现在很多需要处理千兆字节数据的公 司都在使用 Hadoop,如 Facebook 和 Twitter 。
Adobe 发布的 Puppet recipes 可以自动化 Hadoop/HBase 的部署工作。InfoQ 有幸采访到 Puppetlabs(Puppet 背后的公司)的创建者 与领导 Luke Kanies 以了解更多信息。Luke 重点谈到了与 Adobe 发布 Puppet recipes 这一事件相关的 3 个事实:
- 像 Adobe 这样的大公司正使用 Puppet 管理着关键基础设施
- 他们正使用 Puppet 管理着传统与现代化的基础设施
- 他们看到了借助于 Puppet 所创建的协作解决方案的真正价值
很多大公司说他们使用开源项目不仅对于从事着开源项目的人来说是很重要的,对于那些想要在基础设施中集成开源组件的人来说也非常重要。在被问到对于企业使用开源项目的看法时,Luke 说到:
根据我的经验来看,大多数企业都很热衷于开源。当然了,我的经验对于那些热衷于购买开源服务与支持的公司来说还是有失偏颇的,尤其是那些使用开源软件替换掉非功能性软件的公司。 我知道在 5——10 年前,使用 Puppet 的很多公司并不是那么严重地依赖于开源软件,但现在的市场发生了翻天覆地的变化。
有业务支撑的开源公司对于开发者和消费者来说都是好事。在被问到 Puppet 的发展过程时,Luke 说到:
对于 Puppet 来说,与众不同的是项目与公司是同时成立的,这是由我的咨询经验决定的。我知道如果项目不够好而负担不起我的日常开支,那么它也无法满足别人的要求;如果我的生存状况不受项目质量的影响,那么我也没有动力把项目做到完美。假设系统管理员更加关注 Puppet 项目,那么它就不会像开发者所关注的项目那样得到人们更多的贡献,因此 Puppet Labs 的支持是非常重要的。
使用 Hadoop 的开发者们经常要处理海量数据,但 Hadoop 也找到了适合自己的教育路线,那就是走进大学。在被问到是否会有很多中小公司使用 Puppet recipes for Hadoop 时,Luke 说到:
我认为 Puppet 模块的存在会使得 Hadoop 更加适合于这些小公司。没有完整的自动化手段,部署与管理 Hadoop 的代价是相当高的,但借助于简单的部署与管理手段,整个项目的花费都会得到极大的降低,因此 Puppet 不仅适合于大公司,中小公司也同样适用。
大公司的自动化机制是很健全的,但小公司则担心起步时在配置管理、自动化和部署上面的代价。Luke 就如何使用 Puppet 给出了一些建议:
在开始使用 Puppet 时,我强烈建议从自动化那些痛苦的事情开始:那些让你在夜晚还不停查阅资料的事情、会导致很多麻烦的事情、会浪费你大量时间的事情。实际上,这些事情并非真的那么复杂,但会浪费你的时间,进而会导致更大的痛苦。 大多数 Puppet 用户都会从小步实施开始:管理一小部分机器。比如说,我们通常会与公司的各个部门或是分支机构签署支持协议,只有当 Puppet 的部署规模增大后才会拓展该支持协议。
关于使用 Puppet 部署 Hadoop,首先要做的显然是找到 Hadoop 能解决的问题。但我认为先构建一个 Puppet 部署以自动化 Hadoop 也是完全可行的:如果知道要用 Hadoop,但却没有使用 Puppet,那么就不能说 Puppet 可以管理 Hadoop 部署。我见过不少公司构建了针对特定需求的 Puppet 基础设施。这种成功案例会提升 Puppet 的使用率,但只有在解决掉最初的问题后才能这么说。
对 Puppet 感兴趣的 InfoQ 读者可以访问 Puppet Module Repository 以了解 Puppet 用户是如何解决问题的。可以在 http://groups.google.com/group/puppet-users Google Group 上提问并与其他 Puppet 用户讨论。PuppetCamp Europe 最近还发布了几个视频与幻灯片,想要探索Puppet 的用户可以通过这些资源加深对Puppet 的理解。
评论