4.4 云计算

最近云计算的概念得到了越来越多的关注。就像很多的其他热门技术一样,云计算也曾被大肆地炒作。在详细论述前,我们必须先定义什么是云计算,它是如何帮助高级分析与大数据分析的。跟所有的新技术一样,云计算也存在不少互相冲突的定义,我们会讨论其中的两种定义,作为进一步论述的基础。第一种定义是麦肯锡公司在2009年的某一份报告中提出的。〔2〕这篇报告认为云环境有以下3个最重要的特征。

1.企业无需进行基础设施建设,没有固定资本的支出,有的只是运营成本。这些运营成本是根据使用量付费的,并没有合同对这些运营成本的金额进行限制或要求。

2.系统能力可以在很短的时间内显著地扩大或缩小。而传统的IT托管服务提供商存在系统扩展性的限制,无法做到这一点。这也是云计算与传统托管服务的区别。

3.云计算的底层硬件可以在地理意义上的任何地方。这些硬件设施对于最终用户来说是抽象的、透明的。而且,这些硬件的租用模式是多样化的,某一硬件设备可以在同一时间被不同公司的不同用户使用。

只有同时满足这3个条件,才能将其称之为真正的云计算。对用户而言,底层硬件是未知的、变化的,可以根据需求弹性地调整系统能力,还可以按用户的使用量进行计费。


你要我跳多高?

云计算彻底地解决了资源的约束问题。用户在需要的时候可以获得任何想要的系统资源。当然,他们要为此付费,但他们只为自己的使用付费。系统管理人员对资源的争夺再也不存在了。当你要求云计算跳起来,它不会和你争论是否应该跳,而是直接问你,“你要我跳多高?”


另外一个定义来自于美国国家标准技术研究所(National Institute of Standards and Technology,NIST),这是美国政府商务部的一个分支机构。它列出了云环境的5个必要特性。〔3〕

1.按需的自助服务。

2.高速网络接入。

3.资源池。

4.快速的系统弹性。

5.可以衡量的服务。

同时满足这5个特性的才是云计算。很容易就能发现,麦肯锡的定义与NIST的定义有很多相似之处。你可以在NIST的网站获取更多云计算领域的相关信息。〔4〕

任何事情都有好的一面和坏的一面,有强项与弱项,有优点与缺点,云计算也一样。一个组织要了解足够多的信息以做出正确的选择。毋庸置疑,未来在高级分析领域,云计算将得到越来越广泛的应用,开发类的工作更是如此。但随后我们也将看到,对于生产性的工作,云计算的应用方式还不是非常清晰。我们将讨论2种不同类型的云:(1)公有云;(2)私有云。

4.4.1 公有云

公有云已经获得了相当多的宣传与关注。对公有云的用户来说,他们将自己的数据上传至外部的某一云计算系统中,获得系统所分配的资源以进行数据处理工作,最后系统会根据用户的使用量向他们收取相应的费用。

这种模式很显然有许多优点。

■ 网络接入是必要的,用户只为他们的使用而付费。

■ 用户不再需要去构建一个能满足其最大资源需求的系统,然后承担大部分时间系统资源闲置的风险。

■ 如果有突发性的任务处理需求,在公有云环境下,用户可以很快地得到新的系统资源,用户只需要为这些新资源付费即可。

■ 系统部署通常来说很快。只要可以连接到公有云环境,用户上传了自己的数据,立刻就可以开始分析工作。

■ 根据公有云的定义,数据是保存在企业内部防火墙之外的系统中,这让不同区域之间的数据共享变得相当简单,任何人都可以被授予登录系统并使用这些数据的权限。

同时,公有云也存在一些缺陷。

■ 通常来说,公有云不会提供性能方面的承诺。根据公有云的定义,在同一时间可以有很多人对同一份数据或资源发起一系列的大型查询。当然,您也可以购买一台只供您自己使用的云服务器。

■ 这会带来性能方面巨大的不确定性。一旦提交了一项处理任务,系统能在多长时间内完成是不确定的。历史的经验可以作为判断依据,但并不能保证这一次会一样。

■ 对数据安全性的担忧一直存在。虽然很多人可能认为这种担心没有必要,因为这只具有理论上的可能性,但人们对数据安全性的认识本身就是一个大问题。

■ 如果被广泛地使用,公有云可以变得非常昂贵,因为它会对每一个用户的所有使用行为进行收费。效率不高的“坏”查询可能会耗费大量的系统资源,而现在这些“坏”查询在你自己的系统里也会出现,但不会带来任何直接的实际成本,而在公有云环境下,你却可能因此被收取一大笔费用。

■ 如果需要对数据进行持续跟踪,并对数据的保存地域有明确的要求,那么就无法使用公有云。在公有云环境下,你甚至无法确定数据是不是还全部保存在本国范围内。

通过上面的分析,你认为公有云适合哪些场景?哪些场景不适合使用公有云?

云计算的硬件资源是弹性的,这意味着在任何时间都可以很容易地增加新的硬件资源。这也意味着可以很容易地在某一台服务器上增加更多的CPU、存储与内存,然后获得更多的计算能力。在任何时候,你也可以直接使用10台或更多的服务器,只要你为此付费。请注意,这种扩展性与MPP系统的扩展性是不同的。公有云的大部分服务器是各自独立运行的,MPP则是一个单一的大系统。如果一个企业有许多中小型的处理过程和任务,云计算将可以发挥巨大的作用。然而,假如有一些超大型任务,且每个任务都超过了单个云计算服务器的处理极限,这时云计算就没什么用了。虽然MPP软件可以在云内运行,但云环境下的底层硬件设备是不确定的,可能随时发生变化,这对MPP软件的处理性能有非常不利的影响。

也许,对公有云来说,最适合的使用方式是纯粹的研发类工作。在这种情况下,系统性能的不确定性变得没那么重要。如果一个分析专家想对某些新的数据进行实验性地探索研究,希望发现这些数据的价值,公有云则是一个非常好的选择。分析专家可以把大部分的时间放在分析、探索等工作上,而不需要考虑性能的问题。只有在准备进行分析流程的部署时,系统性能才会变成一个关键问题。对于那些不是非常重要的分析流程,甚至某些流程的部署工作,公有云都是一个可行的长期选择。

当数据安全是一个大问题时,公有云也将麻烦重重。有必要为公有云应用好的安全协议和工具,并保证公有云环境的高度安全性。唯一不在你控制范围的是,云服务提供商企业中的员工。如果他们是某种程度上的小偷或者黑客,他们将会对使用公有云的企业造成损害。这样的事情发生的概率极低,但是安全漏洞造成的公众抗议将更加严重,尤其是造成安全漏洞的是云服务提供商企业的员工而不是使用该服务的企业的员工时。将敏感的数据放到云上需要制定一个强大的安全计划,否则,永远不要这么做!


你确定省钱了吗

如果分析专家只考虑自己一个人,那么使用公有云确实要比购买一套专用设备便宜得多。但涉及大型企业,情况可能会发生变化。一旦许多不同的人和部门都开始使用云,也许人们很快就会发现,他们为公有云的每次使用支付了更多的钱,远远超过了建立一个自己的专有系统。


关于公有云还有另外一个常常被忽视的有趣现象。如果只有小部分任务需要被执行,使用公有云确实要比购买一个专有系统便宜。但在某些时候,使用公有云也可以比拥有一个专有的内部系统昂贵。一旦企业有大量的用户开始使用公有云,且他们都按照每次的使用量进行计费,那么购买一个企业自用系统反而会便宜得多。比节约成本更重要的是,公司可以对这些内部系统进行全面地管理控制,进而提升这个系统的性能。

随着时间推移,也许某一天,公有云可以以某一个合适的价格为企业级的关键任务功能提供服务。但在今天,那些提供更高等级性能保证的云计算供应商,它们会为这些更高品质的服务向用户收取比基本云服务昂贵很多的费用。此外,不管是事实还是一相情愿,云计算确实有可能满足某些安全性的要求。但在这些变成现实之前,大部分企业使用公有云的范围,只可能集中在研发类的工作上。

4.4.2 私有云

私有云拥有与公有云完全相同的特征。唯一的区别是,私有云是某一企业拥有的,且通常部署在企业的防火墙内部。私有云提供与公有云完全一样的服务,但是服务对象仅限于企业的内部人员和团队。图4-5说明了公有云与私有云的区别。

4.4 云计算 - 图1

图4-5 公有云与私有云的比较

部署在企业内部的私有云有一个巨大的优势,就是企业拥有对这个系统的全部控制能力,包括数据与系统的安全。数据是无法跳出企业防火墙的,所以企业完全没有必要去担心数据到底在什么地方。私有云的数据安全性与其他的企业内部系统是完全一样的。

私有云的一个缺陷是,当你为用户提供服务前,你必须购买并拥有一整套的云计算设备,这在短期内可能会给公司的成本支出带来不利的影响。与公有云相比,公司在第一年花费的钱可能一下子增长了很多,但是随后的那些年,假如公司的大部分任务都在云内进行,私有云的成本反而会比较低。长期来看,如果有大量的用户持续使用云环境提供的服务,私有云的成本会比公有云低得多。


长期成本与短期成本

长期来看,如果有大量用户,私有云的成本会比公有云低得多。然而,由于需要启动资金与建设成本,实施私有云在短期内可能会给企业带来更高的费用支出。随着时间推移,这种情况就会逆转过来。


在概念上,私有云与我们将在第5章中讨论的分析沙箱没有很大的差异。两者的主要区别在于,一个真正的私有云会为用户提供充分的自助服务功能,而分析沙箱则要求系统具有更强的管理能力。这两个概念的确有些相近,在某些使用方面甚至是相同的。对于支持高级分析,可以说两者或多或少是在做同一件事情。其中一个区别是,如果使用私有云,并完全遵循云的规则与定义,系统负载会持续动态地发生变化,这可能会给系统管理带来不小的麻烦,用户可能不得不互相争夺资源。而在分析沙箱的环境中,当需要资源时,系统可以为团队分配一些确定的系统资源。系统资源确定的对立面是,如果你想得到额外的新资源,分析沙箱的用户要付出比私有云用户更多的努力。

4.4.3 云计算小结

这些日子云计算获得了很多的关注,也被大肆地炒作,但云计算的架构体系确实有很多的亮点。和其他新事物一样,企业必须理解不同的云的使用方式,以及不同使用方式的优缺点。

在近期和中期,公有云将主要用于那些数据不太敏感的开发任务。私有云,以及私有云的孪生兄弟分析沙箱,都将得到越来越广泛的应用,并对各种类型的分析工作产生巨大的影响。

一个基础观点是,在企业内建立一个更加灵活、结构多变、控制更少的分析环境,以支持各种研究、创新与探索性工作,这是完全正确的,而云计算恰恰就能提供这样的环境。