注意:根据真实故事改编,切勿对号入座!
小Y在一家SaaS公司做运维。
公司规模不大,但运维组已经有七八个人了,小Y算是核心Leader,但人手还是不够,每天忙得焦头烂额。一天忙下来,发现全是一堆琐事:帮开发的跑测试,帮测试的调环境,在几个内网外网环境之间来回切换工作。到了月底的release时期,更是严阵以待,要是产品上线出了问题,影响了客户的业务,不但公司得赔钱,这个月的绩效奖金还得扣了。一年过去了,小Y觉得自己一直在原地踏步。
老板对运维团队很不满意,他问小Y:“咱们公司,十几台服务器,每月才线上更新一次,怎么需要这么多运维?”
小Y知道老板心疼钱,但不好直说,就回答:“现在咱们的开发流程不规范,每次从头编译,都要预设好多东西,而且编译一次要40分钟,跑一遍完整的测试要3个小时,再加上手动部署的半个小时,一天能测试两次上线就不错了。现在项目经理天天要发新版本测试,我们每个人负责两三个环境,都忙不过来呢。”
老板听了不高兴,说:“上次我去参加一个开发者大会,有个创业公司,二十来人的开发团队,全职运维的只有一个人。人家业务量不比咱们少,怎么一个人就扛下来了?”
小Y说:“您说的这家创业公司我也了解,他们一开始就坚持DevOps,不区分开发和运维,自动化程度高,每次上线都是开发工程师自己做了。”
“那为什么咱们公司不行?”
“这个嘛,我觉得有必要把现在的流程逐步转变成DevOps,运维和开发团队得合一起,运维的得有一定的开发能力,开发的也得有运维思想。”
老板把开发组长小K找来了,让小Y和他一起想办法,尽快把公司开发部署流程的效率提上去。
一晃半年过去了……
又到年底了,老板准备听取小Y的汇报。
这半年小Y可没闲着。他直接把位子搬到了开发区,然后配合开发组长小K打造了一个集代码管理、编译、测试、打包、上线于一体的自动化脚本。为了方便开发工程师“一键部署”,小Y还开发了一个网页,只要用浏览器打开页面,输入一个git版本号,点一下按钮,10分钟以后,测试环境的新代码就上线了!
小Y给老板演示了一下,老板很满意,说,“那正式版上线也这么部署吗?”
“正式版有另外一个页面,跟这个差不多,只是需要登录,有权限的人才能部署到线上。”
“不错嘛!这么说来,咱们公司的开发效率提升了不少吧!你说说经验。”
小Y说:
“我也是从别人那偷师。现在的互联网公司尤其重视DevOps,很多大公司内部都用Python写自动化运维工具,我也发现用Python实现自动化打包、部署、测试非常方便,朋友推荐我去看廖雪峰老师的Python教程,两周学下来,基本上就能写自动化脚本了。”
“而且这个部署的网页也是用Python写的,我用了Flask框架,两天就搭好了。后台调用Fabric自动部署,现在我们都不用登SSH再用跳板机手动敲命令了。”
“这么说来,会Python对自动化运维有很大帮助嘛!”老板说,“我看你们运维组最近闲了不少,除了月底上线忙两天,其他时间没啥活了吧?”
“活是比以前少了,”小Y说,“但是自动化脚本也需要维护和更新。”
老板说:“我看出来了,咱们公司搞DevOps取得了很大成功,不需要以前那么多运维了,是好事,下个月给你加薪水。”
老板顿了顿,又说:“但是公司也不能养闲人。正好咱们开发组在扩招,有好多模块都是用Python写的,你把你刚才说的廖雪峰老师的Python教程网址发给大家,让运维的同学都去学,学会了转开发。给一个月时间,到时候没学会的直接裁掉。”
小Y一听懵了,心想,搞自动化运维,为公司省了钱,结果把自己一帮兄弟给坑了!
不多说了,先发教程网址,点这里查看。