您现在的位置:ag路子 >> IT信息 >> 正文内容

一文了解云计算,全世界一台计算机

云计算,这是自2008年全球金融危机以来全世界最热的词汇之一。世界各国、大街小巷,上至国家元首、下至家中老人,几乎全社会所有人都知道有这样一种新科技,叫“云计算”。

自从2006年,亚马逊公司对外发布了一种名为“Amazon Web Services(AWS)”(亚马逊网络服务)的新型互联网服务以来,云计算的概念就逐渐被全球所熟知和接受。此后,几乎所有全球的高科技公司都卷入了云计算的大潮中,造就了一批明星公司或再造公司成为市场明星:包括中国的阿里云、腾讯云、百度云、华为云、紫光云、京东云、金山云、浪潮云等,美国的微软、谷歌、IBM、Oracle、VMware等公司,以及欧洲的SAP和工业4.0,无不因“云”而生/再生。

2018年,全球企业、政府机构和组织等对云计算基础设施的花费达到8000亿美元,同比增长45%。这是美国市场调查公司Canalys于2019年2月发布的数据,云计算已经成为全球IT市场最重要的组成部分,而这一市场在2006年AWS推出的时候还为零。如果说云计算造就了亚马逊的新繁荣,那么微软在2018年底再登全球最高市值公司宝座的事实,又一次催生了全球对于云计算的热情。自微软新一任CEO Satya Nadella上任以来,大力扭转了微软在移动互联网时代的颓势,通过全力投入云计算特别是公有云服务业务,让微软成为新时代的新王者。据有关统计,仅2016年,微软、亚马逊和谷歌三家在云计算业务上的投入就高达315亿美元,平均每家当年投入百亿美元以上。

而中国的阿里云也在云计算业务上投入高达百亿人民币,2008年到2018年的十年间,阿里云累计支出高达430亿人民币。根据2019年1月30日,阿里巴巴发布的2019财年Q3财报,2018自然年阿里云营收规模达到213.6亿元,首次突破200亿大关,阿里云4年间增长了约20倍,2018年底已成为亚洲最大的云服务公司。根据有关统计,40%的中国500强企业、近一半中国上市公司、80%中国科技类公司在使用阿里云。IDC的2018上半年中国云计算市场份额数据,阿里云已经占据中国43%的市场份额,连续三年排名第一,而在IDC的全球市场份额排名中为第三位,仅次于AWS和微软。

而就在2010中国(深圳)IT首领峰会上,腾讯马化腾当时认为云计算为时过早,百度李彦宏则认为云计算是新瓶装旧酒,只有阿里当时坚定投入云计算,马云曾承诺王坚对阿里云计算每年投入十亿研发费用。到2018年,腾讯宣布第三次组织战略转型,坚决投入云计算和ToB业务,晚了阿里云整整十年。而百度则一直在拓展非搜索业务方面乏力,百度云计算业务也远远落后于阿里云和腾讯云。到底什么是云计算,让BAT的三大佬曾经产生如此巨大的分歧,又在8年后达到一致的认同?不仅仅是BAT的三大佬,全球科技产业的领袖们都曾经对云计算有着各异的理解,例如硅谷传奇、Oracle创始人Larry Ellison就曾经对云计算嗤之以鼻但后来又强力跟进并宣布全面向云计算转型,而IBM也曾经对云计算业务一度犹豫不决但后来通过收购的方式坚决进入了云计算领域。

“All-In”(全面投入)是近年来经常听到的对于云计算业务的承诺,几乎所有科技企业高管都在重金投入云计算业务。而云计算(包括公有云、私有云、混合云等)也是最新一轮数字化转型的基础和“底座”,无论是人工智能技术、物联网技术、区块链技术还是产业互联网、金融科技、零售科技等都是搭载在云计算基础之上。云计算更是未来数字经济的基础设施,就是蒸汽和电之于上两轮的工业革命那样,云计算正在托起新一轮的工业革命——智能制造、工业4.0和数字经济。因此,想要理解数字化转型、想要理解数字经济,就必须要理解其底座:云计算。

到底什么是云计算?

关于到底什么是云计算?这个争论持续了很多年,直到2017年到2018年才有了基本统一的理解。

云计算的鼻祖AWS在2006年发布最初的云计算服务产品时,并没有采用“云计算”这个名字,而是以“网络服务”命名。AWS最早在2002年7月发布,最开始的时候是服务于对外开放亚马逊电商网站的技术和产品数据,以供外部开发者和商户调用和使用,围绕亚马逊电商网站而构建应用程序,例如帮助其它商户更好地在亚马逊电商网站上销售产品。2006年AWS重新发布的时候,推出的第一个产品就是S3,也是AWS最经典的产品,当时的新闻稿里是这样描述S3的:Amazon S3是面向互联网的存储。

最开始的S3,其核心技术思想就是通过互联网向开发者提供存储服务:S3让基于互联网的存储服务成为可能,开发者们不再需要关注到底在哪里存储数据、是否安全可靠、成本如何、存储空间是否足够等,通过互联网址“http://aws.amazon.com/s3”,开发者就可以按需使用存储服务而不用自己购买、部署和维护存储服务器设备。S3在最开始发布时的价格为0.15$/每月/每GB数据存储服务以及0.2$/每GB数据传输服务。而S3的核心设计思想包括:去中心化、异步机制、自治系统、本地节点质量自控、可控的并发机制、容错、可控的并行计算、对称节点、简化、化大为小而美的构建模块,这些核心设计思想都成为了后来云计算系统设计的灵魂。

简单的理解,云计算就是把过去的企业IT,包括服务、存储、网络以及数据库、中间件、开发工具再加上CRM、ERP、HRM等应用软件,都通过互联网以网络服务的方式交付给企业用户使用。以前,企业需要自建多个数据中心,再购买相应的软硬件搭建起企业IT及企业IT服务,再通过内部网络服务于企业内部的各个业务部门,整个IT和IT资产全部都由企业自行投资、负担和运维。现在,由云服务厂商建立数据中心,把所有的企业IT服务都形成互联网上的网络服务,再以即用即租的方式供企业使用,这就是公有云(或公共云)。公有云让企业不必投资初始的数据中心以及后续的运营和维护,而只是像使用水和电一样从公有云厂商处租用即可。此外,由于通过互联网服务的方式向企业提供企业IT,那么其支持的企业IT和软件规模就从过去一个小范围区域上升到整个国家甚至可以全球支持,相应的云数据中心的组织和运营方式也与传统的中小型企业数据中心有所不同。

2018年11月26日,《纽约杂志》intelligencer栏目刊登了对AWS CEO Andy Jassy的采访,他亲述了AWS诞生过程:2000年到2003年间,亚马逊开始考虑和筹划后来的AWS,当时的起因是亚马逊网站增加了很多软件开发工程师,但开发软件项目所花费的时间却和以前一样多,其原因在于仅为了部署底层的存储、数据库或计算中的一项就要花费2-3个月的时间。为了方便亚马逊内部的软件工程开发,加速亚马逊互联网服务的上线速度,亚马逊高层启动了后来被称为AWS的项目,即像亚马逊擅长的运营零售行业基础设施那样,构建和运营可靠、可扩展、高性价比的企业IT和互联网IT基础设施。

2003年夏天的时候,亚马逊的高层问了自己一个问题:如果有公司会使用这些基础设施服务从头构建应用程序,那么这是否能够形成一套“互联网操作系统”,它的关键组件会有哪些?而在2003年夏天的时候,世界上还没这样的“互联网操作系统”。而亚马逊当时决定,要么就不做、要做就做大,于是时隔三年后的2006年才推出了AWS的第一项服务S3。

无独有偶,虽然微软晚了一步才开始对于云计算特别是公有云的投入,但微软公有云的名称“Azure”却也不是“云”的意思。Azure本身在英文中为“蓝天”的意思,也就是说微软Azure公有云的本意是为全世界做一个“虚拟” 操作系统,如果把全世界的计算设备都连在一起形成一台虚拟计算机的话,它的操作系统就是Azure。

提到微软公有云Azure,就不得不提到微软两个首席软件架构师中除了比尔盖茨的另外一位,Ray Ozzie。Ray Ozzie曾接替比尔盖茨,于2006年到2010年出任微软的第二任也是最后一任首席软件架构师。在微软曾发布的一篇关于Windows Azure的介绍中,提到Windows Azure的最初想法来自于2005年10月,时为一份名为《The Internet Services Disruption》(互联网服务时代来临)的备忘录,其要点在于推动微软整体向互联网服务转型,而这份备忘录就是由当时刚加入微软不久的Ray Ozzie起草的。

Ray Ozzie在这篇纲领性文件中,记述了他针对后PC时代、面向互联网的计算架构最基本的思想。他提出了由面向服务的软件架构所实现的“无缝用户体验”,并将之解析为“无缝操作系统”、“无缝沟通”、“无缝生产力”、“无缝娱乐”、“无缝市场”、“无缝解决方案”和“无缝IT”。其中,“无缝市场”的思想已经基本由今天的电子商务网站所实现,阿里巴巴在美国纽交所的上市、亚马逊在中国开展海外直购、京东开拓政府采购市场等等,全世界逐渐被几张电子商务网络所覆盖。但当时Ray Ozzie其它的思想,目前仍在实现中。

微软公有云为什么不被命名为Windows Cloud或Microsoft Cloud,而是Azure?如果看过美国电影《终结者》,无一例外会对电影里设想的“天网Skynet”印象深刻。“天网”描述了一个所有的机器都连接进一个庞大的网络,从而形成了像天空那样的覆盖,让机器的智能无处不在。而深入研究Windows Azure的架构,就不难发现,其实Azure的整体架构设计就反映了这样一个终极梦想场景下的“操作系统”。Azure有三个最基础的功能:计算、存储和网络通信,每个功能都通过庞大的数据中心以虚拟的方式实现。而如果对操作系统有最基本的了解,就会知道PC时代的操作系统其实就是由“计算、存储和网络通信”三个基础模块构成。不同的是,PC时代的操作系统由CPU、硬盘和网卡对应实现这三个基础模块,而在“全球所有计算设备连接成一台巨型虚拟计算机”的终极时代,这三个基础模块分别由庞大而互联的数据中心实现。

如此,就不难理解,为什么微软公有云叫Azure蓝天,因为它为“天空”而生。而理解了这样的终极梦想,也就不难理解,为什么“软件定义一切”的时代终将来临。因为当全世界只剩下一台无所不在的虚拟计算机的时候,还有什么不是被“软件”所定义?在微软2018 Build开发者大会,微软CEO Satya Nadella发表了演讲,他谈到了自己对智能云与智能边缘时代的看法,其中提到:“Azure正在成为一个世界计算机”,“如果你把世界想象成一台计算机,那么开发人员就是这个数字连接世界的新力量”。

Satya Nadella还提到:将近30年前,时任施乐PARC的首席科学家Mark Weiser在一篇颇具影响力的论文中这样预测——在未来,计算将无处不在。这个预测正在成为现实,计算不仅仅是一个接口,还可以嵌入到任何地方、任何事物上,无论是家庭中还是城市中——世界就是一台计算机。

把整个世界看作一台大型计算机是微软CEO Satya Nadella的愿景,也是很多计算机系统研究者的实践者的梦想。实际上,云计算特别是公有云,它成功让遍布世界的数据中心吸纳了全球大部分的计算和存储,而联网在一起的数据中心可以看作是由计算、内存、存储和网络及互联等部分组成的一台大型计算机,公有云软件系统就是从全局的角度考虑如何高效而可靠地协同各种软硬件和网络工作并对外为用户提供简单即用的互联网服务。

从大型机、PC、传统数据中心到云计算数据中心,全球的计算体系结构经历了私有集中化到个人分散化再到集中化和社会化的过程。那么,什么是云计算呢?首先,云计算是针对企业IT和互联网IT的一种计算供应方式,是整个企业IT和互联网IT供应链的重组,即通过由公有云服务商统一拥有和管理的遍布全球的数据中心,为企业和政府机构的IT部门以及互联网公司的IT部门提供按需付费的计算能力。

这里面有两个视角,一个是从用户即企业、政府机构和互联网公司的角度来说,就不再需要自建数据中心和企业IT的能力,相应减少了固定资本和一定的可变资本,同时也不需要维护一个庞大的IT基础设施运维团队,也不需要2-3个月才能部署一个新应用所需要的底层存储、计算或网络,企业应用开发和更新周期可以缩短到一周多次甚至一天多次,企业IT人员也可以集中精力于业务和应用创新,而企业的IT成本也改为使用量付费,也无需在一开始就支付一大笔的数据中心及设备的固定投资。

另一个角度是公有云服务商的角度,对于公有云服务商来说其实是要建设一个全社会共享的计算基础设施,AWS一开始也确实是从这个角度切入,即数据中心的资产所有权从企业让渡到公有云服务商手里,由公有云服务商统一打理和运营,公有云服务在此基础上再开发让多个租户共享使用计算能力的软件,这就是公有云的“操作系统”,即前面提到的互联网操作系统。

2016年初,美国寿险公司Tower Watson与微软智能云的HPC高性能计算和Big Compute超大规模计算组一起,测试了一个计算量惊人的项目,即把地球上每一个人的寿险成本计算一遍。如果是一台单核计算机的话大约需要19年时间完成这个实验,而当时仅调用了微软在全球14个区域的云计算资源,就在12个小时内完成了这顶“壮举”。这项实验不仅证明了全球性超大规模计算的可能性,还在于12个小时后这些被“抽取”出来的巨量计算资源又被释放回了各国的“云基地”。而在进行这个实验的12小时内,外界还在同时使用其它的Azure云计算资源,并没有受到丝毫影响。这个实验形象的说明了,云计算提供了海量计算资源和强大的调度能力,让全球用户可以并行、并发地大规模地使用流动的计算资源,而不会因某个用户大量占有计算资源而阻碍了其他用户。

那么,问题就来了,排除了其它一切困难和挑战,谁有能力建成一个全世界共享的“计算机”?IT系统是人类社会秩序的映像,如果人类社会都无法统一成一个地球村,那么又怎么会出现一个真正的全社会共享的统一计算基础设施呢?因此,抛开不同的云计算技术而言,云数据中心的建设者也无法统一到一家云服务商的手里,而是像各国电信网络一样既有顶级和一级运营商也有二三四级运营商,形成一个既有商用属性、又有公用事业基础设施属性的新型数字经济基础设施网络。

不同的云计算技术流派

再谈回到云计算技术本身。前面已经讲了,所谓云计算就是把全社会的计算资源连接在一起,其中由公有云服务商运营的计算资源将占据越来越主要的份额。而超大型公有云服务商包括AWS、微软、阿里云、谷歌云、IBM云等,将有机会发展出超大规模跨地域互连数据中心的“操作系统”,这就是公有云软件,而把公有云软件缩小规模运行到中小型企业私有数据中心里就是私有云软件,连接公有云和私有云并且能跨两边调度计算资源的就是混合云软件。

公有云、私有云、混合云和传统IT是按照计算资源的所有属性进行的划分。而公认的云计算系统框架分为三层:IaaS(基础设施即服务)、PaaS(平台即服务)和SaaS(软件即服务),这三层可以理解为IaaS即底层的基础计算资源(主要包括计算、存储和网络)、PaaS即IaaS之上和应用层之下的中间层(主要包括云化数据库、云化消息列队、云化应用管理平台等)、SaaS即各类云应用(包括ERP云、CRM云、HCM云等)。这三层的云计算系统架构,即适用于公有云,也适用于私有云和混合云。但架构仅仅是指导性,不同云计算厂商在实现的时候各有各的侧重和实现方式,因此导致了三层之间的边界混淆,也就导致了对云计算概念理解的混乱。

从前面的分析可以看出,所谓公有云软件或者“互联网操作系统”,主要是调用资源的规模大小有所不同。之前的Windows、Windows Server、Unix、Linux已经形成主流的PC和服务器的操作系统,而云计算软件则在2006年之后的十年发展过程中经历了百花齐放再到收归市场主流地位的几大流派:

(1)超大规模公有云软件。其中包括微软的Azure、亚马逊的AWS、阿里的Aspara飞天和Google云软件,这四家是经过实践锻炼出来的获得市场认可的云计算操作系统软件。微软提供了完整的从公有云到私有云再到混合云的微软体系软件,AWS提供了公有云和混合云的AWS体系软件,阿里云提供了公有云、私有云的阿里体系软件,Google主要是公有云软件,这四大家都是自行研发的软件体系且均覆盖IaaS和PaaS层以及有限的SaaS应用软件。

(2)OpenStack和CloudFoundry开源云软件,主要是面向IaaS的建设。其中OpenStack本身是适合私有云的“操作系统”,而私有云的规模要远远小于公有云,不过随着OpenStack技术的发展,也有公有云服务商基于OpenStack技术提供公有云服务,当然是达不到四大超级公有云服务的规模;类似的,CloudFoundry主要是面向私有云的PaaS开源软件,也可以用于提供公有云服务,例如IBM Bluemix云计算软件就是基于CloudFoundry;CloudFoundry的主要扶持厂商为VMware、DellEMC、微软、IBM等,因此更适合企业级IT环境。

(3)VMware则是源自企业级虚拟化技术,成功向云计算模式转型,推出了适合于私有云系统的SDDC(软件定义数据中心)系列软件产品Cloud Foundation,完全兼容传统的VMware虚拟化技术,同时也推出多种兼容和管理主流公有云软件的技术,是私有云和混合云IaaS市场的主导技术。

(4)各类开源PaaS技术,其中包括着名的开源大数据技术Hadoop和Spark,也包括MongoDB、MySQL、PostgreSQL等云化和分布式数据库,分布式消息队列和应用服务器等技术,以及Docker容器和Kubernetes容器集群管理编排技术等。主流的开源PaaS技术由开源社交CNCF(云原生计算)基金会主导(该基金会成立于2015年12月),属于2016年以后开始兴起的技术体系。之前,开源社区的主要精力和热点主要集中于2010年开始兴起的OpenStack等基础IaaS开源技术,随着OpenStack等的逐渐成熟而开始转向PaaS开源技术,而2019年也被视为云原生PaaS技术的商业化元年。


收藏】【打印文章