中国知名游戏云UCloud获得云计算领域单笔最大融

老王:是否可以请先介绍一下你之前的技术背景和你从业方面的情况?

中国知名游戏云UCloud获得云计算领域单笔最大融资

2014年06月18日 来源:搞趣网 作者:wst 搞趣网官方微博

暨去年11月成功获得来自贝塔斯曼、DCM的1000万美元A轮投资之后,本月UCloud又获得由贝塔斯曼和君联资本领投, DCM跟投的B轮融资。此次B轮总融资额为5000万美元,是中国IaaS领域最大单笔融资金额。

图片 1

在获得B轮融资后, UCloud将不遗余力地加大数据中心的基础建设,以及研发力量的持续投入。UCloud将完成更大规模的具有同城容灾能力的多BGP机房建设,从而帮助客户实现业务的跨机房容灾能力。同时,UCloud将完成在北美的数据中心建设,实现全球化部署。

UCloud CEO季昕华表示:“在长期服务和实践过程中,我们发现由于受到资金和技术能力的限制,大部分创业团队无法拥有一支专业队伍去打造像BAT那样的海量数据支撑能力、稳定的基础架构能力和跨机房容灾能力。UCloud正是这样的一支以技术为核心的服务商,帮助中国互联网企业快速解决基础架构的问题,运维管理问题,节约了资金成本。UCloud可以做到90秒内快速响应客户问题,专业工程师直接服务客户等机制,从而使得互联网创业团队可以更专注于自身的核心竞争力,节约了大量的人力成本和时间,产品在市场上能够快速推出与试错,云计算造就“轻团队”。

成立于2012年的UCloud是中国领先的IaaS服务商,一直专注于云计算领域产品的研发与运营服务。自成立以来,UCloud专注于服务中国互联网企业用户,推出了高IO云主机、缓存计算、SDN、混合云等创新性产品,业务增长迅猛,目前已有上万家企业用户和创业团队将其业务部署并运营在UCloud云平台上。目前,UCloud的客户遍及游戏、电商、移动互联网、SaaS等多个行业,尤其在游戏行业深耕细作,通过其对于游戏技术运营的深刻理解,推出适合游戏行业特性的产品与服务,在这个领域取得了绝对领先的地位。

图片 2

文中图片引用自网络,如有侵权请联系我们予以删除

图片 3

InfoQ:能否谈谈平安金融云的VPC专有网络背后的技术?

话题是先从杨镭先生的技术背景和从业经历展开的。

成立于2012年的UCloud是中国领先的IaaS服务商,一直专注于云计算领域产品的研发与运营服务。自成立以来,UCloud专注于服务中国互联网企业用户,推出了高IO云主机、缓存计算、SDN、混合云等创新性产品,业务增长迅猛,目前已有上万家企业用户和创业团队将其业务部署并运营在UCloud云平台上。目前,UCloud的客户遍及游戏、电商、移动互联网、SaaS等多个行业,尤其在游戏行业深耕细作,通过其对于游戏技术运营的深刻理解,推出适合游戏行业特性的产品与服务,在这个领域取得了绝对领先的地位。用户中不乏流水过千万、甚至过亿的明星级游戏团队,如《刀塔传奇》、《啪啪三国》、《攻城掠地》、《暴走无双》等。

本文转载自infoQ

杨镭:尽管我们现在人不少了,但是我们产品线也很长,我们这点人也是不够的,我们现在做这个事情都在加班做,说白了时间不够,只能花时间解决这种问题。这种事情说白了是在价值观上,你做不做可能没有区别,但是我们认为真正长远地看这个事情是有意义的。眼前不会有太大的得益和收益,但是从长远的趋势看,从我们的信念看,保护隐私、保护数据安全其实是一个所有人都会走向的共同的目标,只是现在还看不到。

继在2013年11月成功获得来自贝塔斯曼与DCM的1000万美元A轮投资后,就在本月,UCloud又获得由贝塔斯曼和君联资本领投, DCM跟投的B轮融资。据悉,此次B轮总融资额高达5000万美元,是中国IaaS领域最大单笔融资金额。

InfoQ:相对于其他类的XaaS,您怎么看待CaaS的未来发展?

还有一方面,我们对整个技术的价值观就像上次我跟你聊的一样,我们会要求很高。我们除了自己不收集,还会帮用户把隐私保护好,告诉用户不要给我们任何的信息,而多数的公司是反过来的。我们大概会在 1 年多后完成大部分云上数据的加密,包括存量的数据。就像我们在去年的 TIC 大会上说的,这里会坚决投入,而且不是一个小的研发投入。因为说白了用户未必自己诉求那么强,很多时候没这个意识。而我们做这个事情因为有很多存量的云主机,几十万台的规模,我们要透明的、不影响性能、安全地放上去,而且密钥还要定期轮换,不能老是一把密钥,但是要轮换的时候又不能影响性能,所以在工程上是有挑战的和有技术深度的。我们做那么多的事情,说白了这就是价值观问题,我们真的对用户的数据安全非常重视。

图片 4

在具体的实现上,我们基于开放通用的原则选择了VxLAN VRF的方式作为VPC骨架,主机OVS为脉络,通过传统L2、SDN和EVPN三种方式实现内部的互联互通,以DFW和VFW实现VPC访问控制,我们自研的LVX系统是业界领先的容器化NFV负载均衡方案,基于OpenStack Neutron开发实现了网络业务编排系统,将底层的技术实现、业务生命周期、资源管理有机地串联起来,为业务提供统一的服务入口。在网络层面,我们做了较多创新探索,共递交10余项专利申请。

我的背景是这样的,我 2006 年加入盛大在线,刚入职时我是从最一线的运维人员开始做的,大概两年多以后逐渐地开始参加一些研发的工作,做一些运维的平台系统开发工作。

UCloud CEO季昕华表示:“在长期服务和实践过程中,我们发现由于受到资金和技术能力的限制,大部分创业团队无法拥有一支专业队伍去打造像BAT那样的海量数据支撑能力、稳定的基础架构能力和跨机房容灾能力。UCloud正是这样的一支以技术为核心的服务商,帮助中国互联网企业快速解决基础架构的问题,运维管理问题,节约了资金成本。UCloud可以做到90秒内快速响应客户问题,专业工程师直接服务客户等机制,从而使得互联网创业团队可以更专注于自身的核心竞争力,节约了大量的人力成本和时间,产品在市场上能够快速推出与试错,云计算造就“轻团队”。

方国伟:虽然我们平安云是从私有云开始建设的,但是我们从一开始就以公有云的多租户方式来设计整个平台,并且以客户为中心的方式来提供各种服务。所以,对我们云平台而言,除了外部客户外,公司里面的开发和应用运营也都是我们的客户。他们的满意和开心是最为重要的,云平台自身的产品研发和运维工作都是围绕整个目标展开的。

实际上这不是纯技术的问题,这是一个理念,你要懂技术,还要懂业务,还要懂数据分析,还要设计一套东西把它串起来。

在获得B轮融资后, UCloud将不遗余力地加大数据中心的基础建设,以及研发力量的持续投入。UCloud将完成更大规模的具有同城容灾能力的多BGP机房建设,从而帮助客户实现业务的跨机房容灾能力。同时,UCloud将完成在北美的数据中心建设,实现全球化部署。

从我们公司内部来说,平安云对开发的帮助还是挺显著的,其中最为直接的就是现在应用环境的申请基本都是通过云门户以自助的方式就可以完成。除了基础系统环境外,我们还提供常见中间件、数据库服务,从而大大降低开发人员对开发环境和测试环境的部署门槛。对于一些需要快速响应市场变化、面向互联网的应用,通过平安云平台,他们可以更好的实践DevOps一体化的开发运维方式。

我跟老季(UCloud CEO 季昕华)是大概 2008 年认识的,他当时在管盛大在线。盛大在线提供运维平台来支撑各个游戏部门的业务,包括像盛大创新院的服务器,其实背后都是由盛大在线提供运维的。在之后做盛大云时,我们承接了非常多的业务部门的运维工作,而当时我就是在做平台技术方面的工作。

InfoQ:有人说“搭建基于Docker的CaaS是为了让开发和运维都可以开心”。可否分享下,这个金融云平台是怎样影响了你们的开发和运维工作呢?为了实现CaaS,你们团队内部都做了哪些技术和组织层面的调整呢?对目前的金融云平台运维是否满意?

我再举一个例子,我们在 2014 年下半年的时候招了第一个做 DPDK 研发的人,那时候我们知道 DPDK 技术发展前景还不错,所以我们招了这个岗位;而到了 2018 年的下半年,如果哪家有云产品而没有 DPDK 技术,你的产品是完全不具备商业竞争力的,你会卖得很贵,性能非常差,而友商会卖得很便宜,性能又很好,这个就是技术的红利。DPDK 的红利,但是如果你当时不投入的话,到现在可能会来不及。这是看三年的,所以我们现在在做 Serverless 方面的工作,投入是比较大的,但是如果我们不投入,可能三年以后或者四五年以后就出局了。

方国伟:在云计算的SPI服务模型中,我们可以发现SaaS由于跟应用直接相关,所以不具有平台的特征,也就是说基本上每个SaaS服务只能解决一类问题,而且不同SaaS服务之间差别也比较大。从平台的角度来看,主要是IaaS和PaaS两大类。到目前为至,我们可以看到,IaaS发展最快,技术相对成熟,用户接受度最高,而PaaS看上去很美,但是成功的例子不多。PaaS的接受度不高的一个重要原因是因为PaaS对用户应用的要求比较高,不够灵活,从而导致PaaS的兼容性降低,增加了用户接受的门槛。IaaS接受度高也是因为通过云主机的方式对应用的兼容性比较高,从而用户容易接受。

我主要的一个工作是虚拟机创建流程,这跟我自己之前的一些运维知识也比较匹配,在这方面我做的很多工作主要是优化。这里面其实有一个云计算产品的精髓,云计算产品如果要做好有两方面:

InfoQ:平安云的计算虚拟化怎样实现的呢?当初是怎样在VMware、Xen、KVM和Docker之中权衡和考量的呢?

老王:做这个专访,一方面我们希望看到真正的技术人现在具体做哪些事情。另外一方面我们希望让大家看到有这样的公司在做具体的事情,这些事情会不会对他们产生触动、启发甚至吸引他们去关注或者参与,这是我们希望能进一步做到的东西。

InfoQ:相比于传统行业,金融行业的云服务有哪些业务需求和技术挑战?为此平安的金融云采用了什么样的技术栈呢?容器技术的使用是怎样帮助简化问题的呢?

那时包括 OpenStack 才刚刚出现,AWS 在国内刚被知晓,而我们那时候自己最早做虚拟化都是通过 VMWare 来做的。我们一直在关注云计算的发展。在 2011 年底,老季出来创业时,问我有没有兴趣出来,我就出来了。

我们从2014年开始关注Docker技术,然后从2015年开始投入专人研究容器相关技术并开始构建容器服务。服务容器服务属于平安云平台服务的一部分,目前有十几个人参与了容器相关服务的研发工作,另外在公司的研发管理部门还有一个专门的团队在做基于容器服务的持续集成和部署产品研发工作。我们做基于Docker的CaaS主要从用户的需求出发,重点解决部分应用的快速部署和弹性扩展需求。我们希望通过CaaS服务能够缩短应用的上线时间,并能在应用压力上升的时候实现快速扩容。我们构建CaaS服务主要实现两个目标:第一个是提供一个业界通用的CaaS服务,整个服务方式和益处跟外部公有云CaaS服务一样,给用户多一种灵活部署应用的方式;第二个目标是集成公司内部的持续集成和部署平台,这个更偏向于内部应用,让用户直接在开发工具中(比如Eclipse)提交代码后自动化完成应用的编译、打包、验证、部署等步骤。

差不多我的技术历程就是这样的,这也是 UCloud 技术这几年发展的一个缩影。

顺便说一下,平安云平台在使用容器技术中并不仅仅使用Docker服务,我们在不同的应用场景中会采用不同的技术,比如我们在一些对稳定性要求更高的NFV服务构建中,我们直接采用了LXC容器技术。

所有的这些事情其实都是归纳到一点,你相信什么样的事情?我们相信云计算是长远的。我们跟客户的合作不是做一锤子买卖,我们甚至于对客户都有要求,我们都要做得很优秀,我们要长远看这件事情值不值得做?当然值得做。为什么要看长远?因为我们对自己还是有信心的。其实你的现在是被过去决定的,你现在是为未来做的,所以我们现在在这个层面上想的事情都是三年、五年以后的。现在这些从大势来看,我们做的这些其实都是因为我们前三年做了一些事情,我们坚持了一些事情,因为做了那些事情,我们活了下来了。现在数据隐私这个事情也好,数据安全这个事情也好,或者是很多 Serverless 产品也好,我们相信在那个时代会更重要,所以我们坚持做这个。

方国伟:我们认为不同的应用有不同的部署环境要求,容器、虚拟机甚至是物理机等部署形式都是需要的。我们在看待这些技术的时候,不认为他们之间是对立或相互矛盾的,相反我们认为他们是互补、可以共存的。在平安云平台上,我们实际上也是这么做的,我们给我们的用户提供容器(CaaS)、云主机(ECS)和物理机服务(BMS)三种不同类型的服务。

「尝试」——当时胆子真的太大了,走得很前面

平安最初以保险起家,逐渐向银行、投资等金融业务拓展,形成了多元的综合金融服务集团。平安科技成立于2008年,前身为平安集团下属的IT信息管理中心,负责整体IT基础设施搭建、维护、管理等工作;自2013年平安推进互联网战略起,平安科技就开始了互联网金融领域的研发工作,平安云是平安科技推出面向平安集团以及外部金融机构的金融云平台。InfoQ就平安金融云的CaaS服务技术选型,对云平台事业部总经理方国伟进行了采访。此外,方国伟将在CNUTCon全球容器技术大会上分享题为《平安金融云之CaaS服务建设和应用》的演讲。

第一章 一位技术人员的成长史

在我们云平台内部,我们产品自身建设也在尝试DevOps方式。我们的产品建设和运维团队基本是一体化的,比如CaaS服务的构建和运维都是由一个团队负责。这个跟传统IT产品的运维方式不一样,其主要原因是云平台产品还在不断发展变化中,产品开发和运维放在一起可以加快响应速度,提升运维效率。平安云正在构建自己的运维体系,我们称为AlphaOps。我们在参考了传统的ITIL运维流程,学习谷歌的SRE理念的基础上,并融入了平安云的一些个性化要求,构建了AlphaOps运维体系。我们运维目标就是是构建满足平安云需求的智能化运维。我们在今年初启动AlphaOps项目来构建智能化运维平台,目前第一个版本已经上线。我们相信智能化运维是我们运维工作的发展方向,相信通过AlphaOps可以解放我们运维团队并提升运维服务质量。

我举个例子,当时我们产品上线以后,做弹性 IP 的实现,一开始很简单,我们搞几台设备,用 IPtables 实现了弹性 IP 和内网云主机的映射,放在两台机器上,有故障时候服务自动切换,一切都很美好。但是上线以后就开始发现问题,这两台机器不停地宕机,其实就是出现了 "Kernel Panic"。因为我们一开始只有两台核心网络接入设备,宕机一台就是 50% 的服务不可用,然后客户自然就炸了。但是那时候我们是解决不了这个 "Kernel Panic" 问题的,尽管懂一点内核知识,但是对内核代码层面的问题并不了解,我不知道为什么会发生,虽然我知道肯定是那个方向的问题。

方国伟:云计算的网络技术包含两个层面:面向实现和面向业务。和传统网络技术不同的地方是,面向业务更为重要,需要把传统的网络能力如VLAN、子网、路由、FW、LB等进行业务抽象,针对这些抽象后的业务需求,再从众多开放性的实现技术中筛选,但筛选后依然会有很多工作要做,因为大多数情况下,任何现成方案都无法满足要求,就比如说网络能力抽象,目前最成熟的开源抽象方案是OpenStack Neutron,但Neutron对于常见的路由交换、高级FW和LB策略、CDN、IDS都没有定义,需要我们根据Neutron的模型定义方式去扩展很多驱动,走在社区之前有自豪感也充满风险;再比如说SDN,我们通过SDN实现VPC的隔离,但是原生SDN过于学术化,资源颗粒度过细,带来一些副作用,为此我们对SDN也做了大量的简化工作。

一方面技术要做好,它的可拓展性、稳定性要好,这是从研发的架构层面来看;另一个方面,你要真正地懂这个产品。

从服务层次来看,我们认为CaaS是一种间于IaaS和PaaS层之间的服务。这么讲的原因是CaaS一方面具有类似IaaS的兼容性,另一方面也像PaaS那样对开发者比较友好。如果容器技术在安全隔离性上没有大的突破,在多租户场景中,CaaS替代IaaS是比较困难的。PaaS的一个重要目标是让底层环境对开发者透明,应用可以根据负载弹性伸缩。目前来看,CaaS在一定程度上是可以满足开发人员的这些需求的。如果CaaS服务做得逐渐完善,许多本来需要通过PaaS来实现的需求实际上可以通过CaaS就能满足。当然从另外一个角度,PaaS平台可以在CaaS服务的基础上进行构建,通过这种方式,无论是A-PaaS还是I-PaaS的构建难度都可以大大降低。可以看到,Docker起源于dotCloud不是没有原因的。

从一封未发出的邮件说起 …

我们对于是否采用Docker技术没有任何犹豫,从2014年开始就开始跟踪研究。不过,在一开始引入Docker的时候,也纠结过是采用基于虚机的容器还是基于物理机的容器。基于物理机构建的观点主要在于少了虚拟化层次可以提升资源使用效率,并在理论上可以提升稳定性因为毕竟少了中间一个层次。但是,对于容器本身隔离性存在一些问题,不能满足我们隔离的要求。因此我们在多租户的环境下我们还是采用基于虚机的方式构建容器服务,从而可以利用上相对成熟的IaaS层既有的隔离技术。

杨镭:因为我不是从研发出身的,当时 UCloud 创业的时候也不容易,我们当时除了三个创始人之外,还有五个研发技术人员。当时所有的运维、开发、底层的一些工作,这些我都参与过。

方国伟:许多人都把容器当成是虚拟机的对立面,实际上我们认为这两个技术的出发点是不一样的。虚拟机一开始就是为了充分利用底层硬件资源并提供一个隔离的完整运行环境,之所以称为虚拟化就是因为这种技术让应用或管理员觉得虚拟机像一台真的服务器一样(包括虚拟现实VR在内的虚拟也是如此)。而Docker容器技术从一开始的关注点是如何快速部署应用,尽可能的隔离应用对底层环境的依赖。Docker容器实际上更像是Windows平台上的应用虚拟化技术,比如SoftGrid,所以虚机和容器两种技术的定位并不相同。

一开始我们的工程能力就是很强的,因为这个基因来自于创始团队是当时最顶尖的工程团队。云计算天生对稳定的要求特别高,这是非常偏工程化,而这个能力对整个行业的影响是很深远的。

InfoQ:您怎么看待虚拟机和容器技术这对欢喜冤家?您曾经谈到过“基于虚机的容器vs基于物理机的容器”,能否对此解释并详细论述?对于现在新兴的超容器您是否有关注呢?

图片 5

InfoQ:可否向我们介绍下平安科技的整体技术研发团队和容器研发团队的规模?平安科技使用Docker有多久了呢?为什么要研发基于Docker的CaaS金融云呢?

当时 SDN 也是这样的。在那个时候,很多技术和框架还没有标准的、可以参考的开源实现。比如说做虚拟化,你可以用 KVM 或 Xen 都能做 。因为那个时候我对网络方面一直很感兴趣,我以前主要是做运维,对 IPtables 很熟悉,排查过非常多复杂的现网故障,所以对于 IPtables 在生产环境中的使用有一定的把握。当时我们就是这样,去 AWS 的 EC2 虚拟机中抓包结合网络上的材料来分析背后的实现方案,然后用最有把握的工具链来实现。我们很快就做了一套自己的 SDN ——当时还没有 Open vSwitch,它是 2013 年出来的——而我们当时就很大胆地采用了一个这样的东西。现在你看 UCloud 发布的技术文章、我们把技术实现方式都讲了出去,但是那个时候你只能自己猜和试验。

InfoQ:关于对象存储,平安云采用的是什么技术呢?您是怎么看待不同的存储产品呢?

我们觉得自豪的一点不是说这个技术很厉害,而是我们的友商没人这样去做。我们做了好几件类似的事情,我们最终带动了行业的发展,客户在 UCloud 里体会到好处以后,他跑到别的云服务商说,你看 UCloud 这样做的,别的云服务商没办法,就被我们反逼提供这样的功能。而且这种功能不是说我们为了超越谁,而是我们自己想出来的。我们自己的研发人员自己关起门来说,对这种事情还是挺自豪,某种意义上我觉得这其实是种创新。

在我们云平台刚开始的时候,计算虚拟化技术我们主要考察了VMWare的ESX,KVM和XEN三种,Docker技术当时不在这个技术范畴里面。本着“以我为主”的原则,我们整体云平台的技术路线是尽可能走开源和自研结合的路线,所以一开始我们重点考察了KVM和XEN两种虚拟化技术。经过考察和测试,我们认为这两种虚拟化技术都已经比较稳定,符合绝大部分应用的生产需求;但是从技术趋势发展的角度,我们觉得KVM的发展势头更猛一些, 其社区的活跃度也更高,所以我们就选择了KVM作为我们主要的虚拟化技术平台。不过我们公司在传统的虚拟化环境中使用了ESX,所以从兼容性考虑出发,在云平台中我们也支持ESX虚拟化技术,不过我们大部分的云主机都是基于KVM虚拟化技术的。

一开始我是做网络方面的研发,当时懂网络的人比较少,而我是做运维出身的。那时还没有 SDN 的概念,我们开始做云计算的时候,当时主流的虚拟化技术是 Xen,KVM 刚进入视野。我那时候很关心 Linux 内核方面的技术,我认为 KVM 一定是有发展的,所以就建议围绕 KVM 而不是 Xen 做底层虚拟化,我们一开始采用的 KVM 就是这样来的,结果在后面就少走了很多的弯路。

方国伟:平安科技自从2008年成立独立公司以来一直耕耘在金融IT的前沿,近一两年开始从专注于服务平安集团向做金融IT产品方向转型。平安科技目前的研发内容涵盖投资、保险、银行以及互联网领域,有6000多名研发工程师、互联网技术专家。

图片 6

方国伟:云平台的存储服务主要可以分为三大类:块存储、对象存储和文件系统服务。对象存储是云平台的一个重要服务,在金融云中也有多种重要的应用场景。我们在考虑建设对象存储的时候是从整个云平台存储服务建设的角度来看的。当时选型的时候我们在思考有没有一种存储技术,它能够提供多种存储服务?这样我们就可以相对容易的整合团队资源。我们对象存储服务一开始是从研究Swift开始的,但是从前面这个原则来考虑对象存储的构建技术的话,我们觉得Ceph可以让我们用一种技术平台同时构建对象存储和块存储服务(我们没有使用Ceph的文件服务,因为那个服务相对不成熟)。我们对象存储团队对Swift和Ceph都做了大量的测试,觉得Ceph这种基于分布式的数据存储方式能够满足我们对存储服务的一些需求,所以我们基于Ceph构建了平安云的对象存储服务(OBS)和块存储服务(EBS)。Ceph这个技术也有一些需要进一步提升的地方,比如它的IO路径比较长,对性能会造成影响;又如它对小文件的处理不擅长,所以我们自己做了一些定制化的改造来优化它。现在我们基于Ceph的对象存储服务已经运行了将近2年时间,我们把平安云的OBS服务跟外部公有存储服务做过功能比较和性能测试比较, 总体上效果达到了我们预期。

杨镭:接着前面的话题说。尽管在方向上是对的,但是我们还是走了很多小的弯路。我们有一个核心的能力,也是 UCloud 的核心技术能力,就是出现 BUG 或者架构缺陷的时候可以很快地在现网透明地升级解决掉——这实际上是对我们后端的无缝升级能力特别大的挑战。我自己的感受是,一开始讲要这样做时我其实不太相信能做到,但是在第一年,我们就做到了很多这样的事情。

InfoQ:能否解释下您所理解的CaaS?与其他类的XaaS云服务相比,CaaS有哪些独特之处?

我记得那时候在这个功能的发布前夕,我们为此做了一整个通宵。在早上 7 点钟的时候,公司有人来上班了,我就在群里发了一条消息,说我们这个搞完了,大家都很激动,虽然现在两个地域之间的云计算服务器连起来是很正常的,但是在那个时候是没有人做的,那时候就感觉很有成就感。

超容器的概念是非常吸引人的,听上去可以兼有容器的灵便型和虚拟机的隔离性,但是目前还处于比较早的概念阶段,我们对此保持关注。我们会围绕客户的需求,如果确认一个技术有利于我们客户服务,那我们会在这个技术发展到合适的时机把它引入。

第二章 技术观与价值观

最后有一点需要特别指出,经过这两年多的云平台建设实践,我们发现实际上云平台建设的关键不在选用什么样的开源框架,云平台底层的存储服务、网络服务、自动化编排等服务的建设远比采用什么框架更为重要。云平台框架可以让用户快速入门,但是真正云平台的关键还在这些基础服务是否过硬,包括它的稳定性、扩展性等。

你看,这本身是一个非常深入的技术问题,但在创业的时候你不一定能解决,而我们通过架构的优化把它解决掉了,这实际上是 UCloud 从成立第一年开始到现在的一个核心能力。我自己经历过这个事情以后,再遇到什么事情都不怕了。

方国伟,云平台事业部总经理,目前带领团队负责平安云的构建和运营等工作。前亚马逊AWS的首席技术顾问,前微软全球服务部云计算“卓越中心”的资深架构师,前IBM中国有限公司软件部的资深软件工程师,清华大学计算机硕士。主编《让云触手可及》和《详解微软Windows Azure云计算平台》两本图书,擅长云计算和技术团队管理。

从我自己的角度看,我们那时候技术还是走得很快的。我举一个例子,比如现在有的云服务商要在两个地域之间打通,比如说从北京到香港,一般会告诉你要找第三方的网络供应商帮你打通。而 UCloud 是怎么做的呢?我们在底层有物理专线,用户只要在控制台点一下两边就通了。大概在相当早的时候,我们就提供了两个地域连接打通的功能。现在有的云服务商还需要几天才能为客户打通,而我们只要控制台上点一下,计费之后就通了,两个地域间的虚拟机就全部都互通了。

CaaS比较特别的地方在于它起到一个桥梁作用,比较好地连接了底层基础架构层服务和上面的应用层服务,所以构建这个服务的时候需要非常了解这两个层面的技术,并且最好还能集成开发过程管理的一些工具或平台,这样可以更好的发挥CaaS服务的作用。

我们搞不定怎么办呢?当时老季和我们 COO 经常在外面和客户解释网络故障的原因,例如中午和客户吃饭,边吃边告诉客户我们出了什么问题,会采取什么样的措施确保不再出现。而在后面,我们做了一件什么事儿呢?我们大概花了 2-3 天的时间,我们把两台集中式的服务器变成分布式的了,因为在物理机上崩溃了之后、服务器就挂了嘛,所以我们把这个服务放到虚拟机里去,每一台物理机上我们放两台。这样比如说到时候这里宕机了,这两台就可以及时切换,而且因为是虚拟机,切换速度很快。我们写了一个自动化地拉起所有服务的脚本。两三天就完成了,就把这个问题救活了。如果当时不解决,可能 UCloud 就挂了。

方国伟:平安云采用的云平台框架是CloudStack,我们在2013年底到2014年初选择云平台框架的时候主要考察了CloudStack和OpenStack。我们最终选择CloudStack的原因主要有几个方面。首先是当时CloudStack比OpenStack要成熟一些,不同版本的API接口也是CloudStack更一致些;其次,CloudStack在架构和易用性上比OpenStack更胜一筹,用户也比较容易上手使用;再次,CloudStack是用Java语言编写的,而我们团队对Java语言是非常擅长的。OpenStack在过去两年中得到了很大的发展,社区也非常活跃,相反CloudStack由于Citrix的策略和方向问题,其开源之路走的并不好。不过,我们一开始就要设计一个松耦合的架构,并且定下了尽可能少依赖云平台框架的原则,再加上我们自己员工对CloudStack源代码进行了深入研究,因此我们使用CloudStack的整个过程还是比较顺利。我们在CloudStack基础上做了较多的定制化工作来满足我们的需求,所以基本上在向构建一个自己的PAStack方向前进。另外,我们也在消化吸收一些OpenStack中好的设计和模块,比如我们的网络服务平台(NSP)就是参考借鉴了OpenStack的Neutron模块构建的。

杨镭:当时我们遇到的挑战很多,我们一开始第一代用 SDN 白盒交换机的,当时没多想就上了,然后我们遇到了非常多的问题,最早还用过 Open Switch。其实 UCloud 前几年在技术上走的比较靠前,因为我们规模较小,决策更快,而且我们的技术团队胆子也很大,因为对技术团队很自信,对自己的工程能力很自信,所以敢尝试新的技术。比如说在网络层,我们有一套是用的 OVS,还有一套是用白盒交换机,而我们在两套之间还做了无缝地升级。我们的胆子大,所以那时候我们玩的都是新的技术。我还记得我在 2013 年出去做过 SDN 相关的演讲,现在看来当时胆子真的太大了,走得很前面。

方国伟:在云计算领域,美国国家标准与技术研究院(NIST)曾经对云的服务模型有过专门的定义,不过这个定义中只有SaaS、PaaS和IaaS三大类。其他的各种XaaS 云服务都是大家参考这个定义来命名的,比如DB as a Service,Storage as a Service等。这种命名方式的好处是以一种非常简洁的方式让人一下子抓住服务的重点。CaaS(Containeras a Service)指基于容器提供或跟容器密切相关的服务集合。CaaS通常会包括的服务内容有:应用部署、镜像仓库、容器管理等服务。

云计算的问题在于什么呢?它的产品是技术型的,客户用你的产品和服务的时候,你跟客户接触的人员是要懂技术的,尽管我们传统上认为这个事情很多还是商务上、销售上的事情。但是最终你要成就一个优质的客户,因为只有优质的客户,它的业务好,才会更多的买云服务。而优质的客户不光看客户关系的,看的还是你的技术、你的产品和你的人员是不是专业。因为这个原因,所以我后来在整个 UCloud 工作的过程里,不断地在往前走,去做技术支持。那时候我们很重视客户,我去做解决方案架构师,甚至有段时间在事业部参与销售工作,其实是因为被这个问题推着往前走的,包括我现在其实主要的精力也在负责产品以及整体的技术管理这块。

InfoQ:平安云采用的是哪种开源云平台呢?为什么做出了这样的选择?

我们靠这个机制顶了大半年,直到我们的内核负责人来了。最后,发现是什么问题呢?确实是流量带宽控制那里有一个隐藏的 BUG,这个 BUG 其实连 CentOS 都没修复——因为我们用的是 CentOS ——它没修复,而我们也搞不定。当时去查找 CentOS 的补丁列表,并没发现有这方面的补丁。到最后是怎么发现的呢?是上游后来发一个修复,但是这个修复 CentOS 一直都没放进来。

受访嘉宾

作为采访者,我也是一位做了二十多年互联网技术工作的老兵,虽然在私交上我和杨镭并不算熟悉,但是随着在互联网、技术和开源方面话题的展开,我们很快就聊得十分投机。

方国伟:无论是在业务层面还是在信息技术方面,金融行业都是一个高度监管的一个行业。金融行业对服务的可用性以及数据的安全性上要求相对其他行业会更高一些。容器技术的引入对运维工作起到了比较大的推动作用,比如应用环境以及应用的部署时间可以进一步缩短,应用的横向伸缩也可以做得更为敏捷。这些对应用的可用性提升起到了明显作用。在传统的平安环境中,我们有一些应用的部署采用了所谓的大物理机的部署方式,即一台高配置的服务器中部署了多个应用或应用实例,这种部署方式的隔离性不佳。通过采用基于容器的部署方式,我们提升了应用之间的隔离性。在多租户的场景中,为进一步提升隔离性,我们采用了跟亚马逊AWS的ECS容器服务类似的做法,也就是在底层IaaS之上部署Docker容器的方式。我们多租户的容器服务环境是在Rancher产品基础上客户化构建而成的。在内部隔离性要求不高的场景中, 我们直接在物理机上通过MM(Mesos Marathon)方案提供容器部署服务。

杨镭:从我这个角度,首先这是我们的精髓、文化或者说是技术文化。在这个问题上我们是不允许所谓的不纯粹的。所以在管理上,其实我们对刚才说的这几件事情,我们是要求很高的,如果你新来一个人你在文化上不认同,这个可能不适合你。

那时候出来,我们就是想把云这个事情做好。

图片 7

整个云计算这个事情,它的核心其实是一个技术问题,最终想在这个地方走长远,本质上是要比技术能力的,一不小心就会落后。

老王:你作为 UCloud 的技术负责人,之前在 TIC 大会上我也听你讲到过 UCloud 的技术价值观的观点,我想了解一下在宏观上、较高层面上你是如何看待云计算技术的发展的,以及这里传达了什么样的价值观?

老王:你刚才介绍了 UCloud 的情况,作为技术人员我也觉得很有心向往之的感觉。你觉得目前而言,你们这个四五百人的技术团队的优势主要是在工程能力上还是在你们团队上的技术文化上?

杨镭:我们还做了很多很有意思的事情。比如,很多用户买了云计算的虚拟机以后由于密码不严格被黑掉了,然后就变成肉鸡对外发大量数据包。这个事情很多云服务商的处理是很简单粗暴的,就是把你机器关掉,但客户其实是很受伤的。而我们当时不是这样做的。我们看,它不是对外发包吗?我们在宿主机上打开 TCP 来抓包,比如说 10 秒钟的包——因为不能长抓,长抓的量太大了——把它放到数据库里,然后我们去分析这个 TCP 包的特征、出入的比例,如果只是出站没有入站的话,那就肯定是被利用攻击了嘛。后来我们发现,所有被反射攻击利用的特征都是这样的。我们发现如果符合这个特征,就把这个虚拟机的网络给处理掉——我们会把它的网络给漂走,叫做隔离区,并没有把机器关掉,不会影响其他人,但是他的虚拟机自己还是可以登进去的。我们把这叫做最优选择,但是这个技术上很复杂。

其实好几个 UCloud 早期的研发同事,他们都有类似于跟我一样的事情,只是我当时的领域全部在网络上,而他们的领域在其它的方面。

杨镭:当时我离开盛大的时候,写了一封邮件,但邮件我没发出去,一直存在我的草稿箱里,现在还在。其实我对盛大也是挺有感情的,整个平台都是我们一手搭建的,做了很多很多的事情,还是很辛苦的。

杨镭:我结合 UCloud 整个技术发展的情况和我自己的情况跟你讲一下。

「价值观」——我们相信云计算是长远的

比如说云主机,你现在来看很多云计算产品的功能都已经习以为常了,但是 UCloud 一开始做了很多可能现在看起来不同寻常的事情。为什么会做这些事情呢?根本原因在于我们对于运维的理解比较深刻,所以我们敢先做这些功能。比如说当时有一个叫 " 重装系统 " 的功能,当时很多云服务商是没有这个功能的——那时候还很早,大约是 2012 年的时候——这是我现在回过头来看一开始 UCloud 在那个阶段能冲出来的一个蛮重要的原因。

我觉得今天你婉拒了很多采访的邀约而接受我们的专访,我觉得也很荣幸。一方面我们可以持续性地关注你们这边的技术进展,我们把有些可能在你们看来不值得一提,但是在我们看起来可能非常重要或者更有传播和示范意义事件传播给大家。我觉得今天的采访让我确实地了解到了很多我原来没有想到或者没有观察到的地方。

那封信大概的意思是说,云计算真的能解决很多问题,它能让服务器弹性地、不用关机去升级内存和 CPU…… 还有很多充满想象力的事情,其实这也是 UCloud 的初衷,是我们出来创业的初心,包括老季在内,其实也是这样的,在那个时候我们每次出问题,他都知道,可能是哪个机房的网线插反了,或者哪个服务器配置不小心没搞对,就像蝴蝶效应一样引发了严重的后果。

杨镭:这是一种变换的能力。这是整个 UCloud 技术文化所贯穿的一点,先提供一个方案把它解决掉,让我们的服务品质不会降低。而要做到这一点,我觉得最难的是你需要对工程这个事情有深刻的理解。大家都会说工程师很重要、工程能力很重要,但是说实话,就像我开始来到 UCloud 的时候,我也会讲我是工程师,我很自信这一点,但是在我第一年遇到并解决了很多问题以后,我发现自己其实还不太懂。比如说,你看现在最近很火一些知识付费类课程,当我走到那个高度后我跟你说这个事情应该这样,应该那样。但如果你是才进入行业两三年的人,你是听不懂的,你并不知道怎么做,只能知道这句话应该是对的。这句话可能确实是对的,但是在日常工作中,你第一时间是反应不过来的,因为你不会深刻理解这句话。

去年,作为《穿山甲专访》系列采访之一,我们曾经给大家分享过 UCloud 技术副总裁杨镭先生的访谈。那是我和杨镭先生的第一次见面,虽然采访时间不长,但是他务实严谨的风格,也给我留下了深刻的印象。因此,这次又特意预约了他的时间,专程去上海和他深入地聊了一些过去七年 UCloud 的技术选型之路和技术价值观理念,并与这位从一线运维跌打滚爬出身的技术领袖的所思所想产生了深切的共鸣。

那时候大家都知道是趋势,但是到底会怎么发展还没有人敢下定论,就像 Service Mesh 一样,现在绝大多数公司在做研究,在做概念验证,而我们已经在产品环境上跑了,我们走在很前面,有点孤独。

践行新技术 , 到处吃螃蟹

我们当时认为,运维应该走到一线去产生业务价值,而云计算正好是可以让做运维、做技术的人能做产品的一个技术。云计算说白了是把以前运维的东西放在台前了,可以去赚钱了。

第三章 尾声

「能力」——用工程能力解决技术问题

本文由betway必威登录平台发布于互联网比赛,转载请注明出处:中国知名游戏云UCloud获得云计算领域单笔最大融

Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。