acm-header
登录

ACM通信

实践

云计算的观点


从山顶查看数据

图片来源:Jon Han

云计算是计算作为一种实用工具的长期梦想,它有可能改变IT行业的很大一部分,使软件作为一种服务更有吸引力,并塑造IT硬件的设计和购买方式。对新的互联网服务有创新想法的开发人员不再需要在硬件上投入大量资本来部署他们的服务,也不再需要人力来操作它。他们不必担心对一个受欢迎程度没有达到他们预期的服务的过度供应,从而浪费昂贵的资源;或对一个非常受欢迎的服务的供应不足,从而失去潜在的客户和收入。此外,拥有面向批处理的大型任务的公司可以以其程序可以扩展的速度获得结果,因为使用1,000台服务器1小时的成本并不比使用一台服务器1,000小时的成本高。这种资源的弹性,在不为大规模支付额外费用的情况下,在IT的历史上是前所未有的。

因此,云计算成为博客和白皮书的热门话题,并出现在研讨会、会议甚至杂志的标题中。然而,人们对云计算究竟是什么、什么时候有用仍然感到困惑,这让甲骨文的首席执行官拉里·埃里森发泄了自己的不满:“云计算的有趣之处在于,我们重新定义了云计算,将我们已经在做的一切都包括在内....我不知道在云计算的背景下,除了改变一些广告的措辞,我们还能做什么不同的事情。”

我们在本文中的目标是通过澄清术语、提供简单的数字来量化云计算和传统计算之间的比较,并确定云计算的主要技术和非技术障碍和机会,从而减少这种混淆。(阿姆布鲁斯特等4是本文的更详细版本。)

回到顶部

定义云计算

云计算既指通过Internet作为服务交付的应用程序,也指提供这些服务的数据中心中的硬件和系统软件。长期以来,服务本身一直被称为软件即服务(SaaS)。一个一些供应商使用术语,如IaaS(基础设施即服务)和PaaS(平台即服务)来描述他们的产品,但我们避免使用这些术语,因为对它们的公认定义仍然存在很大差异。“低级”基础设施和高级“平台”之间的界限并不清晰。我们认为两者的相似之处多于不同之处,因此我们把它们放在一起考虑。类似地,来自高性能计算社区的相关术语“网格计算”建议提供远程共享计算和存储的协议,但这些协议没有导致超出其社区的软件环境的发展。

数据中心的硬件和软件我们称之为云。当云以现收现付的方式向公众提供时,我们称之为公共云;被出售的服务是效用计算。我们使用这个术语私有云指企业或其他组织的内部数据中心,当它们足够大,可以从我们在这里讨论的云计算的优势中受益时,这些数据中心并不向公众开放。因此,云计算是SaaS和效用计算的总和,但不包括中小型数据中心,即使这些数据中心依赖虚拟化进行管理。人们可以是SaaS的用户或提供者,也可以是效用计算的用户或提供者。我们关注SaaS提供商(云用户)和云提供商,这两类提供商的关注度低于SaaS用户。图1明确提供者-用户关系。在某些情况下,同一个演员可以扮演多个角色。例如,云提供商还可能在云基础设施上托管自己的面向客户的服务。

从硬件供应和定价的角度来看,云计算有三个方面是新的。

  • 根据需求提供无限的计算资源,速度快到可以跟踪负载激增,从而消除了云计算用户提前计划供应的需求。
  • 消除了云用户的预先承诺,从而允许公司从小规模开始,只有在需求增加时才增加硬件资源。b
  • 能够根据需要为计算资源的短期使用付费(例如,处理器按小时计算,存储按天计算),并在需要时释放它们,从而通过在不再有用时释放机器和存储来奖励节约。

我们认为,在低成本地点建设和运营极其大规模的商品计算机数据中心是云计算的关键必要推动者,因为它们揭示了在这些非常大规模的规模经济中可用的电力、网络带宽、操作、软件和硬件成本的5到7个降低因素。这些因素,加上与传统数据中心相比提高利用率的统计多路复用,意味着云计算可以提供低于中等规模数据中心成本的服务,但仍然可以获得良好的利润。

我们提出的定义允许我们清楚地将某些安装确定为云计算的示例和非示例。考虑一个托管在ISP上的面向公众的互联网服务,该服务可以在4小时通知的情况下分配更多的机器。由于公共互联网上的负载激增发生的速度比这要快得多(Animoto的负载在近三天内每12小时翻一番),这不是云计算。相反,考虑一个内部企业数据中心,它的应用程序只在向管理员发出重要提前通知的情况下进行修改。在此场景中,不太可能出现以分钟为单位的大规模负载激增,因此只要分配能够跟踪预期的负载增长,此场景就满足了作为云操作的必要条件之一。但是,企业数据中心仍然可能无法满足成为云的其他条件,例如出现无限资源或细粒度计费。私有数据中心也可能无法从规模经济中受益,而规模经济使公共云在财务上具有吸引力。

将私有云从云计算中删除已经在博客圈引发了相当大的争论。我们认为,当公共云的优势也被认为适用于中型数据中心时,拉里·埃里森所阐述的困惑和怀疑就出现了。除了拥有数十万台机器的超大型数据中心(比如那些可能由谷歌或Microsoft操作的数据中心)之外,大多数数据中心只享有公共云潜在优势的一小部分,例如表1所示。因此,我们认为,在云计算的定义中包括传统的数据中心将导致对较小的所谓私有云的夸大主张,这就是我们排除它们的原因。然而,这里我们将描述所谓的私有云如何获得更多公共云的好处增加计算混合云计算。

回到顶部

效用计算类

任何应用程序都需要一个计算模型、一个存储模型和一个通信模型。实现弹性所必需的统计多路复用和按需可用的无限容量的出现需要自动分配和管理。实际上,这是通过某种虚拟化实现的。我们的观点是,不同的效用计算产品将根据云系统软件的抽象级别和资源管理级别进行区分。

Amazon EC2是一个极端。EC2实例看起来很像物理硬件,用户可以从内核往上控制几乎整个软件堆栈。这种低级别使得Amazon天生难以提供自动可伸缩性和故障转移,因为与复制和其他状态管理问题相关的语义高度依赖于应用程序。在这个范围的另一个极端是特定于应用程序领域的平台,例如谷歌AppEngine,它专门针对传统Web应用程序,在无状态计算层和有状态存储层之间强制执行一个完全分离的应用程序结构。AppEngine令人印象深刻的自动伸缩和高可用性机制,以及适用于AppEngine应用程序的专有MegaStore数据存储,都依赖于这些约束。微软Azure的应用程序是使用。net库编写的,并编译到公共语言运行时,这是一个独立于语言的管理环境。该框架比AppEngine更加灵活,但仍然限制了用户对存储模型和应用程序结构的选择。因此,Azure是应用程序框架(如AppEngine)和硬件虚拟机(如EC2)之间的中介。

回到顶部

云计算经济学

我们看到三个特别引人注目的用例,它们支持效用计算而不是传统的托管。第一种情况是对服务的需求随时间变化。例如,为每个月必须维持几天的峰值负载提供数据中心,会导致在其他时间利用率不足。相反,云计算允许组织按小时支付计算资源,这可能会节省成本,即使从云提供商租用一台机器的每小时费率高于拥有一台机器的费率。第二种情况是需求事先未知。例如,一个网络初创公司需要在它变得流行时支持需求的激增,而一旦一些访问者离开,需求可能就会减少。最后,执行批处理分析的组织可以使用云计算的“成本结合性”来更快地完成计算:使用1000台EC2机器1小时的成本与使用一台机器1000小时的成本相同。

虽然云计算的经济吸引力通常被描述为“将资本费用转化为运营费用”(资本支出转化为运营费用),但我们相信“现收现付”这个短语更直接地抓住了买方的经济利益。通过云计算购买的时间可以不均匀地分布在时间上(例如,今天使用100个服务器小时,明天不使用服务器小时,仍然只支付100个);在网络社区中,这种出售带宽的方式已经被称为基于使用的定价。c此外,没有预先的资本支出,资本可以被重新定向到核心业务投资。

因此,即使Amazon的即付即用定价比在同一时期内购买和贬值一台类似的服务器更昂贵,我们认为,弹性和风险转移这一极其重要的云计算经济效益,特别是过度供应(利用率不足)和供应不足(饱和)的风险,超过了成本。

我们从弹性开始。关键的观察结果是,云计算能够在细粒度(使用EC2时一次添加或删除一台服务器)和几分钟而不是几周的准备时间内添加或删除资源,这使得资源与工作负载的匹配更加紧密。真实世界对数据中心平均服务器利用率的估计在5%到20%之间。1517这听起来可能低得惊人,但这与观察到的许多服务的峰值工作负载超过平均工作负载2至10倍是一致的。由于很少有用户故意提供低于预期峰值的资源,所以资源在非峰值时间是闲置的。变化越明显,浪费就越多。

例如,图2一个假设我们的服务有一个可预测的需求,峰值在中午需要500个服务器,而低谷在午夜只需要100个服务器。只要一天的平均利用率为300台服务器,那么每天的实际成本(曲线下面积)为300 × 24 = 7200服务器小时;但由于我们必须提供500个服务器的峰值,我们支付了500 × 24 = 12000个服务器小时,比原来多了1.7倍。因此,只要三年(典型的摊销时间)内每服务器小时的现收现付成本低于购买服务器成本的1.7倍,效用计算就会更便宜。

事实上,这个示例低估了弹性的好处,因为除了简单的每日模式之外,大多数服务还经历季节性或其他周期性的需求变化(例如,12月的电子商务和假期后的照片共享站点),以及由于外部事件(例如,新闻事件)而导致的一些意外需求爆发。因为获取和安装新设备可能需要数周的时间,所以为了处理这些尖峰,你必须提前做好准备。我们已经看到,即使服务运营商正确地预测了峰值的大小,容量也会被浪费,如果他们高估了他们所准备的峰值,情况会更糟。

他们也可能低估了峰值(图2 b),然而,意外地将多余的用户拒之门外。虽然过度供应的成本很容易衡量,但供应不足的成本更难衡量,而且可能同样严重:被拒绝的用户不仅不会产生任何收益,而且他们可能永远不会回来。例如,Friendster相对于竞争对手Facebook和MySpace的受欢迎程度下降,被认为部分原因是用户对慢的响应时间(长达40秒)不满。16图2 c目的是捕捉这种行为:用户将放弃一个供应不足的服务,直到峰值用户负载等于数据中心的可用容量,此时用户再次接受可接受的服务。

举一个简单的例子,假设一个假想站点的用户分为两类:活跃用户(经常使用站点的用户)和叛逃者(由于性能不佳而放弃站点或被逐出站点的用户)。此外,假设10%的活跃用户由于供应不足而获得了较差的服务,他们“永久地失去了”机会(成为叛逃者),也就是说,这些用户本可以以更好的体验保持定期访问。该网站最初的预期峰值是40万用户(每服务器1000用户× 400服务器),但意外的正面新闻在第一个小时内就吸引了50万用户。在10万名被拒绝或接受糟糕服务的用户中,我们假设有1万名用户永久失去了服务,只剩下39万名活跃用户。接下来的一个小时将会有25万名新独立用户。前1万名用户运行良好,但该网站仍有24万用户,产能过剩。这导致24000名用户叛变,留下37.6万名永久用户。如果这种模式继续下去,在lg(50万)或19小时之后,新用户的数量将趋于零,网站将处于稳定状态。显然,该服务运营商在这19个小时内获得的稳定收入不足40万用户的价值,然而,这再次证明了利用率不足的论点,更不用说来自不满用户的坏名声了。

这样的场景在实践中真的会发生吗?当Animoto3.通过Facebook提供服务后,它经历了需求激增,导致在三天内从50台服务器增长到3500台服务器。即使每个服务器的平均利用率很低,也没有人能够预见到资源需求会在三天内每12小时翻一番。高峰消退后,交通量降至较低水平。因此,在这个实际示例中,放大弹性不是成本优化,而是操作需求,而缩小弹性允许稳态支出更紧密地匹配稳态工作负载。

回到顶部

云计算的十大障碍和机遇

表2总结了云计算发展的主要障碍。前三个影响采用,后五个影响增长,最后两个是政策和商业障碍。从产品开发到研究项目,每一个障碍都有一个克服该障碍的机会。

回到顶部

1号。业务连续性和服务可用性

组织担心效用计算服务是否有足够的可用性,这使得一些人对云计算保持警惕。讽刺的是,现有的SaaS产品在这方面设置了很高的标准。谷歌搜索以高可用性而闻名,甚至一个小的中断都会被主要的新闻来源报道。11

用户希望从新服务中获得类似的可用性,但这很难做到。表3显示了2008年Amazon Simple Storage Service (S3)、AppEngine和Gmail的中断记录,以及对中断的解释。请注意,尽管由于这些中断造成了负面宣传,但很少有企业IT基础结构如此好。抛开可用性的技术问题不谈,云提供商可能会因为非技术原因而中断服务,包括停业或成为监管行动的目标(最近的一个例子发生在去年,我们将在后面介绍)。

虽然他们还没有这样做,但云供应商可以提供专门的硬件和软件技术,以提供更高的可靠性,可能会以较高的价格。这种可靠性可以作为服务级别协议出售给用户。但这种方法只能到此为止。高可用性计算社区长期以来一直遵循“没有单点故障”的咒语,然而由单个公司管理云计算服务实际上是单点故障。即使公司在不同的地理区域拥有多个使用不同网络提供商的数据中心,它也可能拥有共同的软件基础设施和会计系统,或者公司甚至可能倒闭。如果没有针对这种情况的业务连续性策略,大客户将不愿意迁移到云计算。我们相信独立软件栈最好的机会是由不同的公司提供,因为一个公司很难以软件可靠性的名义创建和维护两个软件栈。正如大型互联网服务提供商使用多个网络提供商,以确保单个公司的故障不会导致其停播,我们相信,实现高可用性的唯一可行解决方案是多个云计算提供商。

回到顶部

2号。数据锁定

软件栈提高了平台之间的互操作性,但是用于云计算的存储api本质上仍然是私有的,或者至少还不是主动标准化的主题。因此,客户无法轻松地从一个站点提取数据和程序到另一个站点上运行。对从云中提取数据的难度的担忧正在阻止一些组织采用云计算。客户锁定可能对云计算提供商有吸引力,但他们的用户很容易受到价格上涨、可靠性问题,甚至提供商倒闭的影响。

例如,一家名为The Linkup的在线存储服务在2008年8月8日关闭,此前该服务失去了多达45%的客户数据访问权限。6而Linkup则依赖在线存储服务Nirvanix来存储客户数据,这导致两家机构就客户数据丢失的原因相互指责。与此同时,The Linkup的2万名用户被告知该服务不再可用,并被敦促尝试另一个存储网站。

一个解决方案是对api进行标准化dSaaS开发人员可以跨多个云计算提供商部署服务和数据,这样单个公司的故障就不会带走所有的客户数据副本。有人可能会担心,这将导致云计算定价的“竞相降价”,并挤压云计算提供商的利润。我们提出两个理由来减轻这种担忧。

首先,服务的质量和价格一样重要,所以顾客可能不会选择成本最低的服务。如今,一些互联网服务提供商的成本比其他供应商高出10倍,因为它们更可靠,并提供额外服务以提高可用性。

其次,除了减轻数据锁定问题外,api的标准化还支持一种新的使用模型,在这种模型中,相同的软件基础设施可以在内部数据中心和公共云中使用。这样的选项可以支持混合云计算或激增计算,其中公共云用于捕获由于临时高工作负载而无法在数据中心(或私有云)中轻松运行的额外任务。这个选项可以显著扩大云计算市场。实际上,开源重新实现了专有云api,比如Eucalyptus

回到顶部

3号。数据机密性/可审核性

尽管大多数公司将工资外包,许多公司使用外部电子邮件服务来保存敏感信息,但安全是云计算最常被引用的反对理由之一。分析师和持怀疑态度的公司会问:“谁会相信自己的重要数据还在别处?”根据萨班斯-奥克斯利法案(Sarbanes-Oxley)和《健康与公众服务健康保险便携与责任法案》(HIPAA)的规定,必须提供可审计性要求,以便将企业数据转移到云上。

云用户面临来自云外部和云内部的安全威胁。保护云免受外部威胁所涉及的许多安全问题与大型数据中心已经面临的问题类似。然而,在云计算中,这一责任可能由许多方面来分担,包括云用户、云供应商和用户在安全敏感软件或配置方面所依赖的任何第三方供应商。

云用户负责应用程序级的安全。云提供商负责物理安全,并可能执行外部防火墙策略。软件栈中间层的安全性由用户和操作员共享;向用户公开的抽象级别越低,随之而来的责任就越多。Amazon EC2用户在安全方面比Azure用户承担更多的技术责任(即必须自己实现或获得更多必要的功能),而Azure用户又比AppEngine客户承担更多的责任。反过来,这种用户责任可以外包给销售专业安全服务的第三方。像EC2这样的平台的同质性和标准化接口使得公司可以提供配置管理或防火墙规则分析等增值服务。

虽然云计算可能使面向外部的安全更容易,但它确实提出了面向内部的安全的新问题。云提供商必须防范用户的盗窃或拒绝服务攻击。用户之间需要相互保护。

当今云的主要安全机制是虚拟化。它是一种强大的防御,可以防止用户试图攻击彼此或底层云基础设施。然而,并不是所有的资源都是虚拟化的,也不是所有的虚拟化环境都没有bug。众所周知,虚拟化软件包含bug,使虚拟化代码在某种程度上“失控”。不正确的网络虚拟化可能允许用户代码访问提供者基础结构的敏感部分,或者访问其他用户的资源。不过,这些挑战与管理大型非云数据中心的挑战相似,在这些数据中心中,不同的应用程序需要相互保护。任何大型互联网服务都需要确保一个安全漏洞不会危及其他一切。

最后一个安全问题是保护云用户不受提供商的影响。根据定义,提供者将控制软件堆栈的“底层”,这有效地规避了大多数已知的安全技术。如果没有安全技术的根本改进,我们预计用户将使用合同和法院,而不是聪明的安全工程,来防止供应商的不当行为。一个重要的例外是无意数据丢失的风险。很难想象亚马逊会监视虚拟机内存的内容;很容易想象一个硬盘被销毁而不被清除,或者一个权限错误使数据不正确可见。

这在非云环境中也是一个问题。标准的防御,用户级加密,在云计算中也很有效。这对于云之外的高价值数据来说已经很常见了,而且工具和专业知识都很容易获得。TC3是一家医疗保健公司,可以访问敏感的患者记录和医疗保健索赔,在将符合hipaa的应用程序迁移到AWS时,它成功地使用了这种方法。3.

类似地,可审核性可以作为虚拟化客户操作系统无法达到的附加层添加,提供的功能可以说比内置在应用程序本身中的更安全,并将与机密性和可审核性相关的软件职责集中到单个逻辑层中。这样的新特性加强了云计算的视角,将我们的关注点从特定的硬件转向所提供的虚拟化功能。

回到顶部

数字4。数据传输瓶颈

应用程序的数据密集程度越来越高。如果我们假设应用程序可能跨越云的边界被“分开”,这可能会使数据放置和传输复杂化。每tb传输100到150美元,这些成本会迅速增加,使数据传输成本成为一个重要问题。云计算用户和云计算提供商如果想要将成本降至最低,就必须考虑在系统的每个级别上配置和流量的影响。这种推理可以从亚马逊的新云前端服务的开发中看到。

克服因特网传输的高成本的一个机会是传送磁盘。吉姆·格雷(Jim Gray)发现,发送大量数据最便宜的方式是发送磁盘甚至整台计算机。10虽然这并不能解决所有的用例,但它可以有效地处理容忍大延迟的点到点传输的情况,例如导入大型数据集。

为了量化论证,假设我们想从加州大学伯克利分校运送10TB到华盛顿州西雅图的Amazon。加芬克尔9从三个站点测量S3的带宽,发现平均写带宽为5Mbits/sec到18Mbits/sec。假设我们通过广域网链路获得20Mbits/sec。这需要

10 * 1012字节/(20×106比特/秒)= (8×1013)/(2×107)秒= 4,000,000秒,

也就是45多天。如果我们通过连夜运输的方式发送10个1TB磁盘,那么传输10TB磁盘只需不到一天的时间,产生的有效带宽约为1500mbit /秒。例如,AWS8最近开始提供这样的服务,称为导入/导出。

回到顶部

5号。性能不可预测性

我们的经验是,在云计算中,多个虚拟机(vm)可以很好地共享cpu和主内存,但网络和磁盘I/O共享问题更大。因此,不同的EC2实例在I/O性能上的差异要大于在主内存性能上的差异。我们测量了75个运行STREAM内存基准测试的EC2实例。14平均带宽为1355兆字节/秒,跨实例的标准偏差仅为52兆字节/秒,低于平均值的4%左右。我们还测量了75个EC2实例的平均磁盘带宽,每个实例将1GB文件写入本地磁盘。平均磁盘写带宽接近每秒55Mbytes,实例间的标准偏差略高于9MBytes/sec,约为平均值的16%。这演示了虚拟机之间的I/O干扰问题。

一个机会是改进体系结构和操作系统,以有效地虚拟化中断和I/O通道。请注意,IBM大型机和操作系统在20世纪80年代基本上克服了这些问题,因此我们有可以借鉴的成功例子。

另一种可能性是闪存将减少I/O干扰。闪存是一种半导体存储器,它可以像机械硬盘一样在关闭电源时保存信息,但由于它没有移动部件,访问速度要快得多(微秒vs毫秒),消耗的能源也更少。与磁盘相比,闪存每秒每gb的存储可以支持更多的I/O,因此具有冲突的随机I/O工作负载的多个虚拟机可以在同一台物理计算机上更好地共存,而不会像机械磁盘那样产生干扰。

另一个不可预测的障碍涉及某些批处理程序的虚拟机调度,特别是针对高性能计算。考虑到高性能计算(HPC)被用来证明政府购买1亿美元的超级计算机中心具有1万到100万个处理器的合理性,有许多具有并行性的任务可以从弹性计算中受益。如今,许多这样的任务都是在小型集群上运行的,而这些集群往往没有得到很好的利用。相反,在云中大型集群上运行这些任务可能会节省大量时间。成本结合性意味着在1/20的时间内使用20倍的计算量不会造成成本损失。可能受益的潜在应用包括那些潜在经济回报非常高的领域——金融分析、石油勘探、电影动画,这些领域即使有成本溢价,也会重视20倍的加速。

吸引高性能计算的障碍不是集群的使用;目前大多数并行计算都是在大型集群中使用消息传递接口MPI完成的。问题是许多HPC应用程序需要确保一个程序的所有线程同时运行,而今天的虚拟机和操作系统没有提供一种程序员可见的方法来确保这一点。因此,克服这一障碍的机会是为云计算提供类似“团伙调度”的东西。由于刚才所描述的性能不可预测性,在云计算环境中可能难以实现传统组调度中相对紧凑的时间协调。

回到顶部

6 .可扩展存储

前面,我们指出了三种属性,它们的组合使云计算具有吸引力:短期使用(这意味着在需求下降时可以缩小或扩大规模)、无前期成本和无限的按需容量。虽然应用到计算时这意味着什么很简单,但如何将其应用到持久存储就不那么清楚了。


就像大型isp使用多个网络供应商,这样单个公司的故障不会导致其中断服务一样,我们相信,实现高可用性的唯一可行解决方案是多个云计算供应商。


有很多人尝试回答这个问题,在查询和存储API的丰富程度、提供的性能保证和结果的一致性语义方面有所不同。这个机会(仍然是一个开放的研究问题)是创建一个存储系统,它不仅能满足现有程序员在持久性、高可用性、管理和查询数据能力方面的期望,而且还能将它们与云计算的优势结合起来,按需任意扩展或缩小。

回到顶部

7 .大规模分布式系统中的bug

云计算的一个难题是在这些非常大规模的分布式系统中消除错误。常见的情况是,这些错误不能在较小的配置中重现,因此必须在生产数据中心中大规模地进行调试。

一个机会可能是对云计算中的虚拟机的依赖。许多传统SaaS提供商在开发基础设施时没有使用vm,要么是因为它们先于vm最近流行起来,要么是因为它们觉得无法承受vm带来的性能冲击。由于虚拟机在效用计算中是必不可少的,这种级别的虚拟化可能使捕获有价值的信息成为可能,而如果没有虚拟机,这是不可能的。

回到顶部

8 .快速扩展

现收现付当然适用于存储和网络带宽,两者都计算使用的字节数。根据虚拟化级别的不同,计算略有不同。谷歌AppEngine根据负载的增加和减少自动扩展,并按使用周期向用户收费。AWS按您占用的实例数按小时收费,即使您的机器处于空闲状态。

然后,就有机会根据负载自动地快速扩大或缩小规模,以节省资金,但又不违反服务水平协议。事实上,加州大学伯克利分校可靠自适应分布式系统实验室的一个重点是广泛和积极地使用统计机器学习作为诊断和预测工具,以实现动态伸缩、对性能和正确性问题的自动反应,以及自动管理这些系统的许多其他方面。

扩大规模的另一个原因是节约资源和金钱。由于一台空闲的计算机使用的功率大约是一台繁忙计算机的三分之二,因此谨慎地使用资源可以减少数据中心对环境的影响,这一点目前受到了大量的负面关注。云计算供应商已经对资源消耗进行了仔细和低开销的核算。通过引入细粒度的成本,效用计算鼓励程序员关注效率(也就是说,只在必要时释放和获取资源),并允许对运营和开发的低效率进行更直接的度量。

意识到成本是节约的第一步,但是配置上的麻烦使得人们很容易让机器整夜闲置,以便开发人员第二天返回工作时启动时间为零。一个快速且易于使用的快照/重启工具可能会进一步促进计算资源的节约。

回到顶部

9 .名誉命运共享

一个客户的不良行为可能会影响使用同一云的其他客户的声誉。例如,将EC2 IP地址列入黑名单13垃圾邮件预防服务可能会限制哪些应用程序可以有效托管。一个机会是创建声誉保护服务,类似于目前向小型ISP托管的服务提供的“可信电子邮件”服务(收费),这些服务经历了这个问题的一个缩影。

另一个法律问题是法律责任转移的问题——云计算提供商希望由客户而不是他们负责(比如,应该由发送垃圾邮件的公司负责,而不是亚马逊)。2009年3月,联邦调查局突袭了达拉斯的一个数据中心,因为在那里托管服务的一家公司正因可能的犯罪活动而接受调查,但在同一设施中托管的一些“无辜的旁观者”公司遭遇了几天的意外停机,一些公司倒闭了。7

回到顶部

10 .软件许可

目前的软件许可证通常限制软件可以运行的计算机。用户先购买软件,然后每年支付维护费。事实上,SAP已经宣布,它将把每年的维护费用提高到至少22%的软件购买价,这与甲骨文的定价接近。17因此,许多云计算提供商最初依赖于开源软件,部分原因是商业软件的许可模式与实用计算不太匹配。

主要的机会要么是开源继续流行,要么就是商业软件公司改变他们的许可结构,以更好地适应云计算。例如,微软和亚马逊现在为EC2上的Windows Server和Windows SQL Server提供即用即付软件授权。运行Microsoft Windows的EC2实例每小时成本为0.15美元,而开源替代方案每小时成本为0.10美元。IBM还宣布了与EC2结合的托管IBM软件的现收现付定价,价格从DB2 Express的每小时0.38美元到IBM WebSphere的每小时6.39美元不等。

回到顶部

结论

我们预测云计算将会增长,所以开发人员应该考虑到这一点。不管云提供商是在EC2这样的低抽象级别上销售服务,还是在AppEngine这样的更高抽象级别上销售服务,我们相信计算、存储和网络都必须关注虚拟化资源的水平可伸缩性,而不是单个节点的性能。此外:

  1. 应用程序软件既需要快速地向下扩展,也需要快速地向上扩展,这是一个新的需求。这类软件还需要一种付费使用的许可模式,以满足云计算的需求。
  2. 基础设施软件必须意识到它不再在裸金属上运行,而是在虚拟机上运行。此外,计量和计费需要从一开始就被建立起来。
  3. 硬件系统应该按照一个容器的规模设计(至少有12个机架),这将是最小的采购规模。操作成本将在重要性上与性能和购买成本相匹配,奖励能量的比例5将内存、磁盘和网络的空闲部分设置为低功耗模式。处理器应该能很好地与虚拟机一起工作,闪存应该被添加到内存层次结构中,局域网交换机和广域网路由器必须在带宽和成本上有所提高。

回到顶部

致谢

本研究部分得到了谷歌,微软,太阳微系统,亚马逊网络服务,思科系统,Cloudera,易趣网,facebook,富士通,惠普,英特尔,网络设备,SAP, VMWare,雅虎!加州大学工业大学/大学合作研究项目(UC Discovery)资助COM07-10240和国家科学基金会资助#CNS-0509559。

回到顶部

参考文献

1.Amazon.com首席执行官杰夫·贝佐斯谈Animoto(2008年4月);http://blog.animoto.com/2008/04/21/amazon-ceo-jeff-bezos-on-animoto/

2.Amazon S3团队。Amazon S3可用性事件(2008年7月20日);http://status.aws.amazon.com/s3-20080720.html

3.亚马逊网络服务。TC3卫生案例研究;http://aws.amazon.com/solutions/case-studies/tc3-health/

4.Armbrust, M.,等。云层之上:伯克利对云计算的看法。技术代表UCB/EECS-2009-28,加州大学伯克利分校EECS系,2009年2月。

5.Barroso,洛杉矶,和Holzle, U.能量比例计算的案例。IEEE计算机40,12(2007年12月)。

6.客户数据丢失导致在线存储服务“The Linkup”关闭。网络世界(2008年8月)。

7.FBI特工突袭达拉斯电脑公司(2009年4月);http://cbs11tv.com/local/Core.IP.Networks.2.974706.html

8.自由OSS。大数据集云端传输(2009年4月);http://freedomoss.com/clouddataingestion

9.亚马逊网格计算服务的评估:EC2, S3和SQS。技术众议员TR-08-07,哈佛大学,2007年8月。

10.J.格雷和D.帕特森与吉姆·格雷的对话。ACM队列1,4(2003), 817。

11.Helft, M.谷歌确认其服务存在问题(2009年5月14日)。

12.我们感受到了你的痛苦,我们很抱歉(2008年8月);http://gmailblog.blogspot.com/2008/08/wefeel-your-pain-and-were-sorry.html

13.亚马逊:嘿,垃圾邮件散布者,滚出我的云!华盛顿邮报》(二零零八年七月一日)。

14.当前高性能计算机的内存带宽和机器平衡。IEEE计算机体系结构技术委员会通讯(1995), 1925。

15.云战争:1000多亿美元岌岌可危。2008年5月,美林证券公司技术代表。

16.Rivlin, G.壁花在网络派对上(2006年10月15日)。

17.《让它崛起:企业It特别报告》。《经济学人》(2008年10月)。

18.来自Amazon关于周五S3停机的更新。CenterNetworks(2008年2月);http://www.centernetworks.com/amazon-s3-downtime-update

19.AppEngine宕机。CIO博客(2008年6月);http://www.cio-weblog.com/50226711/appengine \ outage.php

回到顶部

作者

作者与加州大学伯克利分校可靠自适应分布式系统实验室(RAD实验室)有关。

回到顶部

脚注

a.在本文中,我们使用“软件即服务”一词来表示通过Internet交付的应用程序。最广泛的定义将包括任何按需软件,包括那些本地运行软件但通过远程软件许可控制使用的软件。

b.但请注意,预付款项仍可用于减少每次使用费用。例如,Amazon Web Services还提供服务器的长期租赁,他们称之为保留实例。

c.基于使用的定价不是租赁。租用资源包括支付商定的费用,以便在一段时间内拥有该资源,无论您是否使用该资源。现收现付包括计量使用和基于实际使用的收费,独立于使用发生的时间段。

d.数据解放阵线;http://dataliberation.org

DOI: http://doi.acm.org/10.1145/1721654.1721672

回到顶部

数据

F1图1。云计算的用户和提供商。我们关注云计算对云提供商和SaaS提供商/云用户的影响。顶层可以是递归的,因为通过mashup, SaaS提供者也可以是SaaS用户。

F2图2。(a)即使可以正确地预测峰值负载,如果没有弹性,我们就会浪费非峰值时间的资源(阴影区域)。(b)准备金不足情况1:牺牲了未服务用户的潜在收入(阴影区域)。(c)不足情况2:一些用户在体验到糟糕的服务后永久放弃该网站;这种损耗和可能的负面压力会导致部分收入流的永久损失。

回到顶部

T1表1。比较公共云和私有数据中心。

T2表2。云计算发展的十大障碍和机遇。

T3表3。AWS、AppEngine和gmail服务中的停机和停机持续时间日期。

回到顶部


©2010 acm 0001-0782/10/0400 $10.00

允许为个人或课堂使用本作品的全部或部分制作数字或硬拷贝,但不得为盈利或商业利益而复制或分发,且副本在首页上附有本通知和完整的引用。以其他方式复制、重新发布、在服务器上发布或重新分发到列表,需要事先获得特定的许可和/或付费。

数字图书馆是由计算机协会出版的。版权所有©2010 ACM, Inc。


评论


匿名

我不明白为什么作者们说云计算的弹性和风险转移的好处超过了使用服务提供商的成本,特别是供应不足和供应过度的风险


匿名

转向匿名:在我的经验中,使用云服务的人力资源成本远远超过了任何“超额配置”的原因。


匿名

这篇文章为像我这样第一次阅读云计算的技术人员提供了关于云计算的很好的描述…谢谢……


显示3评论

Baidu
map