大数据时代的云计算敏捷红利
上QQ阅读APP看书,第一时间看更新

第1篇 何为云

第1章 定义与特征——所谓“多快好省”

1.1 云到底应该如何定义

云带给人的印象往往都是烂漫无端,高耸非凡,无拘无束,来去自由。粗看“云计算”这三个字,很难让人们从这个词本身推断出它所涵盖的范围。

实际上,云计算是一种商业计算模型,而“云”是一些可以自我维护和管理的虚拟计算资源,通常是一些大型服务器集群,其中包括了计算服务器、存储和宽带资源等。将这些计算资源集中起来,并通过专门软件实现自动管理,可以实现一种无需人为参与的资源部署。这是最类似教科书形式的解释。附加一个更加体现技术性的定义:云计算是一种模式,它提升了对共享可配置计算资源(网络、服务器、存储、应用和服务等)的便捷指数、按需访问。这些资源也可以通过极小的管理代价或是与服务提供者的交互作用被快速地伺机使用和释放。

专业的IT名词百科Whatis.techtarget.com援引自SearchCloudComputing.com,将云计算广义地解释成一切能够通过互联网提供的服务,这些服务被划分为三个层次:

● 基础设施式服务(Infrastructure as a Service, IaaS)

● 平台式服务(Platform as a Service, PaaS)

● 软件式服务(Software as a Service, SaaS)

截至2010年7月,在维基百科(Wikipedia.org)中,“云计算”的词条被形容成为一种基于互联网的计算,其中共享的资源、软件和信息都以一种按需的方式提供给计算机和设备,就如同日常生活中的电网一样。这种计算模式能够通过互联网将动态运转的虚拟化资源,以服务的方式提供给用户。同时,用户并不需要知道如何管理那些支持云计算的基础设施。

一篇来自加州大学伯克利(Berkeley)分校的技术报告则指出,云计算即指通过互联网交付的应用,也指在数据中心中提供这些服务的硬件和系统软件。前半部分即是SaaS,而后半部分则被称为Cloud。换个角度来说,Berkeley眼中的云计算就是“SaaS+效用计算(Utility computing)”。倘若这个基础架构可以按使用情况进行付费的方式提供给外部用户,那么,这就形成了“公共云”,反之则形成了“私有云”。公共云,即是效用计算。转而言之,SaaS的提供者同时也是公共云的用户。

美林证券则认为,云计算是从集中的服务器,通过互联网交付个人应用(E-mail、文档处理和演示文稿)以及商业应用(销售管理、客户服务和财务管理)。而这些集中的服务器共享资源,如存储、处理能力和带宽。并且通过共享,资源才能够得到更有效的利用,同时在成本方面也可以降低80%,甚至更多。

而美国最畅销的《华尔街日报》也在密切跟踪着云计算的进展。他们认为,云计算能够令企业通过互联网从超大数据中心获得计算能力、存储空间、软件应用和数据。而客户需要做的只是在必要时为他使用的资源支付一定的费用,从而避免建立自己单独的数据中心并采购服务器和存储设备。

至于Salesforce.com,则认为云计算是一种更友好的业务运行模式。在这种模式中,用户的应用程序运行在共享的数据中心中,用户只需要通过登录和个性化定制就可以方便地使用这些数据中心的应用程序。

谷歌公司的前首席执行官,现任执行董事长埃里克·施密特博士认为,云计算与传统的以PC为中心的计算并不相同,它把计算和数据分布在大量的分布式计算机上,这使计算力和存储获得了很强劲的可扩展能力(例如计算机、手机等),便于接入网络获得应用和服务。而其重要特征是开放式的,一般不会有企业能单向控制和垄断它。

根据众说纷纭的定义,大家对于云计算能得出一个比较一致的看法,即:云计算是一种计算模式,在这种模式下,可扩展的动态并且通常是虚拟化的资源能够通过互联网以服务的形式提供出来。由此我们可以看到,对于云计算的概念的提取就是一个求同存异的过程,云计算不是专指一门技术,而是技术和趋势的代名词。

1.2 无限的资源

有关云的无拘无束,是否就预示着云计算的资源也是无边无际,无穷无尽的呢?

被请求的资源来自于“云”,而不是任何固有形态的实体。硬件和软件都称得上是资源,以服务的方式通过互联网提供给用户。而应用在“云”中的某处得以运行,但对于实际用户来讲是完全透明的,也并不需要担心应用运行的具体位置。比如亚马逊的EC2将计算处理能力打包为资源提供给用户;谷歌的App Engine将从设计开发到部署实施过程中Web应用所需的软件以及硬件平台一起打包提供给用户;Salesforce.com的CRM将专业的客户关系管理应用模块打包为解决方案提供给用户使用。

在云计算中,资源已经不单单限定在类似于处理器机、存储容量、网络带宽等物理范畴之内,而应该扩展到软件平台、Web服务和应用程序的软件范畴。云计算通过资源抽象的特性(采用相应的虚拟化技术)来实现云的灵活性和应用的广泛支持性。传统模式下自给自足的IT运用模式,在云计算中已经改变成为了一种分工专业、协同配合的运用模式。对于企业而言,他们不再需要规划属于自己的数据中心,也毫不需要将精力耗费在与自己主营业务无关的IT管理上。

于是,用户在舍弃自身繁冗沉重的IT累赘之后,得到的是近乎云端般无尽的个性化资源。

1.3 虚拟的服务

根据2009年10月份高德纳咨询公司的报告,18%的负载都运行在虚拟服务器上,并且高德纳咨询公司预计该数字到2012年将会增长到50%左右。然而为什么这么多的企业看重并且使用虚拟化技术?最直接的一个答案就是大部分的服务器平均只使用了20%的计算能力,甚至更低。

传统计算环境向虚拟计算环境的转换,加速了云计算的发展进程。简单地说,虚拟一个计算环境就是将各种软硬件比作一个资源池,以便于用户或应用程序能够使用起来比以前更为便捷。

迄今为止,拥有比较大的IT规模的企业基本都在虚拟环境上加大了投入,这样可以减少服务器的稳定性、电耗、设施占用空间等多方面的投入。对于数据中心来说,虚拟化对于减少能源消耗意义重大。据统计,美国服务器的数量从2000年的500万台发展到了2010年的1500万台。服务器数量的迅速上升导致了对电力和能源需求的大幅上涨。为了解决IT业需求的能源短缺问题,美国每年需要新建10多座发电厂,每座发电厂花费20亿~60亿美元,然而这种花费最终还是要由IT企业来付账。倘若我们想再多安装500万台服务器,企业的CIO最好是先考虑清楚这些服务器的真正价值,跟着再做出投资决策。因为,IT的能源消耗存在着迅速增加的可能性,那些本来花2000万美元就能建造的数据中心,换到现如今可能要花费1亿到5亿美元,而且还不包括硬件和网络的花费。

虚拟化在物理上为企业在合并服务器、抑制数据中心的扩张和能量耗散方面提供了机会,而云计算使企业无需建立新的数据中心。通过这种模式,数据中心的建设和扩展由云服务提供商负责,这样既保证了服务提供商能获得潜在的经济利益,同时也在一定意义上保证了使用数据中心的企业能获得相应的经济效益。

有许多极好的理由支持业务系统在虚拟化技术上运转,从而大大提高系统和计算资源的效用性和灵活性。与此同时,我们也需要看到,虚拟的服务不仅仅是凭借虚拟化就能够解决问题,IT的复杂性也不仅仅来自于技术,同时也来自于流程、管理平台、组织架构等多方面因素。企业要实现敏捷利润需要从全面的运维和管理角度出发。

1.4 灵活与高效

云计算可以根据访问用户的多少,增减相应的IT资源,其中包括CPU、存储、带宽和中间件应用等。这些资源实际上通过分布式的共享方式而存在,但最终在逻辑方面会以单一整体的形式呈现出来,并且可以根据用户业务的需要进行动态扩展和配置。云计算模式使得IT资源在规模动态伸缩方面具有极大的灵活性,足以适应各个开发和部署阶段的各种类型和规模的应用程序。提供者可以根据用户的需要及时部署资源,最终用户也可按照各自不同的需要进行选择。当这一目标达到最理想化实现时,用户几乎可以做到何时用何时要,用什么要什么,用多少要多少,几乎杜绝了浪费的现象。

1.5 按量收费

根据上一节的内容,我们可以很容易得出这样的结论:当资源被高效并极致地利用时,对等的付出也被极致地合理化了。这就是Pay-as-you-go(即付即用):我们的应用是否适合采用弹性伸缩的运行环境来增强业务的灵活度;是否需要采用资源抽象(比如虚拟化),提高资源的利用率以及可替换性;是否需要提供按使用量收费的经济使用模式。

即付即用(pay-as-you-go)的方式早已经不是一个新的业务模式,它已广泛应用于存储和网络宽带技术中(计费单位为字节)。我们使用移动电信按通话时间来计费就是一个实例。从云计算的供应商的服务视角来看,例如,谷歌的App Engine按照增加或减少负载来达到可伸缩性,而其用户按照使用CPU的周期来付费;亚马逊的AWS则是按照用户所占用的虚拟机节点的时间来进行付费。

用户按照各自的需要使用云中的资源,按实际使用量情况付费,而并不需要管理它们,这等于又节约了预算。

1.6 普世的云

就好似天上的云朵一般,云计算并不是静态的,它面向众生开放并为众生改变形态,不断调整以及进化。

面向服务的体系结构(Service-Oriented Architecture, SOA)是一个组件模型,它将应用程序的不同功能单元称为服务,通过这些服务之间拥有良好定义的接口和契约将其联系起来。接口是采用中立的方式来进行定义的,它独立于实现服务的硬件平台、操作系统和编程语言。这使得在各种类似的系统中的服务可以通过一种通用的方式进行交互作用。

由此,企业系统的架构师认为SOA能够帮助业务迅速和高效地响应变化的市场条件。服务导向的架构在宏观(服务)上,而不是在微观上(对象)提高了重复使用性。同时,服务导向的架构可以简化与传统系统的相互连接以及使用。

有些人质疑服务导向的架构是不是20世纪70年代模块化编程、20世纪80年代的面向事件设计甚至20世纪90年代的基于接口/构件设计的某种意义上的复兴?换个角度而言,服务导向的架构可以被认为是一种演化,而远非革命。它捕捉到了之前体系架构的许多最佳实践或实际应用。服务导向的架构提升了将用户从服务分开的功能。服务可以运行在不同的服务器上,并通过网络被访问。这也大大增加了服务的重复使用。服务架构的出现,加速了云计算中软件组件的开发速度。

“开放原始码”(Open Source),指的是一种软件散布模式,是一种源代码公开的软件。最早的开源软件起源于20世纪60年代,它伴随着20世纪90年代网络的兴起而备受广大民众欢迎,开放源码软件在历史上曾经与UNIX、Internet紧密相连,并逐渐成为主流。1997年,开放源码促进会(Open Source Initiative, www.opensource.or)正式成立,它给予了开放源码一个官方的定义。它正式地指出,开放源码也要遵守不少原则。

对那些具有垄断性质的软件来说,开源软件更显其深远意义。随着开源软件的流行,商业软件不仅被压缩了发展空间,同时也促使了软件商们不断地降低软件价格,显而易见它为广大消费者带来了不少利益。

在商业上,开源软件并不完全等同于免费软件。非常典型的一个例子就是红帽子(Red Hat Linux),它遵循的是使用软件时完全免费,在后续服务收费的一种模式。而软件免费,没有售后服务的模式也不为少数。在软件市场成熟后,搜索引擎火狐堪称是代表了靠出售专利谋生的另外一种应用服务提供模式。处于这种模式下,软件和服务都是免费的,企业按时间交纳使用费。配合云计算的商业模式使得成本下降。

读到这里,相信读者对云计算的优点已有了一定的了解,相信您也一定想要进一步了解更多有关云计算的精彩内容了!那么,就让我们一起揭开下一章的神秘面纱吧!