1997年6月网易公司正式成立,其门户网是目前流行大型门户网站中历史最久的。随后,网易推出国内首家免费邮箱。网易还陆续开发出了更多广为人知的产品,如在线游戏、在线课堂、在线音乐、网络相册等。
2015年末,网易宣布进军公有云领域。目前已经推出了一系列场景化云服务,涵盖即时通讯、视频、反垃圾、客服和容器平台等,具体而言:产品研发云有网易云信、网易视频云、网易云捕、网易易测;业务运营云有网易七鱼、网易易盾;云计算基础服务网易蜂巢。
这十九年来,网易的产品线一直不断地发展。在网易人的“稳健务实,厚积薄发”理念之外,究竟是什么使得网易不断保持着创新力?作为一家巨头公司,它怎样进行产品布局和技术研发?网易背后的杭州研究院扮演着怎样的角色?带着这些问题,InfoQ对网易杭州研究院执行院长汪源进行了采访,本文是对采访内容的整理。
汪源 ,网易杭州研究院执行院长,浙江省计算机学会理事。2006年浙江大学计算机专业博士学位毕业后加入网易公司,先后主持开发网易海量数据处理平台,包括分布式数据库、文件系统、全文检索、融合检索、大规模并行计算等重要系统。现作为网易杭州研究院执行院长,全面负责网易集团公共技术支撑工作与云计算业务,主要包括云计算与服务端架构、前端技术、大数据分析挖掘、信息安全、多媒体、运维、质量保障等方向。
网易集团目前分为五个事业群:网易游戏、门户网、邮箱、电商和杭州研究院。各个事业部具有很强的自主性,杭州研究院执行院长汪源将此笑称为“联邦制”。
网易称其杭州研究院(以下简称“杭研”)是国内业界唯一一家兼具产品、公共技术、运营三重职能的研究院。具体而言对应着三个模块的工作任务:
这种理念分工在杭研创办伊始就已经成形。在2006年创办时,杭研有50多员工,其中20多人从事创新业务(网易相册、网易博客等),20人从事支撑平台研发,不足5人从事服务支持。发展至今,杭研有1700人规模,研发人员占到八成以上,三类方向上的研发人员占比分别是40%、50%和5%。
通过十年的技术研究,杭研目前覆盖互联网的七大知识体系: 云计算、前端(Web端 PC端和移动端)、信息安全、运维保障、质量保障(QA)、大数据、人工智能。
杭研孵化出来的业务,有网易云音乐、网易云课堂、网易云阅读、网易博客、网易相册等。
杭研在创立时参考过IBM和微软的研究院,但是最终认定的是Google研究院模式。一是因为当时Google研究院声望已经很高,二是因为Google的互联网业务与网易业务相近。
汪院长称杭研一直在率先地进行各项技术的创新研究,下面为一些标志性事件:
时至今日,虽然杭研与Google研究院模式比较接近,并且拥有着注重实用性的共同点;但是由于两者的商业目标不同,所以发展方向上已经不一致了。
(1)独特的创新机制
网易杭研制定了创新机制,提供了灵活的创新渠道,其核心要点是任何人都可以提出创新项目。杭研有一个虚拟的委员会,如果项目通过委员会的评审,那么创新项目的提出者就会成为项目负责人。随着项目的研究和发展,杭研允许项目发展成为独立的业务实体。项目中核心技术人员的专利则可以兑换成对应业务公司的股份,以鼓励和激发核心技术创新。
此外,关于项目的融资,是在网易外部进行。网易并没有强制窗口期长短,但一般而言,三到五年可以看出项目是否已经顺利发展成优秀的业务。
在这十年的创新机制运作期间,大量的项目是由基层到中层管理者所创新出的,如经理、高级经理等。除了2006年、2007年早期,项目创新来自于高层,后期基本上来自于创业机制。除了创新项目贡献新的想法,公司还有战略部门,会进行大方向上作引导,比如大数据、人工智能等。对于杭研而言,2017年新的发展点在大数据和人工智能,而云的创新将会继续。
(2)新项目的技术团队构建
新技术方向成立的早期,需要两方面的人:通用的人 分布式系统的研发,这些人可以从其他部门中调配和培养;特殊化的知识技能我们会从社会中寻找新鲜的血液,让新人也可以进入到技术体系中。
下一个问题是技术团队的打造。比如大数据的人才,每个业务部门都需要,杭研会进行批量的培养,通过类似的学习计划和课程。以大数据为例,对大数据而言整体的系统是分布式的,而单机内核又与传统数据库内核相似;于是杭研会把分布式系统和数据库内核的两方面专家组织在一起,形成大数据团队,同时在业界内招募了很多专业大数据的人,比如Hadoop、Spark的代码贡献者。而关于人工智能的研发团队,则由原有的深度学习、图像处理的技术专家组合而成。
职能之二:技术沉淀与平台支撑
据汪源介绍,网易的存储技术积累是最久的,从1997年公司刚成立就开始就逐步演进成了多级存储体系。现在比较热门的词汇:热数据、冷数据、镜像存储,在十多年前网易就认识到了相应的问题,虽说当时的称呼比较“土”,但是已经对三个月前、一年前的数据进行了区分处理。邮箱的存储量很大,与硬件厂商合作采用大容量高密度的存储设备。
迄今为止,网易的存储系统已经进行了三次迭代。2006年,杭研开始第一代的文件系统研究。2009年进行了数据去重和数据一致性的保证:比如网易相册中很多照片不是自己拍的而是收藏的,所以有近三成的数据是重复的;再比如,当时用多主副存储,但在硬件出现故障时可能会出现数据不一致的情况,于是杭研通过分布式事务保证数据的一致性。2012年的第三代存储系统,杭研关心的是程序员的使用体验,对接口进行了大改造,变成HTTP、RESTful、基于POSIX文件操作的。比如在图片存储中,杭研考虑到了程序员对图片进行裁剪、旋转、压缩的操作,图片重点内容的定位,还有一系列细节化处理,以优化程序员的使用体验和效率。
大家都知道运维自动化可以不断提升效率。汪源称自己可以算得上是杭研最早的DBA(兼职),他写了很多自动化脚本。2008年杭研进行了第一版自动化运维,2013年实现了能力平台化。杭研信奉的是分级运维方法论,即什么样的业务需求用什么样的架构,恰到好处。在运维平台开发模块进行全面的梳理,当时树立了两个目标:保证可用率和提升效率,于是慢慢形成了集运维流程、运维自动化、内部沟通、HR管理的一体化,因为在运维中涉及到人与人沟通、项目管理信息、业务指标监控等。
下一“战”:公有云计算
总体而言杭研的发展可以分为三个阶段:
在汪源看来,向外推出云服务也不能完全算作是战略思路的转变,因为网易都是先在内部技术打磨。2015年正式进入公有云市场,算是正好遇上并满足了内部技术产品成熟和外部市场认识提升两个必要条件。
网易云的独特之处在于提供面向业务的产品化解决方案。其实每家云厂商的特色源自于其内部的文化基因,比如有的云厂商喜欢搭建一个平台让大家都在平台上面跑,而网易倾向于可以精准地帮助用户解决问题。
虽然网易云承认IaaS层有价值,很多用户都需要是一个重大优势,但它距离业务比较遥远;所以网易推出的云产品偏PaaS,旨在帮助业务。如此,和其他公有云厂商形成差异化竞争甚至互补应用的关系。与前两者相比,汪源认为SaaS是一个更加细分的领域,对于其他垂直的SaaS创业公司,有一些已经是网易云的合作伙伴。