Advanced Puppet 系列的前言
什么是Advanced
在网络上,你能找到大量关于Puppet的安装,配置以及基础用法的文章和博客。你在通过一段时间的实战后,熟练掌握了Puppet基础用法,随着你管理的集群日益扩大,你的部署逻辑越来越复杂,当你打算使用到一些Puppet高级用法时,当你想要对puppet代码写测试用例时,当你希望对Puppet进行性能调优时,当你想构建中心化的Puppet集群时,当你计划使用puppet构建完整的开发时,测试和线上环境,当你思考Puppet能否实现线上服务的灰度发布时...却发现几乎找不到这样的资料。
这些经验是需要时间去积累和摸索的,恰巧我学习puppet的时间较早,一直在负责管理线上复杂的业务逻辑,并且持续参与开源社区的开发工作,这也是我计划写一个关于Puppet进阶使用系列,希望通过这个Advanced Puppet系列来分享我在Puppet领域上的一点经验,当然我的水平有限,若有疏漏之处,恳请指正。
克服惰性
每个人都有惰性,我也不例外,过去看过我博客的同学会发现我是一个经常会把文章变成太监的人 LOL。从最早协作导师编写的用于南方科大CS课程的MIT&Pudure的Python编程系列,到研二时突然着迷的自然语言处理NLTK学习笔记,到在新浪实习时Openstack对象存储项目Swift的学习笔记都无一善始善终。曾经答应给图灵编辑写的Puppet文章,也只交了一篇稿之后就没有下文了。
我把最主要的原因归结为太忙,每逢老大催写博客或者编辑催稿,我就以忙为理由推卸,这招很管用,因为我确实很忙:内部持续交付系统需要不断地完善和维护,Openstack服务和UOS服务地部署逻辑在不断更新,开发环境和测试环境需要持续维护,同僚的代码审查,包维护,新版本的频繁发布和大版本升级,服务切换,故障处理,新region的上线,还有开源社区的开发,讨论和代码审查...每天到公司里就一直忙到下班,晚上走出健身房的时候已经是华灯初上了,回到家中洗完澡躺在床上,浏览一会一直关注的摄影网站,接着继续工作,因为手头永远有做不完的活,稍有空闲的时候打开自己一直参与的开源社区邮件列表,社区的代码审查系统,每周一的深夜还要在IRC上参加例会到凌晨。
每次睡觉前,我一躺下就能看到墙上的那张便签:每天坚持写blog。我一直是10000小时定律的拥甭,曾在毕业时写了一篇文章来鼓励自己,待到2015年7月份,我能在某个小领域内略有小成,现在14年都已过去一半,可今年写的博客屈指可数,艾,惭愧得无地自容。
经过几天的思考后,我打算就从Advanced Puppet系列开始,争取定期交付数篇高质量的文章,给过去的这段时光里自己在Puppet上所积累的经验做一个总结。
废话不多说,诸君骇视而拭目。