什么是云计算
云计算被认为是分时系统发明和PC 出现之后信息服务提供方式的一次最大的变革。在过去的两年多时间内,云计算这个名词在厂商和媒体的推动之下已广为人知。但什么是云计算,这是所有第一次接触云计算这个概念的人都会首先想到的一个问题。要回答它却不是一件容易的事。据说在2008 年底的一个国际云计算大会上,主持人关于这个问题随机采访了20 位听众,结果得到了22 个答案!时至今日,云计算还缺乏一个统一的定义。
云计算的概念
作为一个相对比较新的概念,业界关于云计算定义的争论从未停止过,由于看问题的视角和商业利益的不同,不同的人对云计算有着不同的定义和解读。这种类似盲人摸象的现象在IT 领域并不少见,在电子商务、SOA 、Web 2.0 等概念刚出来的时候都曾发生过。对于云计算这个概念,也不例外。
图1.5 对云计算理解的现状
对于大部分经常使用Web 电子邮件、网页搜索等互联网服务的人来说,也许下面由维基百科(Wikipedia )提供的云计算定义就非常好理解。
“云计算就是基于互联网的计算,它能像电网供电一样,按需把共享的资源、软件和信息提供给计算机和其他设备。”(http://en.wikipedia.org/ wiki/Cloud_computing)
虽然对于一般互联网用户而言,这个定义给出了他们日常使用互联网服务的直观描述,但是其描述过于抽象,而且局限于通过互联网提供的服务。接下来我们再看一下美国国家技术和标准研究院(NIST,National Institute of Standards and Technology )对外公布的一个云计算定义。
“云计算是一个提供便捷的可通过网络访问一个可定制的计算资源共享池能力的模式(计算资源包括网络、服务器、存储、应用和服务);这些资源能够快速部署,并只需要很少的管理工作或与服务供应商很少的交互。”
这个定义相对来说更为具体,也更为技术。它强调了一个共享的计算资源池,然后用户可以方便地通过网络访问。它没有强调必须通过互联网,这样就把企业自建的计算服务涵盖进去了。
如果需要用一句话来描述,云计算就是信息技术作为服务(IT as a Service )的一种计算供应和消费方式。要理解云计算这种计算提供方式,对于下面几个关键点的理解将非常重要。
1. 云计算强调资源的共享,而不是独占
云计算通过资源共享方式来提高资源的利用率,现实中的应用程序在资源使用的模式上往往具有互补的特性。比如,有些应用的高峰访问在白天,有一些是在晚上。如果从全球配置的角度看,由于时差的存在,资源互补性就更为明显。显然,这种资源共享的方式可以降低计算的成本。如果以现实生活中的例子,我们可以用自助餐和桌餐的差别来类比云计算与传统计算方式的差异。
2. 云计算强调的是资源集中,而不是分散
资源集中是资源共享的前提。在云计算中首先要通过资源集中形成一个资源池,然后再让不同用户来共享访问。云计算的这种特点就与网格计算之间有了非常明显的区别。这也就是为什么在云计算时代大型数据中心的构建显得非常重要,同时由于经济学上的规模效应还可以进一步降低计算的成本。云计算中的资源集中首先是物理集中,以便于资源的管理和利用,但是由于用户地域的分散性和物理集中规模上的一些限制,一个大型的云计算服务提供商可以有多个大型的数据中心分布在世界各地,这样又形成了物理上的分散,但是云计算服务本身在逻辑上还是集中的。
3. 云计算强调的是一种服务,而不是技术
云计算强调的是一种服务,这是很多技术人员一开始不容易把握的地方。所谓强调的是一种服务,实际上是强调从用户需求出发,而不是从技术实现或管理员出发。有一些人认为虚拟化加上系统管理就是云计算,这是典型的从系统管理员角度出发考虑问题的例子,而没能把握云计算作为服务的特点。
4. 云计算强调的是动态资源配置,而不是静态资源分配
既然是一种服务,那用户当然希望能够得到优质的服务,其中重要的一点就是服务的响应时间。云计算需要对用户资源需求作出及时响应,一般而言这种资源需求的服务请求响应时间应该是秒级或分钟级别,而不是传统IT 系统中资源申请以天、周甚至月为单位的服务水准。许多云计算实现中采用虚拟化技术,主要是因为虚拟化技术可以降低不同资源之间的耦合度,从而提高资源的动态配置能力。
5. 云计算强调的是专业分工,而不是事必躬亲
云计算从某种意义上讲是“专业的人干专业的事”思想的一种体现。最终用户不需要了解“云”中基础设施的细节,不必具有相应的专业知识,也无须直接进行控制,只需关注自己真正需要什么样的资源就可以通过网络来得到相应的服务。对于第三方提供的云计算服务来说,它也是外包思想的一
种体现,把部分IT 的具体实现和运维“外包”给了云计算服务提供商。
云计算的资源使用模型
要理解云计算的概念以及它能带来的各种好处,还需要理解云计算的资源使用模型。传统的IT 使用模型是根据业务发展情况预计一个应用系统的负载增长率,然后制定一个固定时间比如3~5年的投资计划。在这种方式下,用户需要一个比较大的前期投资,以满足一定时间段的用户需求。这种前期投资对于小企业和初创公司来说就是一个很大的进入障碍。就算在理想的状况下,即应用系统的负载量与预期负载一致,这种构建方式也会造成IT 能力的浪费。而实际情况是应用系统的负载很难做到精确,这样就更加加剧了IT 能力供给和需求之间的矛盾。实际系统的IT 能力的过配和短缺变得相当普遍。一些大型用户为了保证关键应用的正常运行,系统过配现象就非常严重。这种传统的IT 资源使用模式如图1.6 所示。
图1.6 传统IT的资源使用模型
云计算的出现使我们可以用更为灵活的方式来配置系统资源。一方面由于采用新的租用的业务模式,因此用户的进入门槛相对较低,用户不需要有大量的前期投资就可以开始使用资源。另外,由于云计算可以根据实际需求来进行资源调配,因此用户不用担心高峰时期资源的短缺,也不用担心系统在压力小的时候资源会闲置。这种弹性的资源配置使得用户的投资能够取得最佳回报。云计算的资源使用模型如图1.7 所示。
图1.7 云计算资源使用模型
适合云计算的典型场景
许多人在一开始接触云计算的时候,往往倾向于认为云计算是无所不能的。虽然我们认为云计算是IT 发展的未来方向,但是在云计算发展的初始阶段,并不是所有的应用都适合云计算的方式。根据云计算服务的特点,下面几个应用场景可以从应用云计算中得到最为显著的效果。
(1)间断性应用场景。
间断性应用场景包括临时性的一些应用需求或者是一些批处理工作等。这些应用场景的特点是不需要连续地使用计算服务。比如,企业要进行一场为期一周的市场推广活动需要使用计算服务,但是通过传统方式来处理这类计算需求就显得非常笨拙,一方面响应比较慢,另一方面还会造成许多资源的浪费。云计算通过按需分配的方式可以比较好地符合这类应用场景。
图1.8 间断性应用场景
(2)快速增长应用场景。
快速增长应用场景指的是应用需求量增长比较迅速的情况。传统IT 构建方式都是事先估计一个阶段的需求然后根据需求做系统容量配置。在这种方式下应用系统的容量扩展不是动态的,而是呈阶梯型上升。对于快速增长的应用,传统方式会导致IT 系统需要进行频繁的调整。而云计算可以通过动态分配资源的方式来满足应用快速增长的需要。
图1.9 快速增长应用场景
(3)需求突增性应用场景。需求突增性应用场景是指应用的使用量短时间内快速增加又很快回落
的情况。这种使用量的变化有的是无法预测的,比如当突发性事件发生时新闻网站访问量突增;也有一些是可以预测的,比如每年除夕的短信息发送需求,节日的在线购物需求等。无论是哪种突发性需求对于应用系统的容量估算和保障都非常有挑战性,但是采用云计算就可以相对容易地解决这个问题。
图1.10 突发性应用场景
来源:https://www.cnblogs.com/broadview/archive/2011/01/18/1937964.html