1.1 云计算的基本概念
1.1.1 云计算的起源
本节从需求驱动和技术驱动两方面来介绍云计算的起源。
1.需求驱动
云计算的典型特点之一就是它是由产业界首先提出后迅速推广起来的。下面从云服务提供商和云用户(以下简称用户)[1]的角度来分析云计算产生的动因。
(1)云服务提供商。
较早提出云计算的厂商是亚马逊。作为全球最大的电商平台之一,亚马逊为了应对特殊节日的购物高峰,不得不对自己的服务器等硬件设施多次进行扩容。但是从全年来看,购物高峰只是少数情况,在大部分时间内,扩容的硬件设施都处于空闲状态,这造成资源的严重浪费。亚马逊迫切需要在平时将空闲的资源出租出去,同时还不能影响购物高峰时的使用。在这种需求的驱动下,云计算技术出现了,通过云计算技术,亚马逊可以快速、灵活地进行资源配置和部署,平时将空闲资源出租以提高资源的利用率,同时还可以迅速响应高峰时期的资源需求。
亚马逊近年来云计算服务收入占亚马逊总营业收入的比重如图1-1所示,由此可见,通过云计算将空闲资源出租给需要的用户,确实可以解决资源浪费的问题,提高资源利用率的同时也创造了营业收入。而且,云计算服务收入占亚马逊总营业收入的比重还在逐年上升。与亚马逊类似,国内网商平台巨头阿里巴巴也提供了阿里云平台,目前在国内也是排名前列的云服务提供商。
图1-1 云计算服务收入占亚马逊总营业收入的比重
综上所述,从云服务提供商的角度来看,云计算提出的动因是,一些大型的企业为应对业务的峰值建设了大型的数据中心,然而根据“9-9-1原则”,90%的服务器在90%的时间里的资源利用率不足10%。为了解决资源浪费的问题,云计算概念被提出,企业希望通过云计算技术提高资源的利用率,为企业创造营业收入。
(2)用户。
案例1.1
假设共享单车刚刚萌芽时,计算机专业毕业的小王和几个要好的同学一起开发了一个“小王”共享单车App,并已经找到合作厂商愿意提供共享的单车,于是他们准备一起经营共享单车业务。在业务上线前,需要购置一批服务器,并将它们托管在数据中心,同时还需要申请带宽、备案IP等。然而,购置、托管服务器,申请带宽等需要一笔不菲的费用,作为刚毕业的学生,小王等几人并没有足够的资金。于是,为了尽量减少开支,他们进行了详细的市场调研、论证、招标等工作,终于完成了采购等任务并进行了部署。但是,当系统上线时,时间已经过去了大半年。此时,一些大型商家已经基本垄断了市场,新商家想要进入已非常困难,即开展共享单车业务的风头已过,业务很难继续下去。
由此可见,企业在初期建设信息系统时面临如下问题:
① IT资源初期成本投入高;
② IT资源采购周期长。
此外,信息系统在经历了漫长的周期上线后,所开展的业务面临着很多不确定性,很有可能使业务无法开展,导致创业失败,最终不得不将高价购买的IT资源在二手物交易平台上卖出,这造成的损失很大。
案例1.2
假设“小王”共享单车App及时上线,由于小王等几人对青年学生的心理需求比较了解,开发的App也有效满足了青年学生的需求。因此,“小王”共享单车App上线后业务得到迅速发展,此时IT资源承载着巨大的负载压力,出现了服务响应卡顿的现象。此时,“小王”共享单车平台需要及时进行扩容,但是究竟应该扩容多少呢?由于早期的利润还较少,如果扩容过多,则会增加额外的成本,带来过大的资金压力;如果扩容过少,则会影响业务的稳定,可能失去部分用户。对此,又需要进行新一轮的调研、论证、招标、采购、部署等工作,这是一个漫长的周期[2]。
此外,扩容成功后,面对庞大的IT基础设施,小王发现他们在学校里学习的知识已无法应对复杂的运维和管理工作,于是需要高薪聘用经验丰富、高水平的运维管理人员。
由于可见,对于快速成长的企业,在IT基础设施建设上可能面临如下问题:
① 难以按需快速扩容,IT基础设施缺乏弹性;
② 运维的人力成本高,经济压力增大。
案例1.1和案例1.2描述了新兴企业或快速发展企业在IT基础设施建设方面存在的主要问题。针对这些问题,云计算技术能够为其提供有效的解决方法。云计算的优势就是快速、弹性,企业可以按需、实时、动态地配置IT资源。例如,企业在阿里云上租用若干台云服务器,只需要数分钟的手续办理时间。与此同时,所有租用的云资源可以按照小时收费,企业可以根据自己的业务周期灵活配置、部署IT资源,如在业务旺季则进行IT资源扩容,在业务淡季则释放部分资源以节省开支,用最经济的IT成本支撑业务的发展。
综上所述,从用户的角度来看,云计算兴起的动因是,一些中小型企业在进行IT基础设施建设时,面临着成本高、建设周期长、弹性不足等问题,而云计算技术将购买IT资源、建设IT基础设施变成了按需租用IT服务,大大减少了企业初期的投入成本、缩短了IT基础设施的建设周期、增强了IT资源规模的弹性,有效解决了中小型企业在IT基础设施建设方面面临的难题。
2.技术驱动
云计算技术不仅很好地解决了企业的业务难题,同时也顺应了计算机技术发展的趋势。计算模式的发展历程如图1-2所示,可以分为2个主要阶段:单机计算模式和分布式计算模式。
图1-2 计算模式的发展历程
(1)单机计算模式。
在计算机领域,最早是以巨型机(Mainframe)为核心的多终端计算模式,此时巨型机的价格非常昂贵,人们主要通过共享巨型机的CPU、内存、硬盘等资源实现多任务的计算。然后,个人计算机(Personal Computer,PC)出现,因为价格低廉,所以PC很快实现了普及。
(2)分布式计算模式。
网络技术的出现使分布式计算模式得到了发展,具体可以分为4个阶段:C/S模式、集群模式、网格计算模式和云计算模式。
● C/S模式。
基于单台服务器通过简单的C/S(客户端/服务器)协议为少数的用户提供计算和服务,主要是基于局域网实现的。C/S模式只能满足少量用户的需求,随着用户数量的增加,单台服务器无法响应大量的请求,服务器集群时代到来了。
● 集群模式。
计算机集群是将一组计算机软件或硬件集中起来,通过相互协作来完成计算任务的。随着计算机和网络技术的普及,越来越多的企业、单位希望拥有自己的信息化系统,这需要构建服务器集群,需要花费大量的人力、物力、财力去建设和维护IT基础设施。
随着服务器集群的发展,一些中小型企业可能只需要较小规模的服务器集群,为了减少他们在场地、购置服务器、配置网络等方面的压力,数据中心应运而生。数据中心就是在固定的场所提供大量的物理服务器和相应的网络服务,企业可以根据自身的业务需求在数据中心租用一定数量的物理服务器和网络服务,来构建自己的服务器集群。数据中心只提供场地、物理服务器、电和网络等基础服务,服务器集群的运维由企业自身全权负责。
● 网格计算模式。
学术界针对复杂科学计算需要大量计算资源的问题,以及数据中心资源利用率低下的问题,提出了网格计算(Grid)。网格计算是利用互联网把分散在不同地理位置的计算机组织成一个“虚拟的超级计算机”,其中每一台计算机就是一个“节点”,而网络计算是由成千上万个“节点”组成的“一张网格”。网格计算主要有两个优势:一是数据处理能力超强;二是能充分利用网上的闲置处理能力。因此,网格计算的核心思想是利用并行计算解决大型问题,同时提高计算资源的利用率[3]。
● 云计算模式。
数据中心的出现,虽然在一定程度上减轻了企业在服务器集群建设方面的压力,但在服务器集群的运维方面,企业依然面临着很大的压力。同时,在数据中心租用的是物理服务器,缺乏灵活性、不太适合中小企业用户。针对该问题,结合网格计算的思想,云计算出现了。与网格计算不同,云计算不是把分散在不同地理位置的计算机组织起来,而是把所有的计算资源在物理上进行集中,形成一个云数据中心,然后以服务的形式租给用户使用。用户可以根据自己的需求来配置计算资源并支付租金,而不用关心计算资源的管理和维护。
3.云计算思想的演进
早在1961年,人工智能之父麦卡锡就提出了将计算能力作为像水和电一样的公有服务提供给用户使用,该理念可以认为是云计算思想的起源。不过,由于当时还处于PC时代,该思想没有得以真正实现。
20世纪80年代,网格计算被提出,其核心思想是利用并行计算解决大型问题,同时提高计算资源的利用率。
20世纪90年代末,出现了效用计算(Utility Computing),它是一种提供服务的模型,即在该模型里,服务提供商提供用户需要的计算资源和基础设施,并根据应用所占用的资源情况进行计费,而不是仅按照速率进行收费的。因此,效用计算的核心思想是将计算资源作为可计量的服务。
2001年,软件工程领域提出了一种新的软件开发范型——面向服务的软件开发(Service-Oriented Architecture,SOA)。面向服务的软件开发是为了实现开放网络环境中软件资源的共享和集成,将软件模块封装成服务,然后通过对服务的发现和组合实现对服务的重用,同时提高互联网环境下软件系统的开发效率。因此,面向服务的软件开发的核心思想是将软件模块作为服务,通过网络提供给开发人员使用。
2007年10月,Google、IBM联合了美国6所知名大学,帮助学生在大型分布式计算系统上进行开发,当时的IBM发言人表示,所谓的“大型分布式计算系统”就是云计算,从而明确地提出了云计算的概念。云计算是以网络技术、虚拟化技术、分布式计算技术为基础的,以按需分配资源的业务模式,具备动态扩展、资源共享、宽带接入等特点的新一代网络化商业计算模式。云计算的核心思想是将基础设施、平台、软件都作为可计量的服务提供给用户,用户可以按需租用服务并支付租金。云计算思想的演进过程如图1-3所示。
图1-3 云计算思想的演进过程