云计算—一个新兴的领域

云计算概观

云计算(英文:Cloud computing,台湾译作云端运算),是一种基于互联网的计算新方式,通过互联网上异构、自治的服务为个人和企业用户提供按需即取的计算。由于资源是在互联网上,而在电脑流程图中,互联网常以一个云状图案来表示,因此可以形象地类比为云,‘云’同时也是对底层基础设施的一种抽象概念。

云计算的资源是动态易扩展而且虚拟化的,通过互联网提供。终端用户不需要了解“云”中基础设施的细节,不必具有相应的专业知识,也无需直接进行控制,只关注自己真正需要什么样的资源以及如何通过网络来得到相应的服务。

云计算可以认为包括以下几个层次的服务:基础设施即服务(IaaS),平台即服务(PaaS)和软件即服务(SaaS)。云计算服务通常提供通用的通过浏览器访问的在线商业应用,软件和数据可存储在数据中心。

基本特征

云种类

互联网上的云计算服务特征和自然界的水循环具有一定的相似性,因此,云是一个相当贴切的比喻。通常云计算服务应该具备以下几条特征:

  • 基于虚拟化技术快速部署资源或获得服务
  • 实现动态的、可伸缩的扩展
  • 按需求提供资源、按使用量付费
  • 通过互联网提供、面向海量信息处理
  • 用户可以方便地参与
  • 形态灵活,聚散自如

对比

云计算常与格网计算(分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机,常用来执行大型任务)、效用计算(IT资源的一种打包和计费方式,比如按照计算、存储分别计量费用,像传统的电力等公共设施一样)、自主计算(具有自我管理功能的计算机系统)相混淆。

事实上,许多云计算部署依赖于计算机集群(但与网格的组成、体系机构、目的、工作方式大相径庭),也吸收了自主计算和效用计算的特点。

它从硬件结构上是一种多对一的结构,从服务的角度或从功能的角度它是一对多的。 (1)例如,今天要设计一供应链管理系统,可以先从市面上提供的免费云服务器主机,将Application放置主机上,使用MS所提供数据库,这样一来,硬件成本大幅降低,将Application放置云上,且随时随地于任何终端设备上链接互联网,就能访问数据(因为基于公开的标准协议). (2)云科技,在2009年开始至今,对于任何企业都吹起一股风潮,除了数据访问方便,营运成本大幅降低(例如,办公室软件,操作系统,硬件设备),都能通过云技术的提供,免费使用.现今很多企业在创业时,都采用云技术,来降低成本,以提高企业竞争能力.

丛集计算:比起云计算,丛集计算着重在高效能,串连各别CPU的计算能力,而非着重在提供服务。 虽然云计算的底层有部分是由丛集计算所构成,像是负载平衡或备援技术。丛集计算所提供的效能固然强劲,然而建置成本也相对昂贵,一般民众与研究单位大多无法负荷。因此利用商用硬件(Commodity Hardware)的组装电脑,渐渐成为另一新主流。众多原本应用在丛集电脑上的库或操作系统,也逐渐地移植在商用电脑上运行。其中Unix操作系统,就是从大型工作站,演进到现在一般用户皆可使用的最好示例。除了建置成本的问题外,另一个丛集计算的缺点,在于需要完全同规格的硬件。不同的硬件、环境上,丛集计算很难组合运作,在软件上也有同样困扰,为了效能,可能针对操作系统的版本,使用的库去限制,让不同的站点(Site)间必须重新设计开发许多的转换程序才能集成。此外,跨网络区域的连接与使用皆会遇到网络安全性的问题。为了解决以上问题,派生了另一技术,称做格网技术。

网格计算:格网这个名词,在英文中,较多用在电力格网(Power Grid)领域中,因此也有人称为网格。 在格网计算的始祖Ian Foster的论文中,将格网计算发展的远景,类似电力或水力,在需要使用时便随手可得。然而格网计算,常会被拿来与丛集计算比较。在讨论格网计算中常常会提到虚拟组织(VO, Virtual Organization),与W3C的技术规格。格网计算就是利用现有的丛集计算以及Web观念作为底层,也有人认为格网技术是下一代的Web 3.0。但是格网技术是完全不同的目的,最主要还是增加资源的利用性,并非追求效能。 资源的收集,控制,服务等议题便成为格网中间件(Middleware)的主要目标。 我们可以试着以“漏斗”这样的观念去想像,漏斗的下方是资源,由中央的中间件进行收集,再由更上层的软件去应用。这样的观念也逐渐扩充到其他领域,包括数据格网(Data Grid)。中间所有的协议,都以W3C所制订的规格为主,如HTTP,XML等。因此按照网格概念所设计的中间件,可用来管理上万台甚至数十万台电脑,并且将其纳入计算或存储资源中。

云计算与网格计算的最大差异在于计算量,云计算大都以单一主机服务用户,主要较偏向少量而多次的计算,少次而大量的计算易使资源用尽,致使其他服务停摆或拒绝服务;网格计算是以多主机来做计算支持,在少次而大量的计算时较为有效率,在此情况下,网格计算域内的电脑资源可互相支持,不会有资源用尽的疑虑。

体系架构

云层次结构

截止到2009年,大部分的云计算基础构架是由通过数据中心传送的可信赖的服务和建立在服务器上的不同层次的虚拟化技术组成的。人们可以在任何有提供网络基础设施的地方使用这些服务。“云”通常表现为对所有用户的计算需求的单一访问点。人们通常希望商业化的产品能够满足产品质量(QoS)的要求,并且一般情况下要提供服务水平协议。[1] 开放标准对于云计算的发展是至关重要的,并且开源软件已经为众多的云计算实例提供了基础。[2]

云的基本概念,是通过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再由多部服务器所组成的庞大系统搜索、计算分析之后将处理结果回传给用户。通过这项技术,远程的服务供应商可以在数秒之内,达成处理数以千万计甚至亿计的信息,达到和“超级电脑”同样强大效能的网络服务。它可分析DNA结构、基因图谱定序、解析癌症细胞等高级计算,例如Skype以点对点(P2P)方式来共同组成单一系统;又如谷歌通过Map Reduce架构将数据拆成小块计算后再重组回来,而且Big Table技术完全跳脱一般数据库数据运作方式,以row设计存储又完全的配合谷歌自己的文件系统(GFS),以帮助数据快速穿过“云”。

云计算的产业三级分层:云软件、云平台、云设备。 上层分级:云软件 Software as a Service (SaaS) 打破以往大厂垄断的局面, 所有人都可以在上面自由挥洒创意,提供各式各样的软件服务。 参与者:世界各地的软件开发者; 中层分级:云平台 Platform as a Service (PaaS) 打造程序开发平台与操作系统平台, 让开发人员可以通过网络撰写程序与服务,一般消费者也可以在上面运行程序。 参与者:谷歌、微软、苹果、Yahoo!; 下层分级:云设备 Infrastructure as a Service (IaaS) 将基础设备(如IT系统、数据库等)集成起来, 像旅馆一样,分隔成不同的房间供企业租用。 参与者:IBM、戴尔、升阳、 惠普、亚马逊。

发展历史

2007年10月谷歌IBM开始在美国大学校园,包括卡内基美隆大学麻省理工学院斯坦福大学加州大学柏克莱分校马里兰大学等,推广云计算的计划,这项计划希望能降低分布式计算技术在学术研究方面的成本,并为这些大学提供相关的软硬件设备及技术支持(包括数百台个人电脑BladeCenterSystem x服务器,这些计算平台将提供1600个处理器,支持包括LinuxXenHadoop等开放源代码平台)。而学生则可以通过网络开发各项以大规模计算为基础的研究计划。

2008年1月30日谷歌宣布在台湾引导“云计算学术计划”,将与台湾台大交大等学校合作,将这种先进的大规模、快速计算技术推广到校园[3]

2008年7月29日,雅虎、惠普和英特尔宣布一项涵盖美国、德国和新加坡的联合研究计划,推出云计算研究测试床,推进云计算。该计划要与合作伙伴建立6个数据中心作为研究试验平台,每个数据中心配置1400个至4000个处理器。这些合作伙伴包括新加坡资讯通信发展管理局、德国卡尔斯鲁厄大学Steinbuch计算中心、美国伊利诺伊大学香宾分校、英特尔研究院、惠普实验室和雅虎。”。[4]

2008年8月3日,美国专利商标局网站信息显示,戴尔正在申请“云计算”(Cloud Computing)商标,此举旨在加强对这一未来可能重塑技术架构的术语的控制权。戴尔在申请文件中称,云计算是“在数据中心和巨型规模的计算环境中,为他人提供计算机硬件定制制造”。[5]

2010年3月5日,Novell与云安全联盟(CSA)共同宣布一项供应商中立计划,名为“可信任云计算计划(Trusted Cloud Initiative)”。