文章目录
  1. 1. 记一次北京之旅:一场颠覆性的技术专题演讲
    1. 1.0.1. 一、dhgate自动化构建与发布实践
    2. 1.0.2. 二、私人定制
    3. 1.0.3. 三、小米的运维系统
    4. 1.0.4. 四、奇虎Hulk

记一次北京之旅:一场颠覆性的技术专题演讲

应51CTO之邀,上周六在北京WOT进行一次Puppet主题演讲,同时担任自动化运维专场主持人。话说,这是我第一次担任主持人,奇怪的是,没觉得自己无法胜任?

登上北上的灰机前,我还特意查了下京城的天,木有雾霾,好得不得了。尽管下灰机时还能看见远处的灰尘,不过已经不重要啦。吸了两口氧,嗯,木有烧烤的味道,赞。<不能再黑了>

”回到老地方“,离京差不多有2个月了,第一回京有种说不出的感受,还是老模样,熟悉的味道;由于时间安排非常紧,因此也就只在二个地方停留了:双井、机场。不对,漏掉了重要环节,德亮兄开着他那高大帅气的”自行车“去机场接我去360观摩他新的平台:Hulk云平台。(PS:新版用户交互体验被我批了一顿,嘿嘿!我就不会说好话。)

回珠海后先换装跑了三公里,因此只有今天有空来码码字,却无从下手。打开邮箱,收到如下邮件:

”@刘宇:可以叫你“交际花”吗?你完全颠覆了我对ITer的印象!作为讲师+主持人的你,除了在准备课程之外,还通过各种方法来增加与用户间的互动,主动的和场内的每一个讲师在会前沟通演讲内容,提出建议。“

登上QQ,收到一个评价:”嗯,其它大家感觉广告重,自动化运维是很不错,大家都说刘宇是见过最好的主持。“

开心了,灰常的开心。

但,”交际花“真心谈不上,@程显峰老师看到后,会K我滴,狠狠滴K。感叹的事,没有聚上的事,暂且不谈,今天跟大家聊聊”自动化运维专场“里发生的那点破事。

会议安排:7月26日下午
|13:30-14:15|Puppet企业应用技巧|刘宇|金山西山居 架构师,《Puppet实战》一书作者,Linuxtone.org创始人之一|
|14:15-15:00|奇虎运维自动化升级之路|孔德亮|360高级技术经理|
|15:00-15:10|茶歇时间|
|15:10-15:55|运维自动化的私人订制|邵海杨|又拍云运维总监|
|15:55-16:40|小米运维系统从无到有的构建之路|黄继|小米科技高级运维研发工程师|
|16:40-17:25|dhgate自动化构建和发布实践|孙宝明| 敦煌网研发中心架构部负责人|

作为主持人的我,需要了解所有人的演讲内容及重点,在拜读了各位嘉宾的PPT后,第一个感叹就是:会议安排要是可以临时调整,这场效果会更佳。我先来说说理由。

第一场:工具,配置管理工具;第二场:平台,私有云平台+产品观众;第三场:实施,将自动化运维的思想利用工具进行落地;第三场:发展,一个系统的发展之路,都运用了何种工具来实现;第四场:工具,CI工具,也就是我们所熟知的Jenkins。

如果能把顺序调整为:Jenkins —> Puppet —> 从无到有构建系统 —> 私人订制 —> 云平台 。Perfect! (内心:下次有机会,就得这么搞)

还是先来看看现场的群众表现吧:
people

再来看看演讲嘉宾的风采:
teacher

不管如何,还是成功了。其中,还包括我那销魂的背影:
back

给大家来点技术总结吧:

  1. Jenkins是CI里的最优秀的工具,敦煌网孙宝明将它运用得淋漓尽致,并将它与其它系统完美地结合到了一起。
  2. Puppet不是万能的工具,但做为配置管理工具,它一直是那么地兢兢业业,交给它的事,一定能完成任务并不出差错。
  3. 要构建一个宏大的运维系统,离不开优秀的工具和开发人员,小米从DB-Tree-tag-start-configure-monitor-app一条龙上做得非常极致。
  4. 私人定制,定制属于你自己的运维系统,没有最好的,只有最适合自己的,让人像架构一样可扩展,相信通过海洋的实战学习你能打造出自有的系统。
  5. 做系统也好,平台也罢,都需要有产品观,奇虎的Hulk就是这么打造而来,先把流程跑通,快速试错。而新系统除了华丽的外表,还有实在的便捷。

以上是技术总结吗? 咋越看越不像。。。继续

一、dhgate自动化构建与发布实践

技术选型:

  • Spring MVC+Hibernate+Mysql 实现web界面、交互
  • Shell script实现服务起停、状态检查、配置替换、发布日志
  • Python script实现构建版本信息、二进制包拷备
  • Nginx作软件包的文件服务器-稳定、强大

整体个流程大体如下:代码存放在SVN中进行管理,统一采用Jenkins中进行Build(保持构建版本与发布版本的一致),将替换配置文件在Deploy/start/runtime时进行,采用多个环境与灰度发布进行自动快速发布,最后配合一定的流程与规范来保证快速有效。系统设计图如下:
dhgate

二、私人定制

  • 运维三剑客:bash awk sed
  • 全代码完整打包,更方便部署
  • 提供shell非交互式的命令控制
  • 读懂程序本质,并动态生成配置文件
  • Ansible+Puppet的完美结合
  • 监控的常态化、性能可视化、破解运维魔咒
  • redmine + Gitlab

upyun

三、小米的运维系统

尽可能利用开源软件来实现,并在服务树的基础上根据服务动态生成tag。运用的开源技术有:

  • Git
  • Frigga RPC+AGENT,用来对God所管理的job进行控制,模块化管理
  • God 控制job的启停、清理等,与Frigga形成双生机制,永不停转
  • Ansible 命令执行系统,快速有效,并在此基础上进行了插件开发
  • 配置也由静态文件转为动态生成
  • 自动部署过程中通过http api 方式提交变更

xiaomi

<说到这:dhgate为什么还在使用svn呢?>

四、奇虎Hulk

以产品观做平台,Hulk从诞生之日起,就注定不平凡。错综复杂、毫无交集的不同业务接入,对平台无疑是最大的挑战。

  • 通过OS预制RPM包,Puppet快速配置
  • Salt,做为命令执行系统
  • 通过快速试错,不断追求极致

360

PS:由于一直在主持+拍照,总结不一定非常全面,欢迎各种前来补充。
PPS: 在360和现场都遇到了粉丝并拿书签名,让我很开心,灰常地开心。
PPPS:更多信息请围观讲师PPT。

最后,欢迎关注我的微信公众账号:

qrcode

文章目录
  1. 1. 记一次北京之旅:一场颠覆性的技术专题演讲
    1. 1.0.1. 一、dhgate自动化构建与发布实践
    2. 1.0.2. 二、私人定制
    3. 1.0.3. 三、小米的运维系统
    4. 1.0.4. 四、奇虎Hulk