【51CTO.com原创稿件】长久以来,私有云厂商都被一朵乌云笼罩着:私有云是否是一个伪命题,这个世界是否终将被公有云统治?无论如何振振有词,当2006年3月14日亚马逊向全世界公开其公有云服务AWS时,IT的历史车轮就碾入了公有云纪元,传统IT厂商不得不面对AWS这个门外的野蛮人。关于私有云,AWS CTO Werner Vogels在2010年就做出了他的论断,Vogels称所谓的私有云不过是个销售话术,是IT厂商为了将客户蒙在鼓里设计出来的词汇。Vogels认为私有云是“false cloud“,其目的是想让客户购买更多硬件来“build your own cloud”。虽然“false cloud”和“build your own cloud”本身就存在逻辑矛盾,但这并妨碍AWS表明其态度:私有云不过是IT厂商造出来自high的救命稻草,根本不能称为“云”。过去几年我被多次问到这个问题,问题的核心在于公有云是否终将统治世界。
只有公有云的世界是什么样子?
如果全世界的IT基础设施被几家公有云垄断,会是什么样子?首先Intel会沦为附庸,除了为不断萎缩的PC市场生产CPU外,其所有服务器芯片只能卖给公有云从而彻底丧失议价权。公有云也会用其它架构的CPU(例如ARM)来打压Intel的价格,AWS在此次re:Invent 2018年度云大会上就发布了基于ARM芯片Gravtion的EC2实例。
DELL、HP、Cisco等硬件公司会倒闭或被公有云收购。所有的计算、存储、网络能力都集中在公有云手中,没人会再买他们的硬件。公有云也不会购买商业硬件,而是自己制造。不用等到未来,现在公有云/互联网巨头已经大量使用白牌硬件,HP不再做公有云/互联网公司的服务器生意,实在无利可图。
微软、Oracle等基础软件公司会消亡(微软可以通过Azure重新统治世界)。公有云会用自己的产品取代现有一切基础软件,提供自己的操作系统、数据库以及一切PaaS。他们已经开始这样做了,并且会越来越成功。
应用软件商要看公有云脸色过活。如果足够的有利可图,公有云会毫不犹豫的进入你的领域,依靠庞大的技术生态制造出类似的产品并打压市场价格。巨头没有边界,2014年AWS就推出了WorkSpaces云桌面产品。
这样的未来,IT创新可能会停滞。公有云之间仍有竞争,但IT市场实在太大,几家分享数万亿美元的市场很容易让巨头们达成默契的垄断。
这像是危言耸听,毕竟跟我们熟悉的IT世界太不一样。但不要忘记,在几十年前的大型机时代,每个人一台便携移动计算机(手机)更像天方夜谭。而现在都成真了。
没有SLA,AWS Outposts不性感
“我们能统治世界”,2010年的AWS多半这样认为。仅仅过了8年,2018年的 re:Invent云大会上AWS发布了Outposts产品,一款从产品形态和商业模式上都不性感的混合云产品。Outposts基于AWS的自有硬件(基于Nitro架构的服务器,类似于阿里云的神龙服务器),可以部署在客户自己的数据中心,AWS负责安装部署并提供后期升级运维等服务,客户可以在自己的数据中心内使用AWS公有云上流行的产品(例如EC2、ECS,后期还会包含RDS这样的PaaS产品)。Outposts提供VMWare兼容以及AWS兼容两种模式,客户既可以使用他们熟悉的VMWare控制平面,也可以基于AWS API编写程序让应用在本地数据中心和AWS公有云无缝部署。除了首发使用自有硬件,AWS表示未来不排除跟HP、DELL等厂商合作,让Outposts运行在这些厂商的硬件上。
Outposts没有发明新东西。产品形态上,Azure Stack做了同样的事情。按使用付费的租赁模式,国内一些厂商做的更彻底,提供从机架到虚拟机里应用打包的全租赁。跟公有云相比,Outposts缺少一个核心:超高的SLA(Service-Level Agreement,服务等级协议,供应商对客户服务的质量承诺,达不到服务质量会有相应的赔偿)。从本质上讲,公有云出售的是“资源的使用权+SLA”。传统IT厂商其实也提供SLA,但内容条款跟公有云很不一样。SLA在上世纪90年代末或2000年初变得流行,早期的IT厂商是以产品保修的方式提供售后服务,随着客户越来越重视业务的在线时间,IT厂商发现服务质量保证可以成为额外的收入来源,故通过SLA跟客户签订如产品故障后限定多少时间内修复或换货的承诺。公有云将业务在线时间相关SLA提高到传统IT厂商无法达到的高度,源于对IT基础设施的控制力,从机房、电、网络、硬件到软件都能控制,故能提供分钟级别的SLA。例如AWS的EC2(虚拟机)、EBS(块存储)SLA的月度在线时间比例(Monthly Uptime Percentage)是99.99%,相当于每个月最多有4分23秒的不可用时间,对SLA未达到的情况会做出10%~30%消费赔偿。IT厂商做不到这样的SLA,因为他们的产品只是整个IT架构的一部分,有太多第三方因素可能会影响SLA,硬件故障、机房断电、运维误操作等等。超高的SLA对看重业务在线时间的客户极具吸引力。互联网公司尤其如此,设想一下微信、支付宝这样的应用因IT基础设施故障停用数天会导致什么样的灾难。虽然微信、支付宝能够构造AWS类似的基础设施,但大部分对SLA有高要求的企业是无力自建这样的基础设施的,公有云对他们来说是很好的选择。
Outposts无法提供公有云的SLA。其产品形态让它跟普通IT产品一样,只是客户整个IT架构中的一部分,有太多因素超出AWS掌控,例如客户数据中心遭遇暴风雪而导致大面积断电。即使未来AWS为Outposts拟定SLA,其条款也只会类似IT厂商的常规条款,例如售后服务响应时间、产品升级或更换硬件导致的服务不可用时间等。虽然媒体用很多新兴概念来描述Outposts,但正如8年前Vogels指责传统IT厂商在任何产品前都加一个“云”字一样,这只是一种“sales pitch”(销售话术)。Outposts将AWS的部分公有云产品本地化固然给客户带来了巨大的价值,但这种价值来源于AWS公有云的成功,Azure、阿里云也在做同样的事情。总之,公有云为IT带来了巨大的创新,但一旦它的产品失去了SLA,就不再性感。
Outposts是AWS对物质世界的妥协
对于AWS推出Outposts的动机,中外媒体大多认为是一种妥协,AWS自己也承认客户想在自己的数据中心获得跟AWS公有云一样的功能和体验。妥协这个词含有一种不是创新者乏力而是这些客户不行的意思。AWS在TO B的世界有着苹果在手机领域相同的创新者地位,人们对于颠覆性创新者总有无限期盼,希望他们毫无妥协的改造这个旧世界。但AWS妥协了,对象并不是手中握有大笔IT预算的CIO,而是我们生存的物质世界。
尽管IT帮助所有的行业提高了效率,这个世界仍有大量的生产活动还没有被IT彻底替代。种植粮食的仍然是农业机械、挖矿的还是矿机、钻取石油的依然是钻井,总之除了几万亿美元的IT支出外,还有几百万亿美元投入到了其它的生产活动中。回到云计算,未来辅助生产活动的IT基础设施是否只有公有云?AWS给出了否定的答案。这里有复杂的原因,但可以粗略归为:异构IT的复杂性、计算/存储能力的本地化以及网络的不可靠。
异构IT的复杂性
大多数生产系统并非是围绕IT设计的,他们比IT更早出现,现在被IT改造,例如给炼钢设备安装大量的传感器收集数据,给生产线安装机械手臂。这些改造的复杂性制造出异构性IT。如果世界只有公有云,意味着所有的IT都要接入公有云,这不符合公有云的商业模式。公有云能快速发展壮大是因为向客户提供标准的IT模型(例如AWS最早的经典网络以及后来的VPC)从而实现规模化。当客户的IT太过异构不能直接套入公有云IT模型中时,面临的选择只有两个:一是期待客户IT系统改造以适应公有云;二是提供私有云来适应客户IT系统。第一条路目前行不通,且不说传统的力量多么强大,单从体量上讲,千亿美元规模的公有云很难要求动辄万亿美元的行业为它改变。只有第二条路可走,提供私有云来适应客户IT系统。反对者可能会说AWS Outposts输出的仍然是公有云产品,没有特别的改变,这个留到后面分析Outposts产品形态时再讲。
计算/存储能力的本地化和网络不可靠问题
即使异构IT都能接入公有云,仍然面临当前IT技术的限制。我们杜撰一个AI系统,它能根据炼钢设备传感器数据实时控制炼钢设备。那么传感器数据存储在哪儿?AI系统又运行在何处(需要依赖的计算能力在哪)?假设钢厂地处偏远,炼钢设备就必须通过网络接入数千公里外的公有云数据中心,将数据传送至AI系统并等待分析结果再做下一步操作。这样的IT系统难以让人充满信心,因为它运行在不可靠的网络上。相对于人类社会的数据总量(据传为100ZB,约为10的14次方GB),目前的网络绝对是一个低带宽、高延时、不可靠系统。要保证上述钢厂网络的带宽和延时,得通过专线连接数千公里外的数据中心,且必须有冗余,否则无法防范施工队的铲车轧断线路导致生产中断。这无疑是巨大的投资。如果把炼钢系统的传感器换成摄像头,要求AI系统做出低延时的图像识别,网络建设成本更是不可想象。解决的办法是将计算/存储能力本地化,例如在钢厂500米内建一个机房,让AI系统就近运行,网络的问题也就解决了。对于云计算厂商来说,输出一套私有云/混合云系统到钢厂的机房,比设计一个横跨数千公里接入公有云的系统更为简单和可靠,这是目前IT技术的限制。
生产制造业的例子似乎听起来很遥远,但就在日常办公中公有云也会有IT接入的难题。2014年3月AWS发布WorkSpaces云桌面产品时,我的第一反应是在想AWS的云桌面怎么跟办公室里的打印机、扫描仪以及视频会议系统连接起来,因为云桌面的主要场景为日常办公,不可避免的要跟办公室的各种设备对接。后来我在AWS官网找到了打印机使用的文档,但同时也在AWS论坛上看到了不少打印机无法使用的吐槽。这样的例子有很多,银行的U盾、智能投影仪等,总之在公有云接入本地设备还不那么容易。
假如我们生存在一个虚拟世界,不需要衣食住行只靠信息交换就可以生存(像科幻电影中那样戴一个头盔接入虚拟世界),则公有云完全可以满足生产活动的所有IT需求。我说AWS是对物质世界妥协,因为目前的公有云只满足现实世界的部分IT需求。再来看一下苹果和AWS的创新,你会发现苹果在发布IPhone短短几年内几乎消灭了所有老牌手机厂商,诺基亚、摩托罗拉、黑莓。而AWS虽然对传统IT厂商打击巨大,但IBM、HP、DELL、Oracle仍然坚挺的活着。这是因为IPhone除了巨大的创新外,还满足了客户对手机的所有需求,如果IPhone不能打电话,诺基亚仍然会是最好的手机厂商。尽管AWS跟苹果一样带动了新行业的发展(移动互联网、SaaS等),获取了巨大的创新红利,但他并没有满足这个世界的所有IT需求。传统IT厂商活了下来,做着AWS称为“false cloud”的私有云,现在AWS Outposts来了,吹走了私有云天空最后一片乌云,不必再争论私有云/混合云是不是伪命题,是“true cloud”或是“false cloud”。正视物质世界IT需求的复杂性,也许未来公有云会满足一切IT,但不是现在。
用VMWare,AWS又做对了
Outposts是AWS和VMWare合作的产品,客户可以使用他们熟悉的VMWare的控制面板,也可以使用AWS Native模式,第一代产品主要是IaaS功能,提供EC2、EBS。可以肯定Outposts的IaaS部分几乎全是VMWare贡献的,AWS也宣称客户可以使用VMWare NSX、AppDefense、vRealize等产品。从技术角度来说,AWS要实现Outposts有两条路可以走,一是基于AWS公有云的代码改造,一是跟VMWare这样的厂商合作。AWS选择第二条路,这是对的。公有云和私有云面对不同的复杂性,公有云更强调规模和性能,用统一的IT架构提供资源,对传统IT异构性和利旧基本不考虑。私有云则必须面对异构的IT形态并兼容利旧各种设备,但规模和性能上不必向公有云看齐。Outposts的目标客户是想在自己数据中心中使用AWS产品的企业,他们多为传统IT架构,如果通过改造AWS公有云代码来满足客户需求,无论难度还是风险都非常大,这意味AWS的公有云产品在后续发展中都不得不为私有云考虑,这不仅会拖慢公有云创新的步伐,实际上也难操作。想象一下AWS的内核工程师在优化虚拟机热迁移功能时要顾及一款他从来没有听说过的PCI设备,因为私有云客户会透传它给虚拟机使用的。采用VMWare做IaaS则没有这个问题,VMWare从来就是服务于传统企业客户,20年来趟坑无数,沉淀出大量传统IT需要的功能。前面提到AWS可以通过部署Outposts来适应企业客户的传统IT需求,反对者可能认为Outposts输出的也是AWS公有云产品(例如EC2、EBS),并没有为异构IT做任何适配。是的,AWS自己没有做,VMWare帮他做到了。AWS宣称Outposts可以在一台服务器上运行,离开VMWare也是无法办到的。要在一台服务器上将AWS公有云的控制面和数据面全部塞进去,还要运行客户自身的业务,无异于将一头大象塞进冰箱。
在商业策略,跟VMWare合作也是正确的选择。VMWare除了自身的产品优势外,最强大的是遍布全世界的销售网络。外媒报道Outposts会在VMWare销售网络中售卖,这无疑极大的节省了这款产品触达客户的时间。要让一款新产品快速的被市场认可和接受,即使伴着AWS的高光也需要花费不少力气。这不仅仅是技术问题,还是销售体系、供应链、售后服务体系的问题。亚马逊本身是互联网公司,更偏向线上售卖,而VMWare则擅长线下售卖。在这场合作中,怎么看AWS都是受益的。VMWare则祸福难料,一旦开放自己的销售网络让AWS触达终端客户,在产品建立起认可度后,很难说AWS不会专门成立部门用自己的技术完全取代VMWare并建立适合线下的销售系统。此外,AWS也不仅仅只有VMWare一家伙伴,HP、DELL、Cisco可能正等着欢迎Outposts进入他们的销售渠道。
与AWS技术路线相反,Azure Stack选择用其公有云代码改造能在几台服务器中运行的混合云产品。微软历来有统一code base的冲动,在智能手机方面就尝试用Windows相同的代码打造适用于PC和手机的操作系统,最终结果是从智能手机市场退出。虽然现在不能断定Azure Stack这种技术路线是否成功,但它始终会面临同一套代码要服务于两个截然不同市场的问题。内部的技术团队协调也会遭遇挑战,公有云团队强势必然导致Azure Stack的很多技术需求得不到及时响应,Azure Stack团队强势则会拖慢公有云团队创新的步伐,甚至将他们拖入传统IT的泥沼中。
我个人赞同AWS的路线,保证产品体验一致性才是核心,这只需要在Outposts的数据面/控制面的API上和公有云兼容即可。至于是一套代码或两套代码并不重要,一是客户不关心,二是公有云和私有云的市场规模都非常巨大,营运两个技术团队服务于不同的市场是值得的。AWS也提到他们并不打算通过Outposts输出所有AWS产品,且承认公有云和私有云交付模式不同(Our initial goal is not to re-create all of AWS in Outposts -- they're kind of different delivery models ... but there are some really basic components that we're hearing consistently that are wanted on-premises)。这反应出AWS对Outposts的定位非常明确,在小规模的产品形态中是无法将所有AWS产品都交付到客户数据中心的。实际上企业客户也没有能力负担和运维整个AWS公有云,大部分企业仅仅需要AWS的几个基本功能,这正是Outposts出现的目的。当然也有客户需要整个AWS公有云,例如正在竞标中的美国国防部百亿美元大单,这时AWS自然会将所有产品带到客户数据中心,当然不是用Outposts。
公有云的未来:要么统治世界,要么灭亡
未来,公有云要么统治一切IT基础设施,要么消失,到时将不再有云计算这个词汇。这都不依赖于现在IT从业者的力量,而是依靠物理学家在基础物理上的重大突破,颠覆现有的计算机体系。公有云接入传统IT的几个问题中,只要网络问题解决了,其它都能解决。目前低带宽、高延时、不可靠的网络极大的阻碍了公有云统治世界的步伐,尽管网络性能在不断提升,但这种小步伐提高远远赶不上人类生产数据增长的速度。如果基础物理创造出超级网络,访问不受地域距离限制,达到目前CPU访问内存的带宽、延时和可靠性,那么世界只需要公有云。我们不再需要本地计算能力,可以将所有的计算、存储集中在几个公有云巨头的数据中心里,然后通过超级网络访问。如果基础物理向着计算/存储能力方面突破,假设未来手机大小的计算机就可以拥有现在AWS公有云全部的计算/存储能力,那我们就不再需要云这个概念,计算可以在任何时间地点发生,中心化的基础设施失去存在的理由。
未来世界的样子还无法预测,但在这个时间,AWS发布了Outposts产品,他终于进入了传统IT厂商相同的维度,从降维打击到同维竞争,后十年的云计算领域一定会更加精彩。
作者简介
张鑫,是世界上最早一批虚拟化开发者,是《系统虚拟化》一书的主要作者。2010年赴硅谷加入IaaS初创公司Cloud.com,是CloudStack核心架构师,负责Oracle VM,Barematel, Baremetal VPC等核心功能。之后随Cloud.com并购加入软件巨头Citrix,继续从事CloudStack的核心技术研发。2015年回国创办开源IaaS项目——ZStack。
【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】