经过一夜奋战,新的系统终于算是磕磕绊绊地投产了,美其名曰“技术投产”,也就是基础功能实现了,但是没办法做业务。
什么原因呢?一路上应用工程师发现了各种的网络不通,服务器没有给开资源,等等问题。口径就是某某某功能实现了,但是某某某些资源还有问题。
毫无疑问,网工、服务器运维等基础设施工程师再一次成了背锅侠。就像《流浪地球2》里面,最后互联网根服务器起不来,网工背锅一样。
但实际上是这些人的锅么?资源就在那里,但是这些人甚至都不知道项目要使用到这些资源,因为没有人通过正规渠道告诉他们。
开发人员则是觉得自己的开发环境上有的东西生产环境也一定会有。而真正的生产环境,由于合规等考量,都是最小授权,不可能做到像开发环境最大授权那么自由。
一个产品在立项之初,直到准备投产运营,所有人的目光都聚焦于新功能如何如何好用,把所有时间都放在那个理想的测试环境里,却没有人注意到如何安排使用这些资源,给真实环境留下的时间恨不得只有几个小时,结果导致了开始那种故事。
这是我昨晚从生产运维角度做完一次并不成功的投产之后的感悟。只是想给开发人员和项目经理说一声:千军万马,粮草先行。任何项目,没有了基础设施资源,都只是一段代码,毫无意义。再聪明的AI也要跑到计算机上,要通过网络才有用。项目开发的时候一定要适时申请合适的测试、生产资源,这是项目经理的职责。千万别等到最后一刻发现这不通那不通,后把锅推给生产运维的人。
生产运维和基础设施已经是万年背锅侠了,但是要弄清楚:任何项目,没了基础设施,任何新功能只是一段不值钱的代码。做项目,不要做那么多“可以”、“有”的假设,而是应该做“什么都没有”的假设。
网友评论