这是上周六在QCon做培训时分享的一个观点。
对于DevOps有时候我觉得有点谈太High了,实际一点,换个角度讲讲,其实不用那么复杂,实践中:
DevOps就是被实际场景逼出来的,系统维护玩不下去了给逼出来的,痛点忍受不了了给逼出来的,被逼出来的东西,就是你自己的DevOps。
要说原因,DevOps就是技术复杂度上升到一定程度的必然结果而已。
这个技术复杂度,就是各类分布式技术的应用带来的,比如微服务、分布式数据库、分布式文件系统等等。
BAT在14年左右,甚至更早的时候,内部的DevOps系统就已经差不多成型了,比如腾讯的织云、蓝鲸,阿里的AOne等等。
那个时候,DevOps也还没有这么火,也没几个人知道DevOps怎么理解,所以这些系统不太可能是在什么DevOps理念指导下研发出来的。
那为什么人家能做出跟DevOps理念一致的产品?
很简单,人家分布式的技术早就用起来了,人家的体量、场景和痛点,逼着他们不得不这么干,不然这么庞大的系统根本玩不转。没有DevOps理念指导,就摸着石头一点点干,一个问题一个问题的解决吧。
所以,现实没有那么美好,没有银弹,最终我们还是要在解决问题的过程中完善我们自身的体系,单纯地谈论各种DevOps和SRE理念没有太大意义,学会借鉴和解决自己的问题最重要。
换句话说,如果还没有搞定DevOps,根本上,要么没体量,要么没场景,我们还没有那么痛,没有痛到让我们逼着自己死磕一把而已。
最后的建议,大处着眼,小处着手,解决自己的问题。