背景介绍
2015年12月,InfoQ的编辑魏星邀请作者撰写一篇关于中国公有云服务发展状况的文章。因为作者个人对公有云这个领域一直抱有很大的兴趣,便贸然答应了下来。在这篇文章的准备过程中,作者系统地阅读了国内较为知名的几份云计算白皮书[1,2,3]。作者发现这些报告大都高瞻远瞩提纲挈领,缺乏对具体的公有云服务提供商的描述,未能让读者一窥国内公有云服务发展之真实面貌。在InfoQ的协调下,作者与国内多家公有云服务提供商的主要负责人进行了电话访谈,围绕团队建设、产品研发、服务运营这三个问题进行了讨论。除此之外,作者也在本文所探讨的所有公有云上都注册了账号,从用户体检的角度进行了一些小规模的测试。这篇文章的目的,便是从团队建设、产品研发、服务运营、用户体验等四个方面对中国的公有云服务发展状况做一个简要的综述。
根据美国国家标准技术研究院(NIST)的定义[4],云计算在服务模型上可以划分为软件即服务(SaaS)、平台即服务(PaaS)和设施即服务(IaaS),在发布模型上又可以划分为私有云、社区云、公有云和混合云。需要说明的是,随着云计算技术的发展,如上所述服务模型和发布模型之间的界限也日趋模糊。在本文的范畴内,“公有云”一词泛指面向公众开放服务的平台即服务和设施即服务。除此之外,各种名义的私有云(Private Cloud)、专有云(Dedicated Cloud)、托管云(Managed Cloud)均未包括在本文的范畴之中。
本文中“团队建设”、“产品研发”、“服务运营”三个小节的数据来源有两个。一个是云服务提供商主动发布的新闻资讯,另一个是作者与云服务提供商的主要负责人之间的电话访谈。作者与黄允松(青云)、季昕华(UCloud)、刘爽(美团云)、钱广杰(盛大云)、沈志华(又拍云)、王慧星(腾讯云)、许式伟(七牛云)、朱桦(金山云)等业内专家(按姓氏拼音排序)的访谈,是由InfoQ方面统一协调安排的,在此作者深表感谢。这个三个小节的内容,在定稿之前均经过受访者及其公关/市场团队的确认,反映的是云服务提供商自身的观点和思路。在审稿阶段,青云撤回了与作者进行访谈时所发表的一切言论;出于保护商业机密的考虑,阿里云拒绝了作者的访谈邀请。因此,如上三个小节未能包括青云和阿里云的观点。
“用户体验”和“其他讨论”这两个小节,是作者独立获得的数据以及由此引出的观点,在定稿之前未接受任何一家云服务提供商的审核。需要特别说明的是,如上所述云服务提供商的主要负责人接受作者的访谈并不代表他们认可作者在“用户体验”和“其他讨论”这两个小节中所报告的数据和观点。此外,作者本人也并不持有本文中所讨论的任何一家云服务提供商的内幕信息,作者独立获得的数据仅仅是基于作者所使用的测试方法得到的观测结果。受种种技术条件的限制,作者无法对这些数据的准确性进行背书,也无法对其误差范围进行估算。本文中报告的大部分数据是在2016年3月底之前获得的,这部分数据的获取时间在正文中不再特别说明;小部分数据是在2016年8月底获得的,这部分数据的获取时间在正文中会有特别说明。读者在引用本文所报告之数据时,应当考虑到数据的时效性。
本文中有多个小节对各个云服务提供商进行了逐一介绍。相关云服务提供商在这几个小节中出现的顺序是按照拼音字母次序排列的。
本文仅讨论中国本土的公有云服务提供商。Amazon Web Services(AWS)、Microsoft Azure、Google Cloud Platform等等进入或者未进入中国市场的外资企业不在本文的讨论范围之内。
产品研发(上)
在这个部分,我们以产品研发为主线,探讨不同公有云服务提供商的发展理念、研发重点、决策过程。我们关心的问题包括云计算产品与特性,重点发展的业务方向,产品与特性的优先级,过去几年中取得的关键性进展等等。
金山云
金山云的朱桦以AWS为例阐述了他对云计算产品的理解。朱桦认为EC2代表计算的虚拟化,是IaaS层面的核心;EBS和S3代表存储虚拟化;VPC代表网络的虚拟化。云计算产品多种多样,有偏向计算的,有偏向存储的,有偏向网络的。每一个领域都有很专门的技术,需要很大的投入。但是要解决客户的问题,则需要将计算虚拟化、存储虚拟化和网络虚拟化有机地整合起来。AWS成功地将专门的技术包装成普通技术人员能够理解的概念,又进一步包装出多种多样面向场景和面向用户的云计算产品,走出了一条将技术研发和产品包装相结合的道路。在这一点上,国内云计算公司做得还不够,阿里云做得稍好一点。和AWS相比较,国内很多云计算公司在技术上的投入不够,往往通过创造新概念来标榜自己的产品与众不同。金山云追求的是在技术上的差异化,而不是产品或者概念上的差异化。金山云认为AWS是云计算领域的先行者,在技术和产品方面需要尊重和认同AWS的理念。与AWS相比较,国内云计算服务提供商的用户和场景都不够大。在方向不够明确的时候,需要虚心地接受AWS的经验和学习AWS的教训,而不是盲目地追求所谓的微创新。金山云坦率地将AWS和阿里云视为行业标杆,并将AWS和阿里云作为赶超的目标。
金山云的研发重点包括类似于EC2的云主机服务、类似于S3的对象存储服务、类似于VPC的虚拟网络服务。金山云的云主机服务满足了所有游戏类客户的苛刻要求,在行业内是水平一流的云服务商。在对象存储领域,金山云的规模国内最大,比其他竞争对手要大一个数量级。金山云认为VPC是一个技术难点,其VPC产品已经内测了很长时间,争取在2016年内正式推出(作者注:VPC产品已经于2016年推出)。国内的云计算公司当中,目前能够同时提供云主机、云存储、VPC这三大类别产品的可能只有阿里云。云主机产品和云存储产品多家云服务提供商都有,金山云认为自己的产品性能更好些。云计算行业要求巨大而艰辛的技术资源投入。过去金山云看到市场对云计算产品有多种多样的需求,也做了很多产品,由于缺乏聚焦走了很多弯路。目前金山云有六百余人,这样的团队规模尚不足以支撑金山云在多个产品线上全面出击。因此,金山云要在有限的几个重点方向上投入研发力量,抵制某些特别有诱惑力的需求。
金山云认为其主要产品具备如下特性:
- 在云主机领域,在其他友商尚在钻研虚拟化技术本身时,金山云较早地注意到了云主机产品对I/O性能的要求。当时市面上所有的云主机产品在I/O性能上都满足不了游戏行业的需求。金山云果断地将游戏行业作为云主机产品的重点应用场景,云主机的I/O性能遥遥领先。后来其他友商也开始注意I/O性能了,部分友商的云主机I/O性能已经赶上了金山云的水平。在网络性能方面,金山云的云主机延迟很低,可以支持很高的并发连接,适用于缓存等特别频繁的小包通讯类业务。金山云还采取了大量细颗粒度的策略来实现云主机之间的资源隔离。金山云认为网络和磁盘I/O的隔离是比较容易实现的,比较难实现的是运行在同一物理机上的云主机之间的CPU隔离。很多友商对CPU进行超售,并且将CPU超售能力视为公司的核心竞争力。这样的做法无法保证云主机的服务等级协议(SLA),最终会损害客户的利益。金山云认为在这个领域做得最好的是AWS。如果对云主机的性能进行批量测试的话,AWS的云主机性能曲线很平滑,其他友商的云主机性能曲线存在严重的跳跃。这就说明在资源隔离方面大家做得还不够好。在云主机领域,金山云要不断地提升自身在计算虚拟化、存储虚拟化、网络虚拟化方面的核心能力,通过不断迭代提升性能、降低成本、增强隔离。
- 在云存储(类似于S3的对象存储)领域,金山云将可用性和成本作为核心指标。云存储的规模越大,对可用性的挑战也越大。金山云现有的云存储规模接近200PB(作者注:2016年8月的规模为300PB)。金山云认为,云存储每产生10倍的规模增长都会对系统的架构提出新的要求。
- VPC是一个难点,跨数据中心的VPC实现甚至涉及到数据中心的规划,实现起来非常复杂。金山云内测中的VPC在功能上可以对标AWS的VPC,在性能上稍差。
在决定产品与特性的优先级时,金山云有两个大的原则。第一个原则是坚持聚焦,避免把资源分散到多个项目;第二个原则是把握方向,资源投入要对重点研发方向有促进作用。所有的需求都有其存在的合理性,但是并不意味着所有的需求都要由技术团队来支撑,要做减法。在做减法是,要反复思考金山云最核心的能力与最核心的业务是什么。只有与核心业务相符合的需求才会被处理,和核心业务离得比较远的需求通常会被放弃。
金山云认为云计算卖的不是产品而是服务能力,包括商务能力和技术支持能力,其核心在于服务提供商要贴近客户的业务,要明白厂商对客户所承担的责任。对于厂商来说,好像是在卖一个产品;对于客户来说,他们最重要的资产都放在厂商这里了。一次事故对于厂商来说不过是一次事故,对于客户来说可能就是业务停顿甚至是数据丢失。如果在关键时间发生业务停顿或者是关键数据丢失,对于客户来说可能就是灭顶之灾。金山云的团队在不断变大变强,但是依然保持对客户的敬畏,这是金山云最核心的能力。金山云有信心在拥有几十万到上百万客户的时候依然能够保持这样的能力。
人们常说技术是第一生产力,对于云计算来说要体现在服务等级协议(SLA)能不能被严格的执行,厂商所承诺的N个9能不能在理论和实践上都得到严格的保障。在服务出现问题的时候,能不能在SLA规定的时间内被解决掉。这些问题,在理想的情况下应该是依靠技术手段来解决的。金山云相信技术产品的创新能力能够带来行业的巨变,更理解这种巨变不是每时每刻都在发生的,需要一个从量变到质变的过程。将来哪个厂商能够走得更远,取决于哪个厂商能够坚持,能够聚焦。
美团云
美团云的发展始终建立在对稳定性的极致要求上。在很长的一段时间内,美团云都只有云主机和云存储两个产品,主要的考量就是要把最基础、用户使用最多的产品先做扎实。其它方面的需求——包括网络和API——都作为特性看待。2015年,美团云打磨了更丰富的产品线,能够满足企业级用户大部分的需求。
美团云认为国内和国外用户使用云计算的场景不太相同。目前大部分国内用户只是把云计算当做资源来使用,把云计算当做服务来使用的情况还是比较少的。譬如说云主机,很多用户只是把云主机当作虚拟主机——也就是传统物理服务器的替代品——来使用,没有考虑到弹性扩展等等云服务特性。这些思维定式在国内用户使用云主机、云数据库、云缓存等产品时都有明显的体现。
美团云的云主机提供了丰富的API,但是使用API的用户比较少。随着时间的推移,云计算的理念得到普及了,可能会有更多的用户使用。李爽认为美团云的云主机的特性还包括高性能与高稳定性,但是这两个特性比较容易被用户所忽略。在云主机的基础上,美团云也为用户提供了预先配置好的Hadoop数据处理平台,这样用户就不需要自己搭建Hadoop集群了。在网络方面,美团云将外网IP设计为浮动IP,可以随时切换外网IP与云主机之间的映射。在网络带宽方面,网关可以任意调整带宽,峰值的时候可以调高,也可以根据需要随时下调。目前美团云的虚拟网络时基于VxLAN的,比在主机上做Overlay网络的性能更好。VPC产品正在研发中,很快将对外正式发布。
美团云正在研发基于Docker的产品。从2015年开始,美团内部希望用Docker来部署一些服务。在内部使用一段时间之后,美团云就会把内部的Docker服务提供给公有云的用户。这也是美团云一贯的政策:内部业务环境先试,再推出给外部用户。
美团云根据基础产品的完整度来决定产品与特性的优先级。一方面,参考业内的发展情况制定一个标准特性列表;另一方面,根据大客户的反馈对标准特性列表上的项目进行排期。譬如说对象存储这个产品,开始只做了PUT和GET功能。后来根据客户的反馈增加了转码处理等等功能。
作为美团的基础设施部门,美团云的研发动力来自内部需求。美团云的产品,都是先在美团内部得到广泛应用,然后才对外部客户提供服务。因此,美团云自认为其产品在稳定性上具有明显的优势。在另一方面,美团内部没有需求但是外部客户需要的产品美团云也不会做。因此,从产品丰富度上来看较欠缺。
和国内友商进行比较,美团云认为各个云服务提供商所提供的产品和服务类型都很接近。某些云的产品或者特性大大小小数百个,数量上可能比较多,但是只有少部分是常用的。美团云的短期目标,就是把用户常用的产品或者特性做好。从技术角度来看,国内云计算厂商处于同一水平,差异不大。
七牛云
七牛云在很长一段时间里只有一个产品。从2015年开始,才有了子产品的概念。从单一产品到多个子产品的决策是很自然的。一个企业在刚刚起步的时候不能一心多用,得单点切入。七牛花了3年多的时间来打磨一个产品,并且取得了很好的成绩。但是云计算很复杂,单一产品不能满足用户的闭环需求。基于单一产品,七牛只能是用户产品的一部分,而不是全部。七牛希望满足某类用户的全部需求,就必须从单一产品往多个子产品转变。
七牛的子产品有四个,对象存储、融合CDN、数据处理、直播云服务。前三个子产品,可以认为是一个一体化的PaaS服务,是相互依存的关系。从外部看来,这是一个整合在一起的产品;从内部看来,这三个子产品由不同的团队负责,各自有不同的KPI。直播云服务则是一个相对独立的产品。在许式伟看来,这四个子产品是一种互补的关系。和大部分人对存储的定义有所不同,许式伟认为存储需要满足用户远程沟通的要求。譬如说一个用户通过云存储向另一个用户展示了一张图片,实际上是完成了一次沟通的过程。因此,云存储是用户和用户之间交互的媒介。传统的云存储服务提供的仅仅是单向交互的功能。某个用户浏览了一张图片,图片的拥有者并不知道是哪个用户浏览了这张图片。这样的单向服务,没有办法满足用户的“互动性”交互要求。譬如说在线教育这个应用场景,教师给学生授课,学生向教师提问,就是一个需要“互动性”交互的场景。这种“互动性”交互和电话沟通类似,是双向的。七牛的直播产品解决了用户的“互动性”交互问题。七牛的直播产品和大部分人所理解的直播是不一样的。七牛的直播产品不是一个非技术人员可以使用的独立终端产品,而是提供给直播网站构建直播服务的后台支撑产品。
在七牛,由子业务负责人(兼具产品经理的职能)决定子产品中各个特性的优先级。简单地说,就是子业务负责人说了算,是一个由上往下的过程。市场部门的员工从客户那里采集需求信息,入库管理,通过七牛内部对相关产品的理解来判断某项需求的普适程度,最终由子产品负责人做出决策。
很多人都搞不清楚七牛云和CDN服务提供商的区别。CDN这个市场从互联网兴起之后就在发展,现在已经非常成熟。相较于市面上的CDN服务,七牛云提供融合CDN服务。融合CDN是在传统CDN基础上实现的对数据网络加速进一步优化的融合管理服务。除了服务于音视频点播,文件、应用与Web加速,以及各类增值场景外,七牛融合CDN还通过全方位的CDN质量监控,以及智能易用的加速节点调度等功能,保障用户服务的连续性,提供稳定快速的网络访问质量。
七牛云与AWS、阿里云属于同类产品。在许式伟看来,AWS的S3和阿里云的OSS的功能局限于PUT请求和GET请求。七牛把存储的概念给扩展开来,变成一个存储的PaaS。这样的扩展能够帮助用户更好地使用所存储的数据,为用户提供围绕存储数据的增值服务。譬如说七牛平台上已经有了20到30个用于数据处理的API。这些数据处理API是对外开放的,任何用户都可以在七牛平台上提供数据处理的产品,去满足其客户的数据处理需求。七牛是唯一一家把存储做成PaaS的厂商。七牛云、CDN服务提供商、以及其他厂商,可以说是分别位于同一个产业链上的不同位置。七牛希望在这个链条上进行资源整合,把整个链条穿起来,降低用户构建产品的成本。
信息披露
作者蒋清野是悉尼大学信息技术学院的博士研究生,同时也是AWS悉尼技术支持中心的员工。他于1999年获得清华大学学士学位(土木工程),2000年获得伊利诺伊大学香槟分校硕士学位(土木工程),2015年获得悉尼大学硕士学位(计算机科学)。他的研究兴趣包括分布式与高性能计算、开源社区的社会学行为、信息技术领域的微观经济学分析。他是美国电子电气工程师学会(IEEE)的高级会员。
在接受InfoQ方面的邀请准备规划这篇报告的时候,作者的内心是兴奋的。在获得所有测试数据准备撰写这篇报告的时候,作者的内心是矛盾的。一方面,作为并行与分布式计算领域的学生,作者希望为业界提供一些有用的信息和观点;另一方面,作为公有云服务领域的从业人员,作者深知发表一份涉及多家友商的报告会带来诸多争议。在InfoQ方面的鼓励下,作者选择以真实的身份发布这些的数据和观点,希望能够对国内云计算从业人员有所帮助。
参考文献
- 工业和信息化部电信研究院(中国信通院,CAICT),《云计算白皮书(2014年)》,2014年5月
- 中国电子信息产业发展研究院工业和信息化部赛迪智库,《云计算发展白皮书(2015版)》,2015年4月
- 工业和信息化部电信研究院(中国信通院,CAICT),《云计算白皮书(2016年)》,2016年9月
- Peter Mell and Timothy Grance, “The NIST Definition of Cloud Computing”, NIST Special Publication 800-145, September 2011
- William Stanley Jevons, “The Coal Question”, 1866
- 蒋清野,《虚拟化、云计算、开放源代码及其他》,2012年10月
- 蒋清野,《从王博士说起》,2013年12月
- 蒋清野,《浅谈“中国”语境下的公有云发展》,2015年5月
- Qingye Jiang, Young Choon Lee, Albert Y. Zomaya, “Price Elasticity in the Enterprise Computing Resource Market”, IEEE Cloud Computing, vol.3, no. 1, pp. 24-31, Jan.-Feb. 2016, doi:10.1109/MCC.2016.14
- 章文嵩,《淘宝软件基础设施构建实践》,第三届中国云计算大会,2011年5月
- 高山渊,《阿里巴巴系统运维实践分享》,QClub深圳站,2012年6月
- Netcraft, “Aliyun cloud growth makes Alibaba largest hosting company in China”, May 2015
- Jiamang Wang, Yongjun Wu, Hua Cai, Zhipeng Tang, Zhiqiang Lv, Bin Lu, Yangyu Tao, Chao Li, Jingren Zhou, Hong Tang, “FuxiSort“, Alibaba Group Inc, October 2015
- Reynold Xin, Parviz Deyhim, Ali Ghodsi, Xiangrui Meng, Matei Zaharia, “GraySort on Apache Spark by Databricks“, Databricks Inc., October 2014
- Michael Conley, Amin Vahdat, George Porter, “TritonSort 2014“, University of California at San Diego, 2014
- Intel Xeon E5-2630基准测试数据
- Intel Xeon E5-2650基准测试数据
- Intel Xeon E5-2670基准测试数据
- Thomas Graves, “GraySort and MinuteSort at Yahoo on Hadoop 0.23“, Yahoo!, May 2013
- Zhuo Zhang, Chao Li, Yangyu Tao, Renyu Yang, Hong Tang, and Jie Xu. “Fuxi: a fault-tolerant resource management and job scheduling system at internet scale.” Proceedings of the VLDB Endowment 7, no. 13 (2014): 1393-1404.
- 华为集团,《华为服务器助力腾讯构建十万级高效部署》,2014年7月
- 陈海泉,《下一代超大规模软件定义网络技术实践》,2016年1月
- 高旭磊,《招商银行关于金融云的思考》,中国金融电脑,2016年8月
- 阿里云,《阿里云生态路线图》,2015年7月