方国伟 平安科技CTO兼总架构师
2018年5月8日,InfoQ记者对方国伟先生做了采访,深入探讨云计算产业的发展和平安云的演进历程,结合平安科技的发展经验分析AI产业在过去一年的发展情况。
从私有云到公有云
InfoQ:您先后在微软、AWS、平安这几个科技巨头都工作过一段时间,能否请您简单介绍一下自己的这几段职业经历?
方国伟:2007年我初到微软的时候主要负责大企业的创新技术支持。2008年微软对外推出了Window Azure这个服务,当时还只是技术预览版(Technology Preview),从那个时候开始我就正式投入云计算相关的工作。我在微软前后工作了6年多,其中有一段时间在总部雷德蒙参与了Windows Azure和Windows Server的相关工作。我负责设计了微软中国第一个私有云解决方案,构建了第一个云计算演示中心,并实现了第一个私有云的企业客户案例。我还组织牵头写了微软中国第一个云计算白皮书和第一本关于微软云计算的图书。
2013年亚马逊AWS进入中国,虽然当时的AWS在中国其实有点像一个创业公司,只有几个员工,但我看好亚马逊的云技术,因此正式加入成为AWS中国的第一个技术人员。我在亚马逊AWS主要负责技术市场相关的工作,同时也负责一些重要客户的服务咨询工作。14年平安科技开始大规模投入做云计算,对于我来说,能自己和团队一起去设计一个完整的、全新的云平台产品是一个更有挑战也更有成就感的事,所以我和家人来到深圳,加入平安。
InfoQ:从您2008年开始正式进入云计算领域已经十年了,在不同的职业阶段,就职于不同的公司,您对于云平台的认知是怎么迭代和变化的?
方国伟:这十年我做过公有云,也做过私有云,微软的Window Azure是公有云,外企的云落地到中国是很有挑战的,我当时提出的微软云战略是,一方面通过Window Azure帮助微软建立云计算的领导力,另一方面是通过私有云解决方案帮助微软获得云方面的收入。从供应商的角度,私有云的解决方案就是如何以云的概念去销售IT产品和服务。我在微软也曾帮助多个中国客户构建了私有云。我在亚马逊的时候做的是公有云,到了平安则是逐步把私有云构建成了公有云。
在云计算刚刚开始发展的时候,大家认识也不统一。我记得曾经有个笑话讲在一个云计算大会上,主持人问了10个人什么是云计算,结果得到了12个答案。我做了大量的学习和阅读,印象比较深的有两篇论文,一个是09年伯克利的一篇论文(Above the Clouds:A Berkeley view of Cloud Computing),还有一篇是美国NIST的论文(The NIST Definition of Cloud Computing),这个组织经常给行业做标准定义的。云计算的标准,包括IaaS、SaaS、PaaS三种服务模式,公有云、私有云、混合云部署模式等都是NIST提出来的。我通过前几年的学习和实践,我逐渐完善了对云的认知。后面几年更多的是将所学所想在实际场景应用起来,我自己对于云的认知本身没有太大变化,但可以看到现在市场对于云的接受程度越来越快。
InfoQ:你觉得在这十年里,云计算的应用情况可以分成哪几个阶段?
方国伟:我认为云的发展或者说企业IT的发展可以分为几个阶段:第一个阶段是传统IT方式,这个阶段不是很动态,采用技术也比较固定,都是传统IT厂商提供的技术。第二阶段是采用虚拟化阶段,2000年后虚拟化技术慢慢成熟,越来越多的企业开始使用虚拟化技术,但也面临着很多挑战,比如服务器虚拟之后数量变多、灵活性增加的同时管理复杂度也增加了,因此需要更好的方式来使用这些新技术。然后过渡到了私有云,私有云是在已有的IT虚拟化技术上加上动态管理用以提高效率的方式。我认为云计算发展的最终的方向还是公有云,但往公有云发展可能中间有一个阶段,有些企业既用公有云也用私有云,属于混合阶段。随着云技术的不断发展,我认为公有云的比例肯定会越来越高。
我之所以一直看好公有云(含行业专有云)的发展,是因为关于云计算的三个基本因素一直没有变化:
• 经济学上的规模效应;
• 自动化提升效率;
• 专业分工,专业的人做专业的事。
只要这三个基本因素没有变化,公有云、专有云的发展方向就不会变。
平安云的四年升级之路
InfoQ:刚才您介绍平安是13年底开始构建云计算平台,平安云的架构设计经历了哪几个阶段的演进?能否介绍几个关键节点?
方国伟:在云平台搭建之初,确定一个合理的架构是非常重要的,因为架构确定之后再做调整是非常困难的。在平安云的架构上,我们当时做了两个非常明智的决定。第一个是决定用公有云的服务设计和架构方式来做私有云,比如我们一开始就做了多租户,平安内部有很多的专业公司,专业公司下面还有不同部门和项目组,他们在我们的云上就是一个个租户。还有我们使用了VPC(虚拟私有云)的方式,这种方式在于可以把租户和租户之间通过网络很好地隔离开,这个决策使得我们后续在向公有云方向发展的时候,技术架构上的调整比较简单,没有太大的阻碍。
第二个决定是平安云的整体架构设计由我们团队自己控制,云平台中一个的功能模块使用什么技术可以由团队自己来决定,有些是自主研发,有些是开源技术,有些是选用商业产品。这个决策我们认为非常重要,有些公司在搭建私有云的过程中,采用与某个供应商整体合作的方式,这样做不仅内部团队对技术把控不住,灵活性也欠缺,因为供应商产品往往是一个整体,定制化困难。如果整个架构是由我们自己设计,每个模块采用的具体技术方案由我们自己选择,这样得出的整体方案灵活性很强,可以做到整体自主可控。云的发展越来越快,规模越来越大,业务越来越多,打造一个自身能力很强的技术团队,对以后的高速发展也非常有利。
InfoQ:您刚才谈到的两个明智决定保证了平安云不管是随着公司战略发展而调整,还是跟随整个云平台技术而不断发展,平安云都能游刃有余。那么,能否介绍下,在平安云这四年多的发展历程里,有哪些关键的变化?
方国伟:这是一个高速发展的时代,每个公司的业务发展规划都是动态调整的。2014年初到平安时,公司高层的想法是搭建平安集团的私有云。到2015年底,这个任务基本完成,平安私有云的规模、架构都是比较完备的,云平台上的应用也越来越多。2016年初我们就在构想,既然平安云在平安内部推广和应用的相当成功,为什么我们不能将这个平台介绍给更多的客户,对外部客户也开放呢?因此2016年公司提出平安云要从对内服务转变为对外服务,我们专注的是金融行业,这是我们的巨大优势,所以我们要做最专业的金融公有云。这个是第一个比较大的业务发展规划的调整。
2016年我们推出的金融云成功的为很多银行业务提供了技术支撑,2017年年中的时候我们对外发布了平安公有云。2017年底平安集团的又进行了新的业务战略调整,进一步加大科技的投入。另外不但做金融,还在医疗和智慧城市两个方向发力,所以2018年云平台的重点就是为金融、医疗、智慧城市这三大行业做支撑,这是第二个比较大的发展方向的变化。由于这三个行业都属于强监管行业,因此我们面临了很大的挑战。我们在云平台构建里面做了很多隔离技术,使得整个云平台可以支撑不同的行业。为了应对政府对数据安全性的高要求,我们使用了不同的管理方式,有托管也有专区,以此来满足不同行业对数据安全性上的各种特殊要求。
InfoQ:平安云目前的业务主要分为哪几部分?
方国伟:从产品角度划分,有计算、存储、网络、数据库等。这个角度上平安云跟一般的云平台很像。但平安云跟其他云平台最大的区别是我们有很强的业务属性,如果从业务角度来划分,主要分为三大类,金融、医疗和智慧城市。目前金融行业的业务量最大,例如我们跟平安壹帐通公司合作,在云平台上提供很多针对银行的应用和服务。
InfoQ:您谈到目前平安云上金融行业的业务量是最大的,这能否代表金融行业对云计算的需求是最大的呢?
方国伟:这应该不是普遍的规律。平安云是行业云,我们专门针对上述行业来提供服务,因此这些行业的业务量相对较大。目前市场上其他的云平台各有侧重,有的云平台主要是做游戏,有的是做互联网创业公司,每个云平台都有自己的个性特点,专注不同的市场。所以我们在打造平安云时也重点打造平安云的差异化和竞争优势,和其他的云平台区别开来并为我们的目标客户提供更好的服务。
InfoQ:现在,越来越多的客户需要获得人工智能的支持,这个能力可以通过云端获得——无论是公有云、私有云还是混合云,也可以通过终端获得。平安云现在主要是通过哪种方式提供这种能力的接入接出?能否介绍一下现在通过平安云平台使用这些人工智能能力的案例?
方国伟:平安云的人工智能能力分为三种方式来输出,一是直接提供了人工智能的服务能力,例如平安云已经上线的人脸识别API,用户可以直接调用API来使用这个服务。第二,我们提供了机器学习的框架服务,比如我们支持TensorFlow,在这个服务的基础上,用户需要自己设计算法,然后将算法放在机器学习服务上面运行。第三种,更加底层一点,我们在云平台上面也会提供GPU计算服务,客户可以使用这些计算力,构建自己的机器学习框架并进行训练。云平台上一个典型的人工智能案例是车险定损例子,我们现在可以通过手机拍照并上传受损的车辆照片,后台系统就可以自动辨别车型、受损部位、损伤程度等并自动计算需要赔偿的金额。
InfoQ:您感觉市场对AI能力的需求现在处于一个怎样的量级?从平安云的角度,涉及AI的业务在你们平台上有怎样的增长趋势?
方国伟:整个社会对AI的需求从2017年开始增长的非常快,可以说是爆炸式增长,我们的平台也反映了这一变化。目前做AI的重点大多是通过机器学习和深度学习,这两方面对数据计算能力要求很高,无论是什么样的模型,都需要大量的计算能力,所以在云平台上我们看到对GPU的需求量非常非常大。现在最大的挑战在于GPU的供不应求。目前在市场上采购GPU服务器,周期还是比较长的,我们经常遇到的一个挑战就是我们预测的需求增长赶不上用户实际的需求增长。这从另一方面也反映出AI的需求量确实非常大,一个模型就需要很多资源去训练。我们认为AI正在成为云平台上的一个Killer App(杀手级应用场景)。
云平台如何做技术选型?
InfoQ:刚才我们提到金融是非常重要的云计算应用的行业,相比其他传统行业,你们为金融行业打造的云服务有哪些不同的业务需求和技术挑战?
方国伟:金融行业最重要的是安全,平安金融云的安全性首先得益于平安科技的团队,大部分团队成员的背景一直从事金融IT,所以对金融行业对于安全、运维的相关要求都非常了解,由这个团队构建的金融云平台,在满足金融监管要求和提供高安全性服务方面是有重要优势的。第二,银监会对银行应用云服务是有特殊要求的,如果某个银行关键应用使用了云平台服务,那么云平台的隔壁租户也必须是银行,也就是要求云平台必须做一个银行专区。因此我们做的金融云会通过银行专区的方式提供给银行客户,也就是底层的计算资源、存储资源等专门给这些专业用户用,通过物理上的隔离来满足行业监管的要求。最后,我们在架构和资源上都充分考虑的金融行业的高可靠性和冗余性要求。
InfoQ:请问对于医疗行业打造的云服务有哪些不同的业务需求和技术挑战呢?
方国伟:对于医疗行业也是和金融行业一样,首先要满足行业监管的要求,然后是考虑如何让我们的服务更符合医疗行业对底层技术的要求。我们在平台层PaaS层,应用层SaaS层,都在努力提供更多的能实际解决医疗行业业务的服务,使我们的服务更符合行业云的特点。
InfoQ:平安云采用的是哪种开源云平台?为什么做出了这样的选择?
方国伟:很多人认为开发云平台,需要选择某一个框架,比如CloudStack、OpenStack等等。但是经过几年的实际耕耘之后,我认为选哪一个框架并不关键,云的关键在于底层的网络、存储,包括一些自动化的流程设计。框架上我们最开始用的是CloudStack,后面也融入了一些OpenStack的模块,所以我们的做法相当于把CloudStack和OpenStack的相应模块整合在一起,加上我们四年多的大量定制构建起我们自己的PAStack(也叫做平安Stack),形成了平安自己的一套框架,使得我们平台的定制能力和适应能力更强。但是平安云的真正关键不在这个框架,而是底下的网络、存储等核心服务,以及如何将这些部分做得更加安全可靠,扩展性更好,跟PAStack能有机的整合在一起,提供卓越的云平台服务。
InfoQ:您刚才提到的网络、存储和自动化流程上进行过哪些选型工作?
方国伟:我们尝试过很多不同的技术,以存储为例,云存储服务可以分为三大类,对象存储、块存储和文件系统。我们的对象存储是基于Ceph做的,块存储采用了混合的方式,使用了Ceph还有传统的SAN,甚至也有用到本地盘。我们通过不断尝试来研究哪一种存储方式能更好地适应云平台的需求。我们现在的云平台有11个数据中心,每一个数据中心的构建时间都不同,比如说最开始构建的数据中心,当时没有Ceph,就只能是用传统的SAN来做块存储。当技术慢慢越来越可靠,团队把握能力越来越强以后,新的数据中心构建就会选择Ceph。技术始终是在不断发展的,我们主要关注什么样的技术更能解决当前场景的问题。平安云从2014年底2015年初开始做容器的尝试,我们尝试过很多不同的技术,目前最新的容器技术发展方式就是按照Kubernetes来构建的,虽然其他的容器技术也还在用,但重点是放在Kubernetes上。
InfoQ:可否介绍下平安科技的整体技术研发团队和容器研发团队的规模?
方国伟:由于平安集团在做科技方向的业务转型,所以今年的策略跟之前不太一样,今年我们平安科技的转型目标就是做云公司。所以平安云不仅仅包括刚才讨论到的计算、存储、网络、容器,我们也包括很多平台层和业务层的服务,都会整合到云平台里面来。我们对外的服务都会通过云平台统一展示和服务,所以从这个角度来讲的话,大部分平安科技的研发人员都会参与到平安云的建设工作中。另外,平安云上的许多SaaS服务也是平安云的一部分,许多针对各个行业的应用服务都是由平安不同专业公司参与共建的,所以整体研发团队规模是比较大的。
InfoQ:您一开始也是架构师,慢慢走到现在,在整个团队中,架构师所承担的是什么样的角色?您所理解的架构师职责包括哪些?
方国伟:架构师还是挺关键的,因为架构师是从需求到最后实际做产品研发落地的重要桥梁,他需要对很多需求有比较深刻的理解。这个需求包括两方面,一个是功能性需求,到底这个产品做什么的;另一个是非功能性需求,比如说安全性、可靠性、性能等等,跟直接功能没关系,但是会间接地影响功能本身的使用好坏,这些需求架构师都要有很深的理解。因此对架构师的职责要求也非常高,技术要过硬,一方面要有自己的技术特长,另一方面是技术面要广,比如你要设计云相关的某个架构,关联的系统都要有所了解,否则设计出来的的系统是孤立的。如果说这个架构师是做软件相关的架构,我们希望这个架构师能够开发核心模块。如果是系统架构师,那他需要对相关系统软件有一线的经验。不能光说不练,还是要有很强动手能力才行。
InfoQ:如何成为一名优秀的架构师,您是否能跟我们分享一些自己的经验?
方国伟:仅供参考,我认为一个架构师有几点比较重要,一个是一定要有自己的技术特点,某方面的技术必须了解得很深,架构师不能光是了解面,好像什么都懂一点,没有自己的专长的话,很难建立起自己的技术口碑,没有技术口碑就没有技术上的公信力。第二,架构师眼界要广,知识面要广,敏感度要比较强,你要了解到哪些技术是有发展潜力的,架构师很多时候会涉及到技术的选型,需要帮团队做技术决策,敏感度不行的话就可能选错。第三点其实跟很多技术工作都有关联,只是对架构师来说可能更重要一点,就是学习的能力,要能够不停地学习新的东西,快速了解新的东西,一旦有很新的技术出来架构师要能快速地了解并上手使用。
InfoQ:您刚才说到的敏感度,感觉比较抽象,怎么培养敏感度呢?
方国伟:敏感度有两种方式来培养,一个是你要关注业界发展的情况,要知道现在业界大概有哪些新的技术出来,这些新的技术跟老技术有什么转变关系和替代关系。第二是架构师要动手,我一直鼓励团队的人要把你的手弄脏(Keep your hands dirty)。如果你做系统设计,就要去装一些系统,配置一些系统,如果是应用代码设计,自己要写代码,自己动手做了之后,才能增强技术敏感度。举个例子,2016年的时候,我负责云平台团队,当时团队想做一些自动化运维,我们取了个名字叫AlphaOps,因为2016年AlphaGo下围棋赢了,我们觉得在运维上面也可以应用人工智能。为了了解如何在运维上应用人工智能,我也去学习了Python语言,学习了之后就更能了解为什么Python对运维很重要。因为Python语法简洁,还有不同的运行模式,支持交互模式。Python的交互运行在运维里非常有效,而且Python在机器学习里面也非常流行。我希望团队的人都是这样的,自己动手去做,才能对技术更了解,敏感度就会更好。
云计算回顾和展望
InfoQ:有人认为2017年是Kubernetes的胜利之年,您怎么看?
方国伟:Kubernetes在2017年确实发展得非常好,Kubernetes其实从2014、2015年开始发展势头慢慢起来,为什么能发展得这么火?因为Kubernetes背后是容器,背后最重要的推手是谷歌。谷歌为什么要花这么大精力去推一个开源的产品?我的看法是,主要还是因为谷歌在云计算领域是后来者,他们在想办法改变游戏规则,他们想改变原来基于虚拟机的运作方式,因为在原来的游戏规则里,谷歌是不可能赶上其他厂商了,比如AWS。但实际对更多的云从业者来讲,这是一个很好的机会,既然谷歌可以利用这个趋势,其他云厂商也可以利用这个趋势,因为容器的好处是让云平台上面的应用和云平台本身的耦合度降低,大家不会绑定在某一个特定的云平台上,所以迁移能力会比以前更强一些。2017年发展很快,我相信一方面是谷歌背后在推,另外是更多的从业者、云服务商觉得这是很好的机会,可以改变游戏规则,能够让自己有更大发展空间。
InfoQ:您觉得过去这一年,云计算领域最重要的新事物是什么?
方国伟:云计算行业有两个事情是我们重点关注的,一个是应用方面,两大类应用是比较有潜力,一个是人工智能,当前人工智能大多基于深度学习或者机器学习,需要大量数据,这些数据放在云平台上比较合适,同时对计算的需求量也很大,既有存储需求又有计算的需求,因此人工智能对云平台会有比较大的驱动作用。另外一个是正在兴起来的IoT,也就是物联网,以后的智能应用会无处不在,物联网本身会产生大量的数据,有很多边缘计算方面的需求,这跟云平台的关系也非常密切,因此从需求角度来看,我们认为云平台在IoT方向上的发展应该也是很明显的。
另外从计算模式上来讲,现在云平台有一个新的计算模式,平安云也在做,就是Serverless的计算模式。我们内部也有一个项目也在做Function as a Serverless(FaaS),目的是希望降低用户对资源、环境管理的需求,只要把代码一提交,云平台可以帮他自动运行,而且真的能做到用多少付多少钱,如果没有人调用这个服务,这个服务本身是没运行的,也就没有计费。这个是云在近两年慢慢发展起来的一种计算模式。
InfoQ:您觉得云计算领域现在最有待突破的地方在哪里?
方国伟:云计算最有待突破的不是技术,而是另外两个。一个是心理,我并不认为公有云的安全性不如私有云,但这是很多人认为的。这是一个误解,实际上公有云的安全性并不会比私有云差,我认为没有本质区别,所以这是云计算行业需要更多用户突破的一个心理障碍。第二要突破的是利益问题,很多企业都有自己的数据中心,有自己的团队去做基础设施运维,如果采用公有云的方式,或者行业云(行业云也是公有云的一种,是针对某个业的公有云),这个团队本身的利益会受到损失,可能这个团队就不需要了,或者团队工作量会减少,这是利益方面的分配问题。我觉得这才是云计算行业目前面临两个需要突破的问题。技术的演进本身我觉得是没问题的,我们并不期待一个特别大的突变来改变云计算领域,因为在过去的发展中,绝大部分应用已经可以在云平台上完成和实现,至少可以实现得跟本地一样好,所以关键不在技术层面,而是心理或习惯上,在利益上。我们需要意识到,整个行业在转变的时候,肯定有些人的工作方式会发生变化。
InfoQ:您认为下一阶段云计算的主流发展方向是什么?IaaS、PaaS、SaaS和平安提出的CaaS各自将如何发展?
方国伟:云计算发展最终是要解决业务问题,我们认为IaaS这一层慢慢会趋向于同质化。很多公司都在做云平台,云平台里面很大一块是做IaaS,但最终 IaaS这一层慢慢会同质化,差别会有,但是不会有本质区别,就像我们买服务器或买笔记本,最开始笔记本出来有许多不同的品牌,慢慢的最后剩下的品牌就很少了,因为大家觉得选哪个品牌都一样,服务器也是一样的。所以云平台的IaaS一层未来也不会有太多不同的厂商品牌,而对用户来说选哪个IaaS也都能满足它的需求。
我希望平安云是最有自己的业务属性的,而且是比较强烈的业务属性,这也是我们构建行业云的一个很重要的特点,比如说云主机可能跟其他云平台类似,但是还有一些不一样的,带有很强业务属性的服务,这需要把平安整个集团各个平安云一方面是要继续夯实IaaS这一层的技术,使得我们的产品跟其他的产品在通用基础功能上一样,但是在针对行业上具备一些独有的特点。另外我们会在业务属性上加强突破,希望我们的云平台可以针对智慧城市、医疗和金融提供特殊服务,尤其是在整个P层和S层,后续有很多发挥空间。
InfoQ:对于平安云的下一步您有哪些规划?平安云未来有哪些改进计划?还将探索哪些新的技术或发展方向?
方国伟:从技术方面来讲,我们始终在跟踪云计算业界的发展,希望在技术发展上保持跟业界同步。另一方面,从业务拓展方面,整个平安云的业务紧紧围绕平安集团战略来做的,平安云有自己的云战略,但从整个集团来讲我们是支撑集团的业务战略。例如,集团如果要拓展海外市场,平安云也会拓展海外市场,比如今年我们在香港已经建立两个数据中心,会提供平安云的服务。第三,我们会继续加强业务能力构建,例如我们今年构建了一个API市场,其中包括技术的API和业务能力的API,业务API是围绕着刚才说的三大行业来构建的。
InfoQ:当前整个云计算市场厂商非常多,竞争激烈,您希望平安云未来在其中扮演什么样的角色?
方国伟:我希望平安云是与众不同的云平台,目前大部分云平台都是技术属性,没有业务属性,业务公司的专业特点发挥出来。另外平安云会比较开放,比如我们平台上的API市场,对于平安内部提供的API和合作伙伴提供的API认为都是一等公民,而且技术的、业务的API都会放到我们的云平台上面。