Fighting bird分享 http://blog.sciencenet.cn/u/tonia

博文

Above the Clouds: A Berkeley View of Cloud Computing(一)

已有 5546 次阅读 2010-5-10 01:06 |个人分类:cloud|系统分类:科研笔记

February 10,2009
KEYWORDS:Cloud Computing,Utility Computing,Internet Datacenters,Distributed System Economics

1. 概览

云计算(cloud computing),一个将计算作为效用资源(utility)的长远梦想,已经在很大程度上改革了IT行业,使得软件作为服务更加具有吸引力,也塑造了IT硬件的设计与购买之道。对于新型Internet服务具有独创性想法的开发者们来说,不再需要大型的专有硬件来部署他们的应用,同时也不用花费大量的人力成本来管理它们。他们不必担心为未达到他们所预测的流行度(popularity)的服务过度供给(over-provisioning)而造成的资源浪费,也不会担心为疯狂受捧的服务供给不足(under-provisioning)而造成潜在客户流失及收益问题。更重要的是,大型批导向的任务(batch-oriented task)得到结果的速度与程序规模的扩展相当,如1000台服务器工作1小时的成本与1台服务器1000小时相当。资源的这种弹性(elasticity),不必为扩展花费多余的成本,这在IT历史上是史无前例的(unprecedented)。

云计算是既指通过Internet和硬件作为服务发布的应用程序,也指数据中心中提供这些服务的系统软件。这些服务本身就是Software as a Service(SaaS),而数据中心的软硬件则是我们所说的云(cloud)。当一个云在公共环境下以用即付费(pay-as-you-go)的方式可用时,我们称之为公共云(public cloud);服务被销售则称实用计算(utility computing);商业或其他组织内部的且外部不可用的数据中心,称私有云(private cloud)。所以,云计算是SaaS和utility computing之和,但不包括私有云。而人则包括SaaS的用户或提供商,或者utility computing的用户或提供商。这里我们关注于SaaS提供商(即云用户)和云提供商,而不太关心SaaS用户。

从硬件角度来说,云计算有3个新的方面:

1. 说明了有限的计算资源是按需可用的,从而消除了提前计划云计算用户超前供给的必要;
2. 不需要云用户的预先承诺,因此允许公司从小开始,并仅在需要时增加硬件资源;
3. 能根据需要对计算资源的短期使用付费(如按小时计的处理器,按天计的存储等),并在需要时发布,这样可以在它们不再有用的时候释放机器和存储资源。

我们认为构建并操作一个极大规模、商用低成本的数据中心是云计算的关键,因为它们揭露了在非常大经济规模的情况下,使电力、网络带宽、操作、软件及硬件等成本降低的5~7个因素。这些因素结合比私有云实用性有所增加的统计多路复用,说明了云计算以低于中型数据中心的成本提供服务,并仍可以得到较好的利润。

任何应用都需要一个计算模型、一个存储模型和一个通信模型。统计多路复用对于取得弹性是必要的,无限能力的愿景需要这些资源都可视化,以隐藏多路复用和共享的实现细节。我们认为不同的效用计算提供之物,可以基于呈现给编程者的抽象层次和资源管理水平被区分开来。

Amazon EC2是这个系列的一端。一个EC2的实例看上去更像一个物理硬件,用户可以控制从内核向上的几乎全部的软件堆栈。这种低层次对于Amazon来说,使得提供自动可扩展和失效处理本质上很难,因为与复制和其他状态管理问题相关的语义是高度依赖于应用的。这个系列的另一个极端是应用域特定的平台,如Google AppEngine。AppEngine 的目标与传统的web应用不同,推出一个无状态的计算层与有状态的存储层之间完全分离的应用平台结构。AppEngine优秀的自动扩展和高可用机制,及AppEngine应用可用的适当的MegaStore数据存储,这些都依赖于这一约束。Microsoft的Azure是用.NET库写的,并编译成公共语言运行时(Common Language Runtime, CLR)。因此,Azure是应用框架间的协调者,如AppEngine 与EC2那样的硬件虚拟机。

何时效用计算会运行在私有云(private cloud)上呢?第一种情况是服务需求随时间不同。例如提供一个必须在每月的高峰负荷的几天里维持的数据中心,将导致其他时间的利用不充分。相反,云计算允许一个组织按小时为计算资源付费,从而潜在地节省了成本,即使从云提供商租用机器比自己拥有的每小时速度还高。第二种情况是需求不可预知。例如,web在开始时要支持网站受欢迎时的需求大幅度突增,然后渐渐地一旦一些访问者离开带来的需求减少。最后,组织进行性能批分析时,可以使用云计算的”成本关联性“来完成更快的计算,即,用1000台EC2机器处理一小时的成本,就像用1台机器处理1000小时一样。对第一种情况,web商务随时间需求不同,收益与用户时(user hour)成正比,我们使用下面的式子中得到权衡(tradoff):



左边是云计算下的预期利润,即每个用户时的点收益与用户时数的乘积。右边是固定容量的数据中心的平均使用情况(包括非高峰负载)。哪边大就表示利润更高。

表1按顺序给出了云计算的关键难点,这在Section 7中会详细讲述。


所有层次都致力于单一VM的虚拟机效率的水平扩展性。另外:
1. 应用软件:scale up的同时也需要快速的scale down,这是一个新需求。这样的软件也需要使用即付费(pay for use)模型来匹配云计算的需要。
2. 平台软件:要能意识到裸机上不再运行但却在虚拟机(vm)上运行,而且,还需要从一开就构建billing。
3. 硬件系统:应该设计成至少是容器大小的规模(至少一打机架)。运营成本要根据能源比例考虑性能和购买成本的匹配,如将闲置的部分内存、硬盘和网络转入入低电量模式。处理器应该同虚拟机很好地工作,闪存要加到内存层次结构中,而LAN转换器和WAN路由器必须能改善带宽和成本。

2. 云计算:一个旧思想的时代(终于)来临

云计算一直以来都作为一种效用计算的新名词,最近以一种商业现实的形式涌现。云计算很可能像制造商对硬件工业的带来的影响一样影响软件业。领先的硬件公司曾经获得了受控的半导体制造设备,为了承受得起创建和运行它,不得不加大经济投入。然而,每一次技术更新处理设备的价格都会翻番。一个半导体生产线每天要花费$3B,所以仅仅有非常高的芯片数量的极少数主要的“商人”公司,如Intel和Samung,仍然能拥有和经营自己生产线。这使得芯片和其他的半导体制造厂商开始出现,如台湾半导体制造公司(Taiwan Semiconductor Manufacturing Company,TSMC)。制造商使”无制造的“(fab-less)的半导体芯片公司出现,它们独创性的芯片设计价值是:一个像nVidia的公司现在可以在芯片业取得成功,而不需要拥有现代生产线带来的大量的运营成本和风险。反之,有生产线的公司可以时间多路地使用多个fab-less公司的产品,来降低没有足够成功的产品分期偿还经营成本的风险。同样,经济的规模优势和统计多路复用最终可能导致少数供应商的云计算,它们可以摊销许多“无数据中心” (datacenter-less)的公司的产品在其大型数据中心的成本。
 
云计算在工作室、会议甚至杂志上作为标题出现,但关于它究竟是什么以及什么时候有用的困惑仍然存在。这是Oracle CEO极具挫败感的话:
“云计算有趣的地方在于我们已经重新定义了云计算以将所有我们已经做的东西都包含进来... 我不明白我们在云计算下会做什么不一样的事情,除了改变我们的一些广告用词以外。”
Larry Ellison,quoted in the Wall Street Journal,September 26,2008
惠普副总裁欧洲软件销售较为温和地呼应了这些话:
“许多人都跳[云]潮流,但我没有听到两个人说同样的事情。关于云有多个定义。”
Andy Isherwood,quoted in ZDnet News,December 11,2008
Richard Stallman,众所周知的“免费软件”的宣扬者,认为云计算是用户陷阱。他认为如果在“云”中管理应用程序和数据,用户可能会依赖一些专有系统,这些系统的成本将上升,或因为他们的服务条款可能会单方面及不利改变:
“这样是愚蠢的,比愚蠢还糟糕:这是一个市场炒作活动。有人说这是不可避免的——无论何时你听到有人这么说,很有可能是商业活动使它成真的。”
Richard Stallman,quoted in The Guardian,September 29,2008

本文的目标是澄清这些术语,提供一个简单的程式来量化云和传统计算之间的比较,并指出云计算一些top的技术和非技术的阻力和机会。我们自从2005年在UC Berkeley RAD实验室工作就开始形成了部分观点,还有一部分是在2008年作为Amazon Web Services用户的时候进行我们的研究和授课过程中形成的。RAD实验室的研究议程是为了发明一种机器语言技术,用它来帮助自动化提供可扩展的Internet服务的数据中心运营 过程。我们花了6个月时间对云计算进行头脑风暴, 试图回答以下几个问题:
  • 什么是云计算?如何将它区别于之前的模式,如Saas?
  • 为什么现在云计算蓄势待发,而以前的尝试均告失败?
  • 成为云计算供应商需要具备什么条件?为什么一个公司要考虑成为云计算供应商?
  • 云计算显式或潜在地带来什么样的新机会?
  • 我们怎样将现有的云计算提供物进行系列分类?以及如何根据系列中的特定提供物,在技术和商业挑战角度进行区分?
  • 如果有,云计算产生了什么新的经济模型?一个服务操作者怎样决定是迁移到云还是待在一个私有的数据中心?
  • 云计算成功的前10个障碍是什么?相应的前10个克服这些阻碍的可用机遇又是什么?
  • 为了满足云计算机遇的需要,未来应用程序软件、基础设施软件及硬件的设计需要做出什么改变?


http://blog.sciencenet.cn/blog-425672-320820.html

上一篇:MapReduce
下一篇:云计算概念解析

1 强涛

发表评论 评论 (1 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2019-12-9 21:32

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部