定义云计算

阅读数:841 2008 年 6 月 9 日

话题:SOA架构云计算DevOps

“云计算”这个术语已是无处不在,从 Web2.0 大会,到业界巨头的企业架构会议的白板上,以及创业公司开发者的笔记本上,你都能看到它的身影。如今被问起最多的问题就是:“什么是云计算?”

就像这个行业的许多其它事情一样,对这个问题的回答也总是因人而异的。Rod Boothby 在 Web 2.0 Expo 大会采访了一些人制作成了一个短片。Kevin Marks,Google OpenSocial 的传道者,解释了从基于包的网络云,到基于文件的万维网云,再到基于交互的计算云这种抽象层次的进步。在每种情况下,“云”都提供了对环境的某一部分的抽象,而这些是用户不需要去理解也不必关心的。Dan Farber,CNET NEWS 的首席编辑,提到现在的“云”是数据和应用的存储空间,而它的可用性对于开发者以及用户来说,以后会演化成像“电力”一样(是伸手可及的)。其它观点涉及到的范围包括从怎样提供它(例如简化它的使用,简化它的部署,简化它的操作等)到它不是什么(例如安装的软件,特定的平台)等方方面面。

Linda Tucci以 RAID 作为比喻来解释云计算。Tucci 在这个比喻中特别强调了云计算的成本部分:

当 IBM 于 1977 年为这个革命性概念申请第一个专利的时候,他们关心的是性能,而不是成本。但十年之后,一组消费级别的“破磁盘”能够以极低的成本获得比独立磁盘更好的可靠性和性能已成为了不争的事实。极其的便宜,以至于当有足够的部件坏掉时,这一组磁盘可以直接抽出来扔掉。
David Young 提出了他称之为“云计算机的规范”的概念,其中他列出了组成平台即服务(PaaS)云计算的九大特性。这些特性是:
  1. 虚拟层网络稳定性
  2. 创建,删除,克隆实例的 API
  3. 应用层的互操作性
  4. 状态层的互操作性
  5. 应用服务
  6. 自治的伸缩性
  7. 硬件级的负载均衡
  8. 存储即为服务
  9. 超级用户权限,如果需要
另一些人则以通过讨论什么不是云计算的方式来解决如何去定义云计算。

James Governor 从他人的想法中提炼出了一个“Top 15”的列表告诉人们如何去判断不是云计算。Governor 的一些观点是云计算不需要在你的电脑上安装软件,不需要有特定的操作系统,它和“网格计算”不一样,也不需要你去买服务器硬件。Tony McCune 同时列出了三条可以排除在云计算之外的标准。这三条是,简单的 web 门户,仅仅用到虚拟化,和微软的 Mesh。根据这三条原则,McCune 给出了他心目中的云计算技术候选。

1. 门户化的网页——可部署的 widget,portlets 或是其它构建在 Adobe Air、Google Gears 或甚至是 (重出江湖的) java applet 之上的元素。这些计算元素可被设计成服务于一种特定的计算功能,并可以跨多平台部署而不需要关心底层的基础结构。

2. 自治的虚拟云——Amazon Web 服务、微软 SSDS(当它真的发生时) 或者是基于 VMWare 的计算或存储解决方案,它们以一种随需配置的方式提供了来自 Web 连接的效用计算。

3. 虚拟应用服务器——Google App Engine 是云计算将如何发展的一个极好的例子。Google 的 python 实现以及有限的 API 不会吸引企业级的客户,但它却给了我们第一个真正可用的“云中的应用服务器”。在这里,Google 真正的亮点在于它的简洁。相对初级的程序员也可以快速地开发自己的应用,不需操心他们所用的服务底层实现是什么样子。

Joe McKendrick 挑明了对云计算范型的一些批评。McKendrick 指出了 Nick Carr 关于国际政治界限(如,英国的调查权约束法案以及中国的防火墙)将如何限制云计算真正使用的陈述。

Boothby 总结了他对这个问题的答案, “更重要的问题不是‘什么是云计算’,换而言之的是在于,你将要构建的是什么?”

查看英文原文Defining Cloud Computing