你觉得微信是如何走出来的?( 二 )


第三个1亿用户 , 微信只用了不到四个月 , 一个近在眼前的爆发期已可以预见 。微信内部一个新的资源分发逻辑呼之欲出 , 文杰和整个技术架构部将会主导这一场变革性的研发 。2013年底 , 自研云平台系统Yard开始出现在内部讨论中 。
你觉得微信是如何走出来的?
文章图片

文章图片

图源:微信官方
Yard是四个英文单词的首字母缩写 , 分别是Yet , Another , Resource和Dispatcher , 合在一起即“仅仅是另一个资源分发系统” 。或者称之为一套容器管理体系 , Yard利用容器技术对微信服务器CPU做了精细化隔离后 , 可以实现在同一台服务器上分割部署多个功能模块 。
这意味着在线与离线有了更有效率的混布方式 , 在线上了突发流量需求时 , 离线任务可以迅速腾出服务器资源 , Yard下微信集群CPU资源的使用率达到了40%以上 。
这种办法奏效了 , Yard托住了微信的下一个爆发期 。2016年年底 , 微信和WeChat合并月活跃用户数达到8.89亿 , 那一年我国网民规模达只有7.31亿 。
但当微信走完了用户增长的最重要一程 , 开始把更多注意力放在业务宽度上时 , Yard的劣势也开始出现 。
2014年初的微信离第一个小程序的上线还有三年 , 甚至还没有微信支付 。那扇接纳天下宾客的平台之门还未打开 , Yard在研发时也并未过多考虑与外部技术工具的兼容性 。事实上 , Yard出生所被赋予的目标非常具体 , 针对服务器的CPU和存储做虚拟化的灵活调度以降本增效 , 换句话说 , Yard是为了解决一个指向性非常明确 , 与微信原有基础架构强关联的需求而诞生的 。
但随着更多业务的涌入 , 不开源的Yard像一个非标品 ,
微信的业务在几年内迅速拉开宽度 , 业务涉及的领域变多 , 每个团队所依赖的技术工具各有偏好 , 定制化的要求带来很多不必要的工作量 。大数据相关的业务主流上更偏向Hadoop或者Spark技术;做AI训练的团队则倾向于Tensorflow或者Pytorch , 但这些框架在第一次接入Yard时都要人工重新进行适配 , 甚至在每一次框架升级后 , 同样的事情又要再做一遍 。越多新的技术工具引入 , Yard在开放性上的局限就越暴露出来 。
930变革后 , 剥离物理机成为上云的开始 , 但这只是第一步 。基础架构整体搬上云端 , 微信这次势必要走到一个开源的环境里 , Kubernetes系统看起来是最合适的路 。
风向
Yard真正开始在微信内部落地是2013、2014年前后 , 这也是微信上云的开始 。这一年全球的开源潮流也终于开始向暖 。
彼时北半球的另一只企鹅Linux风头正劲 , 2014年当选微软新任CEO的纳德拉在上位后随即高举“微软爱Linux”;同一年 , 上线满六年已托管了超过1000万个存储库的GitHub逐渐成为微软、谷歌等硅谷巨头科技公司的码农客厅 。
一切早有迹象 , 2013年中旬白宫的一份“公开数据政策”(OpenDataPolicy)草案被发布在GitHub上 。在此之前 , 将一份政府政策文件托管在在一家私人公司的服务器上从未有过 。虽然这份文档并不能被二次操作或者衍生出任何代码项目 , 但它仍然具有极重要的象征意义 。GitHub以及背后的开源思想 , 随着克里斯·万斯克拉斯而登堂入室 。
此前微软或者说整个科技主流声音直站在开源的反面 , 正如Windows与Linux长时间在安全性上的对峙立场一样 。但技术的迷人处也在这里 , 开源的优越性在这个一切场景都趋向于虚拟化的时代显露无疑 , 一旦达成了共识 , 转变在一瞬间 。
从巨头到独立开发者们 , 开源的思想显然热起来了 。让代码协作起来 , 甚至让写代码这件事本身社区化 , 正在成为信息世界新的项目管理方式 。