Future Like

脑海里面的计划正在一点点地变为现实。

 

从什么时候DevOps这个词就变成了每一个运维心中的样子。

 

去他妈的重复性工作

 

世上本没有测试,运维。码农多了,也就有了。

 

在代码刚开始的时候,测试?运维?那不都是开发者的工作么?

 

为了提高效率,那写代码的就只顾写代码好了,写出bug有测试,上线有运维,跑挂了运维背锅。于是恶性循环就这样开始了。

 

我们不做背锅侠,这是每一个运维的心声。也是每一个测试的心声,一个没有测到的bug,引发的血案已经不少了。

 

逐渐的,开发不再管上线维护的事情,也不知道怎么管了。

 

测试只要按需求,测完所有的功能点,万事大吉。

 

运维拿着开发提交过来的可能带着重大bug的代码,部署在各个环境中。监控时刻盯着,晚上睡觉手机一定要充着电随时等待铃声响起。

 

。。。。。。。。。。。。。事情不该是这样发展下去的,多少昼夜,多少名IT人前仆后继倒在了这条路上。

 

天上一道闪电,你睁开眼,发现,一切都开始发生好转。

 

开发兴奋滴敲出了那个快被敲坏的回车键,你发现git push已经完成了。

 

大约30秒过去了,CI告诉你编译失败,由于package方法不存在,你猜到肯定是某个引用包未提交导致的。果然,继续提交。

 

又过了30秒,CI已经提示通过,这个时候,dockerhub里面显示正在构建image。

 

构建完成后。你想着,兄弟,该上线了。

 

但是奇迹发生了,你看到手机上slack收到了一条消息,beta版本上线完毕。上线完毕????什么鬼。

 

然后你用新的url测了一遍,真tmd神奇,新功能已经能看到了。

 

紧接着,又收到一条推送,自动化测试完成,可以上生产,根据当前流量情况,不建议上线,待cpu降到20%后再上线。

 

10分钟的流量高峰过去了,生产环境默无声息地切换到了1.1.6版本。

 

一个小时平稳运行着,从所未有的流量在短时间突然飙升,看着监控台里的指针偏的无法再右,你开始担心起来,但是你好像动不了,帮不上任何忙。

 

再一条消息推送让你无比兴奋,在飙升的前30秒里,已经嗅探到了异常,经过调用了aws的ec2扩容,并将rds升配,目前这个流量已经正常运行了。

 

紧接着,一个emergency告警出现,由于nitrogen模块异常,crash超过三次,并继续强制重启,具体问题去sentry查看。

 

开发打开sentry,发现了一个没有测到的空指针异常,提交了紧急修复。你收到了一条消息,nitrogen 1.1.7部署成功。

 

此时,高峰流量开始下降,slack向你推送了一条消息,新增ec2已经销毁,按原配置正常运行。

 

作为运维的你,全程都没有参与,你觉得可怕起来,从此虽然不用再背锅了,但是,这次真的无锅可背了。

 

开发看着惊呆了的你,踹了你一脚,别愣着了,刚刚的异常是见得比较多的,所以系统知道怎么做。还有些不知道的,需要你教他。

 

系统?什么系统?

 

唉,难怪,你睡了这么久,现在都用SiCo来简化工作了。现在我们开发的更有效率了,也有时间写swagger,自动化测试要靠这个。

 

Make complex to simple , 人不应该忙碌于可以化繁为简的事情。

Written by SiCo