1.1 云计算的发展历程
云计算的出现是技术和计算模式不断发展和演变的结果。云计算的基础思想可以追溯到半个世纪以前。1961年,MIT(美国麻省理工学院)的教授John McCarthy提出“计算力”的概念,认为可以将计算资源作为像电力一样的基础设施按需付费使用;1966年,Douglas Parkhill在《计算机工具的挑战》(The Challenge of the Computer Utility)一书中对现今云计算的几乎所有特点,如作为公共设施供应、弹性供应、实时供应以及具备“无限”供应能力等,甚至云计算的服务模式,如公共模式、私有模式、政府以及社团模式,进行了详尽的讨论。
几十年来,计算模式的发展经历了早期的单主机计算模式、个人计算机普及后的C/S(客户机/服务器)模式、网络时代的B/S(浏览器/服务器)模式的变迁,如今大量的软件以服务的形式通过互联网提供给用户,传统的IDC(Internet Data Center,互联网数据中心)逐渐不能满足新环境下业务的需求,于是云计算应运而生。
1.1.1 云计算的起源与发展
1996年,在康柏公司的一份内部文件中首次提到了现代意义上的“云计算”概念,但是云计算概念的流行却是在10年之后。2006年,谷歌推出了“Google 101计划”,并正式提出“云”的概念和理论。该计划基于谷歌员工比希利亚的设想,初衷是设置一门课程,着重引导学生们进行“云”系统的程序开发。随着计划的不断发展,2007年10月,谷歌、IBM联合了美国6所知名大学帮助学生在大型分布式计算系统上进行开发,当时的IBM发言人就指出这种所谓的“大型分布式计算系统”就是云计算,明确将云计算作为一个新概念提出。由于当年谷歌和IBM在信息技术领域处于领军地位,使得云计算的概念刚被提出就立刻有大量的公司、传统IT技术人员和媒体追逐,甚至在云计算的概念中提出一系列的IT创新。图1-1给出了目前已知最早使用“云计算”概念的文件。
相比于谷歌和IBM,亚马逊在当年的影响力有限,虽然它在2006年就发布了云计算产品Amazon Elastic Compute Cloud(EC2),但在业界并未引发太大的关注,因为EC2产品作为商业项目对云计算概念的普及并不像IBM-Google的项目那么明显。随着2007年10月IBM-Google并行计算项目的提出让云计算概念迅速普及,客户渴望得到商用云计算服务,EC2恰逢其时,因为此时EC2已是一个相当商业化的云计算产品了,并且拥有完善的云计算服务,于是短时间内亚马逊在云计算乃至信息技术领域声名鹊起,由此奠定了亚马逊在云计算领域的领军位置。
随后进入云计算的飞速发展时期,一大批优秀的IT企业积极投入到云计算行业中,带来了一大批优秀的云计算产品和解决方案,如IBM的蓝云计划、亚马逊的AWS、微软的Azure等,与此同时也有一批开源项目(如OpenStack、CloudStack等)也加入到云计算的“大家庭”,为云计算行业开启了一个百花齐放的新时代。
近几年,中国在云计算领域也有了长足的进步,涌现了如阿里云、青云、华为云、天翼云等优秀的公有云解决方案。由中国信息通信研究院发布的《中国公共云服务发展调查报告》显示,公有云服务市场规模正在以每年40%左右的增幅增长,企业的“云”化趋势愈加显著,云计算的大潮正以不可阻挡之势向前推进。
云计算相关技术的具体发展历程及重大标志性事件如下:
1959年6月,Christopher Strachey发表了有关虚拟化的论文,而虚拟化是现在云计算架构的基石。
1961年,John McCarthy提出“计算力”的概念,以及通过公用事业销售计算机应用的思想。
1984年,Sun公司的联合创始人John Gage将分布式计算技术带来的改变描述为“网络就是计算机”,而现在云计算正在将该理念变成现实。2006年,该公司推出了基于云计算理论的“BlackBox”计划,旨在以创新的系统改变整个数据中心环境。2008年5月,Sun公司又宣布推出“Hydrazine”计划。
1998年,威睿(VMware)公司成立并首次引入x86虚拟化技术。x86虚拟化技术是指在x86的系统中使一个或几个客户操作系统在一个主操作系统下运行的技术。2009年4月,该公司推出VMware vSphere 4。2009年9月,VMware又推出vCloud计划,以构建全新云服务。
1999年,Marc Andreessen创建了第一个商业化的IaaS平台——LoudCloud。同年Salesforce.com公司成立,它提出云计算和SaaS的理念,开创了新的里程碑,宣布“软件终结”革命的开始。2008年1月,Salesforce.com推出DevForce平台,旨在帮助开发人员创建各种商业应用,例如根据需要创建数据库应用、管理用户之间的协作等,Sales force.com推出的Force.com平台是世界上第一个PaaS的应用。
2004年,谷歌发布MapReduce论文,MapReduce是Hadoop的主要组成部分。2006年8月,“云计算”的概念由谷歌行政总裁Eric Schmidt在搜索引擎大会(SES San Jose 2006)上首次提出。2008年,Doug Cutting和Mike Cafarella实现了MapReduce和HDFS,在此基础上,Hadoop成为优秀的分布式系统的基础架构。
2005年,亚马逊公司宣布推出AWS(Amazon Web Service)云计算平台。AWS是一组允许通过程序访问亚马逊的计算基础设施的服务。次年又推出了在线存储服务S3(Simple Storage Service)和弹性计算云EC2(Elastic Compute Cloud)等云服务。2007年7月,该公司推出简单队列服务(Simple Queue Service,SQS),SQS是所有基于Amazon网格计算的基础。2008年9月,亚马逊公司与甲骨文公司合作,使得用户可以在云中部署甲骨文软件和备份甲骨文数据库。
2007年3月,戴尔公司成立数据中心解决方案部门,为Windows Azure、Facebook和Ask.com三家公司提供云基础架构。2008年8月,戴尔公司在美国专利商标局申请“云计算”商标,旨在加强对该术语的控制权。2010年4月,戴尔又推出PowerEdgeC系列云计算服务器和相关服务。
2007年11月,IBM公司推出“蓝云”(Blue Cloud)计划,旨在为客户带来即刻使用的云计算。2008年2月,IBM公司宣布在中国无锡产业园建立第一个云计算中心,该中心将为中国新兴软件公司提供接入虚拟计算环境的能力。同年6月,IBM公司宣布成立IBM大中华区云计算中心。2010年1月,又与松下公司合作达成了当时全球最大的云计算交易。
2008年2月,EMC中国研发集团正式成立云架构和服务部,该部门联合云基础架构部和Mozy、Pi两家公司,共同形成EMC云战略体系。同年6月,EMC中国研发中心加入道里可信基础架构项目,该项目主要研究云计算环境下信任和可靠度保证的全球研究协作,主要成员还有复旦大学、华中科技大学、清华大学和武汉大学四所高校。
2008年7月,云计算试验台Open Cirrus推出,它由HP、Intel和Yahoo三家公司联合创建。
2008年9月,思杰公司公布云计算战略并发布新的思杰云中心产品系列(Citrix Cloud Center,C3),它整合了经云验证的虚拟化产品和网络产品,可支持当时大多数大型互联网和Web服务提供商的业务运作。
2008年10月,微软公司的Windows Azure Platform公共云计算平台发布,开始了微软公司的云计算之路。2010年1月,与HP公司合作一起发布了完整的云计算解决方案。同月,微软公司又发布Microsoft Azure云平台服务,通过该平台,用户可以在微软公司管理的数据中心的全球网络中快速生成、部署和管理应用程序。
2008年,亚马逊、谷歌和Flexiscale等公司的云服务相继发生宕机故障,引发业界对云计算安全的讨论。
2009年1月,阿里巴巴集团旗下子公司阿里软件在江苏南京建立首个“电子商务云计算中心”,该中心与杭州总部的数据中心一起协同工作,形成规模能够与谷歌匹敌的服务器集群“商业云”体系。
2009年3月,思科公司发布集存储、网络和计算功能于一体的统一计算系统(Unified Computing System,UCS),又在5月推出了云计算服务平台,正式迈入云计算领域。同年11月,思科与EMC、VMware建立虚拟计算环境联盟,旨在让用户能够快速地提高业务敏捷性。2011年2月,思科系统正式加入OpenStack,该平台由美国航空航天局(National Aeronautics and Space Administration,NASA)和托管服务提供商Rackspace Hosting共同研发,使用该平台的公司还有微软、Ubuntu、戴尔和超微半导体公司(Advanced Micro Devices,AMD)等。
2009年11月,中国移动启动云计算平台“大云”(Big Cloud)计划,并于次年5月发布了“大云平台”1.0版本。“大云”产品包括五部分:分布式海量数据仓库、弹性计算系统、云存储系统、并行数据挖掘工具和MapReduce并行计算执行环境。
2010年4月,Intel公司在Intel信息技术峰会(Intel Developer Forum,IDF)上提出互联计算,目的是让用户从PC(客户端)、服务器(云计算)到移动、车载、便携等所有个性化互联设备获得熟悉且连贯一致的个性化应用体验,Intel公司此举的目的是试图用x86架构统一嵌入式、物联网和云计算领域。
2010年7月,美国太空总署联合Rackspace、AMD、Intel、戴尔等厂商共同宣布“OpenStack”开源计划。
2011年6月,美国电信工业协会制定了云计算白皮书,分析了一体化的挑战和云服务与传统的美国电信标准之间的机会。
2015年10月,阿里巴巴集团董事局主席马云和CEO张勇在年报致投资者的公开信中表示,全球化、农村经济和大数据云计算将成为阿里未来十年的发展大方向。
1.1.2 云计算的主要厂商与社区
云计算的高速发展离不开优秀企业和开源社区的推动,接下来就简单介绍一下参与云计算发展过程的企业和社区。
目前参与云计算的厂商主要包括传统的IT硬件厂商、互联网企业转型的云计算服务提供商和拥有强大研发实力的软件厂商,以下将对应介绍三个典型代表企业。
IBM作为行业中的佼佼者,拥有强大的技术研发力量和商业客户基础,可以为用户提供从底层存储、服务器、交换机等硬件到应用层软件(例如Lotus Domino,Tivoli Storage,DB2等应用软件)的整套解决方案,凭借多年硬件研发和运营大型数据中心的经验,IBM在云计算的潮流中占有了一席之地。
亚马逊一开始是一家互联网服务提供商,但早在2006年就建立了自己的弹性计算云EC2,作为最早提供云计算平台服务的公司,亚马逊积累了大量的云计算技术,在云计算领域异军突起,成为最大的云计算服务提供商。
与上述两家企业不同,VMware作为全球最大的虚拟化软件提供商,拥有成熟的虚拟化解决方案,而虚拟化技术是云计算发展最关键的技术之一,虽然它自己不提供云服务,但是其提供的VMware vSphere是业界领先且可靠的虚拟化平台,为云计算平台提供了可靠的底层保障。
随着企业在云平台项目上的拓展,一些开源云计算项目也不断出现,如OpenNebula、OpenStack、CloudStack等。
与后两者相比,OpenNebula更像是一款为云计算打造的开源工具集,配合KVM、XEN或者ESXi一起建立和管理私有云,同时也可以与Amazon EC2相配合来管理混合云。
OpenStack是一个开源的云计算管理平台项目,它旨在为云的建设和管理过程提供软件。目前,OpenStack社区有近4万名开发者,近600家企业参与到OpenStack代码的提交和更新当中,用户只需要将OpenStack作为基础设施即服务(IaaS)资源的通用前端即可实现对自己云环境的创建和管理,这大大简化了云环境的部署过程,并为其带来良好的可扩展性。
CloudStack也是一个开源的云操作系统,它可以帮助用户利用自己的硬件提供类似于Amazon EC2的公共云服务,通过协调用户的虚拟化资源为用户搭建一个完整的云计算环境。与此同时,CloudStack兼容Amazon API,这使得用户可以在现有的架构上建立自己的云服务并帮助用户协调服务器、存储和网络资源,完成一个IaaS平台的构建。