微信背后不为人知的一场巨变:他们如何「把大象搬进冰箱」?( 二 )
前面压测出现问题 , 就出现在换轮子的过程中 。
实际上 , 轮子也确实到了该换的时候了 , StephenLiu说:
2014年微信只是一个部门 。 当时公司提了这么一个成本优化的想法的时候 , 我们自己还挺紧张的 , 因为当时部门的人不是很多 , 当时只是一个部门 , 那个时候也就三四百号人 。 在2014年之前 , 微信所有的人力都扑在做功能迭代 , 不断打磨新的功能 , 所以对于后台的服务器用得怎么样 , 包括架构做得怎么样 , 对这些关注得比较少 。
那公司又有这个要求 , 后来公司就安排了人对每个业务部门去看做得怎么样 , 最后选派了非常有经验的人 。 像当时带队的也是公司的VP , 反正我非常有印象 , 因为我被他批了很多次 。 就说微信这边的成本非常高 , 你们服务器用得不好 。
文章图片
▲微信曾经的报告PPT
这次降本增效的要求促使了微信团队第一次进行服务器架构的优化 , 当时采用了名为YARD的系统架构 。
但是这次自研上云则需要和腾讯公司保持一致 , 采用开源的K8S系统架构 , 相比于YARD , K8S架构更为开放 , 在适配人工智能和大数据框架等等方面有先天优势 。 而现在微信的诸多功能都与人工智能和大数据有关 , 比如语音转文字 , 还有文字翻译功能 。
或者说 , 2014年微信采用YARD架构目的很简单 , 就是帮助灵活调度服务器资源 , 节省成本 , 并未考虑更复杂更长远 , 而当时K8S也没有开源 。
随着业务发展时间前行 , K8S架构的优势逐渐盖过架构迁移的阵痛 , 又恰逢腾讯业务变革 , 这场改变势在必行 。
文章图片
微信基础架构工程师EdselWang告诉爱范儿微信自研上云的宏观步骤:
对于微信团队来说 , 上云可以分成狭义和广义两个层面 。 狭义的上云就是2018年930变革 , 公司930变革之后公司推动了自研上云这件事情 , 然后微信开始使用公司提供的统一的云基础设施 。 广义上上云 , 就是微信把整个研发模式逐渐云原生化 , 这里就不单纯包括把一些后台的服务从原来的物理机搬到云上 , 当然这里还包括整个研发过程会跟云做一个结合 。
针对2018年930变革之后 , 公司推动自研上云这件事情到目前为止也是经历了两个阶段 。 第一个阶段是2018年到2020年这个时间点 , 公司主要改变了提供服务器的方式 , 就是从原来提供物理机改为CVM(CloudVirtualMachine , 云虚拟机) 。 第二个阶段的时间点是从2020年开始 , 公司进一步要求各个业务部门把内部的一些调度系统统一改为K8S , 这个对我们来说 , 就是从YARD迁移到K8S上 。 在第一个阶段 , 从原来的物理机改为使用CVM这一块 , 由于我们设计了YARD作为它的调度层 , 所以我们的主要工作是让YARD适配云 , 因为YARD原来是支持物理机的 , 现在就是YARD支持CVM虚拟机 , 而业务层是不需要做很多改变的 。
在第二个阶段 , 对于微信团队来说 , 就是要用K8S , 就是用腾讯云提供的K8S集群的调度能力替代掉自研的YARD平台 。 为了使这个迁移更加顺滑 , 我们在用K8S替代YARD过程中规划了三步走 。 第一步 , 首先要解决微信能不能上K8S跑的问题 , 那个程序能不能上去跑的问题 。 第二步是要把YARD原来积累的一些经验移植到K8S , 让K8S跟YARD原来的能力对齐 , 可以接着使用原来YARD提供的所有能力 。 第三步 , 我们要充分发挥K8S的能力 , 因为前两步YARD提供的我们都提供了 , 第三步我们就要更充分地使用K8S的能力 , 这块主要体现在成本、效率上 。
- 运营商|微信、小米双双翻车,还能不能好好用了?
- 飞利浦·斯塔克|微信你还在习惯发送原图吗?弄不好是一种错误做法,现在知道不晚
- 转型要成?新东方直播带货爆火背后的天时地利人和
- AMD|支持微信聊天!安卓表皇限时返场,989元到手最强国产手表
- 微信|Tik Tok与甲骨文已经达成协议,向其迁移美国用户数据
- 程序员|微信、小米双双翻车,还能不能好好用了?
- 俞敏洪|转型要成?新东方爆火背后的天时地利人和 样样不能少
- 微信公众号禁止提供数藏二级交易服务 否则将被封号
- 支付宝|工资到账就“转移”,把工资放到微信、支付宝,会有啥后果?
- 芯片|做商城网站对接微信支付需要注意事项,主体是个体户的不可以申请