系统的可持续发展
2016-08-21 本文已影响0人
看我72变
假设把线上环境看成一个封闭的环境。
根据热力学第二定律,这个系统必然会从有序状态变成无序状态。
比如,某个模块产生的日志导致磁盘耗尽,间接导致另一个模块异常,机器内存耗尽,cpu打死。然后系统就over了。
但线上系统必然不可能是封闭的环境,肯定会有外部的能量输入。
输入的有可能是正能量,也有可能是具有破坏力的负能量。
比如用户的请求就是破坏能量,一旦qps过大,系统立马崩溃。
任何变更都是在输入能量,比如模块上线、网络变更、机器变更、流量变化,这些改变可以分类为"好"变更和"坏"变更。带来的能量非别定义为A和B。
工程师的变更可能会让系统更有序,也可能会增加系统的复杂度,更无序。
当输入的好变更带来的能量大于坏变更,那么系统就会朝着更有序的方向发展。
否则只会越来越乱,越来越无法维护,需要投入更多的人力。
一个产品是否可持续发展分为三个阶段:
第一个阶段:A<B
焦头烂额,故障频发,工程师的自尊都丢光了,身体感觉被掏空。
第二个阶段:A=B
自动化、平台化水平高,工作生活很和谐。
第三个阶段:A>B
感觉这周没啥事干,咱们下午喝咖啡聊天去吧?