(上图为网易杭州研究院执行院长汪源)
云计算的核心与本质是什么?网易杭州研究院云计算平台产品部总监、网易云基础服务(网易蜂巢)容器云研发负责人陈谔讲了一个故事:网易云基础服务(网易蜂巢)最初的版本,从申请资源开始监测到虚拟机、容器全部启动,大概需要两分半钟,陈谔认为这个速度太慢,希望20秒内启动容器。
“大家觉得这个事情太困难,几乎不可能完成。于是,接下来分解阶段性目标,先优化到1分钟、再到40秒、再到20秒,让大家看自己的环节还有哪些潜力可以挖掘。最后,实现了20秒左右完成一个容器的建立(除去镜像传输的时间)。在云计算这个复杂系统里面,做到这一点其实是很不容易。”
网易云能够最终实现20秒上线一个容器的故事,道出了云计算技术的核心与本质:即不断和长期的优化。2017年7月13日,网易云即将举办首个云创大会,大会“商业匠心、技术创新”的主题点出了网易技术这20年来走过的坑儿的心得:在商业技术创新面前,只有耐得住寂寞的匠心精神,才能“磨”出精品。
云计算不是神话
十年前,在邮箱、门户、游戏等传统互联网业务之外,开始出现很多创新的互联网业务形态,包括博客、在线相册等。当时,丁磊认为网易需要在原有的业务板块之外,建立一个面向创新业务孵化、探索的独立组织,所以成立了网易杭州研究院。十年后,从网易杭州研究院孵化出了网易云。从网易技术发展历程可以看出,云计算并不是神话,而是互联网技术演变的必然结果。
现任网易杭州研究院执行院长汪源说,网易杭州研究院的第一个业务就是博客,博客代表Web 2.0时代的诞生。在新互联网业务的探索中,发现Web 2.0业务形态对技术的要求相比Web 1.0有了质的飞越,需要如海量数据管理等基础软件的支撑,而网民带来的数据量相比之前门户网站至少有两个数量级以上的提升。
陈谔刚进入网易的时候,正值Web 2.0概念爆发,他的第一个项目就是网易博客。陈谔不仅要从事技术研发,同时还做博客的技术运维,包括版本控制等等。“整个技术挑战、技术方向突然和以前完全不一样,关注点变成水平扩展、高并发、大吞吐量等。”陈谔回忆,之前整个互联网技术体系的发展都相对平缓,就那个时间点突然跳跃了一下,需要不同的运维手段。“做互联网的似乎变成了做运维的,所以我的印象是比较深刻。”
如果说Web2.0是互联网技术的一次跳跃,云计算就是互联网技术的又一次跳跃。“云计算平台对整个网易公司的互联网业务带来很明显的推动作用,因为当时我们对服务器的管理、业务的增长都已经到了一个瓶颈,必须有这样一朵云,才能实现新的突破。”作为第一批网易杭州研究院员工,陈谔回忆道。
“云计算是分布式系统,我认为最核心是要懂得取舍。因为分布式系统架构和实现的技术,近二十年没有太大的突破,该有的理论很早就存在,后面的CAP原理(一致性、可用性、分区容错性)也只是归纳性总结。所以,最重要的还是要知道取舍,比如系统复杂性与可运维性的取舍,功能很强大但是运维很麻烦也不行。”
如今的网易云,就来源于网易技术在运营网易UGC产品的云安全能力、来自网易全线互联网产品的云计算基础服务能力、来自网易电商的云客服、来自于网易多产品的大数据处理能力,以及来自于易信泡泡的通信与视频技术等等。正因为有了网易互联网产品大规模的开发与运维经验,网易云才在正式推出的短短一年时间里,获得了大量客户和开发者。
经历了网易产品的长期优化
在谈到网易过去十年走过的技术路程时,汪源表示技术体系是永远需要不断完善,因为业务发展会不断提出新的需求,而且一个庞大的技术体系中也存在很多可以优化的地方。
到目前为止,网易云是一个成功的技术体系,这是因为这套技术体系成为了一个统一、标准化平台,承载了网易各个互联网产品和业务。自2012年起,网易杭州研究院支撑网易集团互联网产品全面上云之后,网易云至今已经支撑了网易内部95%以上的互联网产品。
特别是教育、音乐、易信、电商、金融、手游等网易业务,在最近三四年间呈现爆发性增长态势,但无论是互联网业务范围还是业务规模,网易云技术体系都很好地完成了使命。“在业务爆发式增长的时候,能够及时地提供有力的支撑,没有出现技术拖后腿的情况”,汪源强调。
以网络为例,从第一个版本上线开始,网易杭研院三年之内对于整个网络的架构和优化了投入大量精力与资源。网易云的网络性能从最开始只能跑千兆网络一直到接近万兆,经历了一个很长的优化过程。而只有网络问题解决之后,上面的业务才能更好的集成,因为云计算虚拟化相对比较成熟,但各家云服务商对底层网络的优化差异程度其实很大,有的云解决方案连千兆都做不到,尤其是在部署了SDN之后。
网易云从2012年的私有云到后来的公有云,中间趟过了很多杭儿,其中一个很坑儿就是自研与跟随开源技术社区的路线选择。2006年到2007年,网易开始做海量数据管理平台,包括的五个核心系统在当时国内是比较超前和领先的。但到后来,部分平台被更加成熟的开源平台代替,比如自研的并行计算系统到2010年被替换成当时已经成熟的Hadoop,当然2007年杭研开始自研时Hadoop并不成熟。
“看开源社区,如果只看到现状,就比较容易掉到坑里去。当时觉得开源项目有很多问题,自研就很容易做一个更好的项目,但是过了三五年可能就被开源社区超过了。成熟的开源项目和开源社区的研发力量确实是很大,不是一家公司的投入所能比的,除非是公司的战略性项目。”汪源回忆过去十年间网易云有很多产品都有类似的经历,最后发现随着开源技术社区的不断成熟,跟随开源社区的技术创新、做好场景化的整体技术优化是一条更好的产品路线。
如果再回到十年前重新考虑的话,“应该会有两个调整,一个是更加积极地参与到开源社区的项目,和开源社区共同成长,另一个就是更早考虑把杭研技术进行商业化,做更好的产品对外提供服务。”
为什么要更早的商业化?“如果只是支持网易的业务,在技术的投入、应用的全面性方面,或多或少会有不足的地方;如果做到全世界的人都在用,这个技术才能说是非常成熟、非常可靠的。所以,网易自身的应用只是一个起点。”
接受内外部的考验
网易从2015年陆续对外推出通信与视频(网易云信和视频云)、全智能云客服(网易七鱼)、云计算基础服务(网易蜂巢)、云安全(网易易盾)等一系列场景化云服务,以及一站式大数据管理与应用开发平台(网易猛犸)和企业级大数据可视化分析平台(网易有数)等大数据平台。
网易云信是网易公司集17年IM经验打造的即时通讯云PaaS服务。除了基本功能外,网易云信还提供了高级通讯功能,包括实时音视频、互动直播、教学白板、专线电话、短信、专属云等以及更多服务。截止至2017年5月,已经有35万+开发者接入网易IM云服务,覆盖用户7亿+,在教育、医疗、O2O、游戏、社交等行业都有众多用户。
好未来双师课堂是一种全新的教学模式,从一个老师教学升级为两个老师负责学生的学习:一位是主讲老师,以直播的形式授课;一位是辅导老师,负责课堂管理和课后针对性学习辅导。好未来双师课堂就接入了网易云IM基础功能、互动白板、实时音视频和短信功能,不仅降低了技术运维成本,还让好未来双师课堂更专注自身的核心课程研发和运营业务。
网易积20年之力专注研发的全智能云客服系统(网易七鱼),可无缝融合多渠道在线客服、呼叫中心、客服机器人、工单系统,由表及里全面打造高效的客户服务体系。小牛在线是国内领先的互联网理财平台,在线累计交易额突破100亿。小牛在线接入全智能云客服(网易七鱼),实现了Web 及微信公众号的整合沟通、跨部门工单以及丰富的绩效管理等功能。
小牛在线的服务总监彭特表示:“全智能云客服(网易七鱼)提供的智能客服机器人智能化程度很高,网易多年的技术积累和经验值得信赖。接入全智能云客服(网易七鱼),使小牛的产品体验也有很大提升。另外很重要的一点是,全智能云客服(网易七鱼)在安全性方面是市场上绝对优秀的,这一点对于小牛、甚至是整个互联网金融行业来说都至关重要。”
网易云音乐是搭建在网易云基础服务之上,面对海量的数据请求,网易云基础服务提供了稳定、可伸缩的容器集群环境,敏捷的开发模式以及良好的运维支持。“作为网易多年经验自研的产品,云基础服务为我们项目整体高效运作夯实了基础,也为企业级应用提供了更加高效、可靠的解决方案。”网易云音乐CEO朱一闻表示。
自从2015年1月上线后,网易考拉的业务开始进入了高速发展期,第一版电商系统的瓶颈逐渐凸显,就是迭代速度缓慢,而仅仅提供基础的资源弹性无法解决问题。具体而言,随着用户数量的不断增加、市场需求的变化、运营体系的完善,网易考拉对功能模块变更的需求越来越频繁,不仅仅基础资源管理越来越复杂,脚本化的应用层的部署和管理也已经远远跟不上需求。
网易云基础服务(网易蜂巢)容器云平台的自动化能力就解决了网易考拉的挑战。网易云基础服务(网易蜂巢)采用了Docker容器作为整个软件部署和调度的基本单元,并结合Kubernetes作为容器管理和编排服务框架。
网易云基础服务(网易蜂巢)还在原生Kubernetes的基础上,对于调度进行了优化,并且利用多年运行IaaS层的调优经验,对于容器之间的网络互通和持久化存储做了优化。结果是,网易云基础服务(网易蜂巢)让网易考拉每天的更新频次上限由最开始的每天2次升级到每天112次再上升到每天723次,并发访问支持由网易考拉第二版的每秒2,600次提升到了每秒16,000次。
在大数据方面,数据科学随着近几年大数据和统计机器学习的进展受到了普遍的重视,网易杭州研究院也成立了数据科学中心,打造大数据、商业智能、机器学习平台产品,于今年推出了网易猛犸大数据平台和网易有数敏捷BI平台。此外,网易杭州研究院数据科学中心还在整合网易各大产品数据,梳理网易数据,使网易的数据发挥更大价值,已经成功挖掘网易用户画像,并应用在广告、金融风控等领域,取得显著效果。
除了经受到内外部用户的严格业务考验外,汪源强调网易云的一大优势在于整体架构设计的一致性,也就是上层PaaS服务可以完全基于IaaS层能力构建。“有些友商的云计算架构比较分散,上层的数据库等服务并没有架设在云主机上,而是独立的一套系统,但网易云计算所有的PaaS服务都统一由底层IaaS支撑、调度和提供高可靠的能力,相互之间的协调性比较好,这和设计得比较好的AWS(EC2+ECS)是同等水平。”当然,这样的一个架构设计,也是网易技术近十年来不断磨炼出来的精品结果。(文/宁川)