微信|你可能不知道 微信的服务器今天才彻底搬到云上( 四 )


剩下的就是K8S代替了Yard后,能给微信带来什么了 。
Coder到Owner
DevOps时代的软件开发部署,频率迫切到每周甚至每天,但开发和运维环节的割裂,逐渐成为微信内部一个明显的效率问题 。虽然Dev与Ops写在一起,实际操作起来却由两个团队完成 。开发团队完成代码的编写打包后交给运维团队去部署核上线,结果是运维人员不熟悉代码逻辑,开发人员不懂上线 。这样的问题频繁在微信内部发生,遇到紧急问题往往需要拉很多人员共同处理 。
“ 这样的事拉低了整个团队的研发效率,”微信业务团队中很多人同时提到了这一点 。
迁移到K8S后对于微信开发者来说最明显的改变就在这里,全栈化的部署使得运维的角色很大程度上与开发者合并到了一起 。微信的开发团队除了要写代码,也可以同时完成扩容、上线以及模块部署,这条从开发到上线的链路被极大缩短,以微信基础架构工程师edselwang的话来说,“业务代码编写人员从纯粹的Coder变成了一个业务模块的Owner” 。
并且由于K8S具备更全面的虚拟化支持,在整个研发体系完成上云之后,节点部署与虚拟机脱离,开发过程中CI/CD(持续集成/持续部署)流程作为流水线般的自动交付过程可以更完整的实现,这可以被理解成一种“自愈”能力 。
edselwang举了一个例子,如果部署在虚拟机上的节点坏了,因为虚拟机不具备节点直接迁移的属性,所以需要运维人员人工给节点在两台虚拟机之间做转移 。但如果节点是部署在K8S的平台上,系统可以代替人工来给节点做自动调度 。
曾经年三十晚上抢红包的高峰期,微信整个运维团队加班守在服务器前的排班,在整体上云后也会轻松下来 。
更大的一个层面上,微信在腾讯内部并不是最早上K8S的,一手扶植起QQ的汤道生在930变革之后进入新组的CSIG事业部,QQ随后成为腾讯首个全面上云的内部业务,众多明星游戏工作室所在的IEG事业部也在几年前开始将架构摆到云上 。
腾讯整体的K8S环境搭建在微信迁移之前,这意味着后者从Yard跳脱出来后,将在基础架构研发上进一步更融入进腾讯云原生的设施体系,无论从资源调度还是系统工具的适配性上来看,新业务的决策成本都变得更低了 。
这样复杂的基础架构,最终指向一种释放人的价值的,更先进的生产力工具 。
微信技术架构负责人Stephen Liu对于一个完全云原生的微信的期待是,它最终能成为一种资源调度意义上的“自动驾驶” 。
“如果在2014之前的微信是 Level 0 的话,有了Yard之后现在是 Level 1 ,经过2021年整个去挖掘K8S的各种能力之后,我觉得我们现在应该处在 Level 2 的状态 。”Stephen Liu设想中未来的微信春节保供调度将完全由系统调度主导,而这一定基于一个完全云原生的微信 。
2019年是微信最后一次申请物理服务器,按通常四到五年的折旧时间来算,不出意外的话,这最后一批物理服务器将会在2023年底左右过保,那恰好是Yard开始搭建的10年之后 。届时的微信将真正把整个身体搬上云端 。
一切都在不动声色中,微信成了新的微信 。


推荐阅读