首页 > 范文大全 > 正文

什么是云平台

开篇:润墨网以专业的文秘视角,为您筛选了一篇什么是云平台范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

理解云平台,意味着要考察其各个部分:云基础、云基础设施及云应用服务,本节将以云平台技术为例,依次考察这三部分。

理解云平台,意味着要考察其各个部分:云基础、云基础设施及云应用服务。本节将以今天能看到的云平台技术为例,依次考察这三个部分。

有一个点需要注意:虽然是从同一个视角来考察产内平台与云平台的,但它们是两样不同的东西。随着平台功能转移到“云”里去,它们有时会发生重要改变。

如户内平台顶多是用以支持企业级应用的,而运行在“云”里的应用则可潜在地支持Internet规模,这要比企业应用处理更多并发请求。虽然也许这两种隋况都需要同样的平台功能,但由于云平台对伸缩性的高要求,所以必须采取不同的方式来提供这些功能。下面,我们将看到“云”与户内环境的一些区别。

云基础

与户内基础(on-premisesfoundation)相似,云基础提供了应用所需的一些基本的本地功能,包括下层操作系统和本地支持。但正如下面所讲,云平台提供这些功能的方式跟我们所习惯的方式有所不同。

操作系统

以平台的观点来看,一个操作系统提供了一套基本接口,供各应用使用。目前最知名的一个云操作系统的例子就是Amazon的ElasticCompute Cloud(弹性计算云,简称EC2)。EC2为用户提供以虚拟机(Vlvl)形式运行的专用Linux实例。从技术上看,将EC2视为一种虚拟机平台(而不是操作系统)更准确一点。尽管如此,由于开发者可以看到它提供的操作系统接口,所以不妨就把它视为操作系统。

各个开发团队可自由随意使用虚拟机里提供的本地支持――Amazon不会管你,比如,有的应用创建者可能会采用Java EE应用服务器和MySQL,有的会选择Ruby on Rails。EC2用户甚至可以随意创建多个Linux实例,然后将巨大的作业量并行分布在这些实例上运行。虽然EC2提供的服务非常基础,但同时也具有相当的一般性,因而可被用于多种不同方式。

本地支持(Local Support)

在户内平台(及EC2)里,开发者可以自由混合使用基础里的各个部分。比方说,选择采用基于Windows的,NET框架并不意味着必须采用特定的数据库。与此类似,一个采用,NET框架的户内应用可以自由访问下层的Windows操作系统,基于Java EE服务器构建的应用也是同样。

在今天主流的云基础里,本地支持功能不是这样的。相反,云本地支持技术一般都包含自己的存储,而且它隐蔽了下层操作系统的细节。开发者若选择基于特定的本地支持方案,那他就必须接受该方案施加的约束。

当然,施加这些约束是有充足理由的。云计算吸引人的一点就在于它在可伸缩性方面的潜力,但是,要令一个构建于云基础之上的应用能够处理Internet规模的工作量,就必须施加某种约束。通过使本地支持功能更加专业化,云平台提供商在优化应用环境时将有更大的自由。因此,现在云基础里的各种本地支持功能均专注于支持特定种类的应用。

例如,Google的AppEngine为运行Python Web应用提供了本地支持。除了标准的Pythoni行时环境,AppEngine还包含一个层次化的数据存储以及相应的查询语言。Force.省略提供)是另一个提供本地支持的云平台的例子。Force.省略差不多,也是以面向数据的商业应用为目标的。跟和AppEngine一样,它既包含运行时应用支持,也包含数据存储。微软说它们准备在此领域进一步大显身手:他们将提供一个支持标准。NET开发语言和工具的平台。微软说,其用意是允许应用与开发技能在户内基础与云基础之间相互移植。

云基础设施服务

无论在户内环境里、还是在“云”里,有些应用只要有基础就够了。尽管如此,分布式存储、公共身份管理及其他基础设施服务可以给许多应用带来好处。现在我们已经习惯于由户内环境提供这些服务了,但类似的服务也可在“云”里提供。

正如图1所示,云基础设施服务既可以被运行在户内基础上的应用访问,也可被运行在云基础上的应用访问。最初,由于在云基础上构建的应用还不多,所以户内应用将成为云基础设施服务的主要用户。但随着时间的推移,这是会变化的,因为会有越来越多基于云的应用使用云基础设施服务。

存储(Storage)

应用使用某种本地存储是很普遍的,这就是为什么存储既属于户内基础、又属于云基础的原因。然而,正如存储服务在户内环境中很受欢迎一样,远程存储也很有用。因此,我们有理由预期,在“云”里提供存储服务将受到许多应用的欢迎。

跟户内平台一样,“云”里的远程存储也有不同的风格,例如,Amazon的Simple Storage Ser-vice(简单存储服务,简称S3)提供了基本的非结构化远程存储。它向开发者暴露的模型是简单明了的:对象就是保存在桶里的一串字节。应用可以创建、读取、删除对象和桶。不过,对象不能被更新――你只能彻底替换之。平台服务必须为支持Internet规模访问而作出改变,Amazon就是一例,它非常注重这一点。相对于一个功能更齐备的存储服务而言,这一简单而受限的存储服务更易于实现可伸缩性。此处的权衡是显而易见的:应用开发者以较低的代价使用“云”里的存储,但他们得在自己的应用里做更多工作才能有效利用之。

实现云存储的另一条途径是支持更具结构化的数据。例如,在微软的SQL Server Data Services(SSDS)里,容器(container)包含若干个实体(entities),而各个实体具有一定数量的属性(properties)(如图2所示)。应用可以使用操作符对容器里的数据进行查询。

要注意的是:它不是一种关系型数据库,所以查询语言用的不是SQL。还是那句话,我们将看到当应用平台技术转移到“云”里去的时候将如何发生变化。这一更简单的做法比关系型数据库更容易使用

――你不必事先定义好模式――而且也更容易实现可伸缩性。

Amazon的SimpleDB是另一个体现了“在‘云’里提供结构化存储”的价值的例子。SimpleDB组织信息的方式跟SSDS相似――它是一个由域、项和值构成的层次结构――而且它也提供了一个非SQL的查询语言。跟SSDS相似,它也不要求事先给出模式定义,因此它实现了灵活性与可伸缩性兼顾。

集成(Integration)

有没有应用程序不跟任何其他应用打交道的?连接各个应用,已经成为计算领域的一个老生常谈的话题了,而厂商为进行集成已经提供了太多的户内基础设施服务。从相对简单的消息队列到十分复杂的集成服务器,均属此类。

随着集成服务转移到“云”里去,一系列技术也将随之出现。比如AmaZ0n的simpleQueue Service(SQS)提供了一种简单的队列服务――它以一种直接的方式实现了“应用通过云中的队列交换消息”。

不过SQS再次举例说明了“把一个熟悉的户内服务放到云里去”将出现的情况。由于SQS要在多个队列之间复制消息,所以应用未必能通过单次读取请求得到来自不同队列的消息。SQS也不承诺“按序单次”递送。这些简单化处理,使得Amazon可以为SQS实现更强的可伸缩性,但它们同时也意味着开发者不能按使用户内消息队列技术的方式来使用SQS。

BizTalk Services~_另一个基于“云”的集成的例子。BizCFalk Ser-vices不是使用消息队列,而是在“云”里实现了一个中继服务,令应用可以穿越防火墙进行通信。基于“云”的集成一般要求有穿越防火墙的能力,因此解决此问题十分重要。BizTalk Services提供了一种方式,使得应用可以对自己所暴露的服务进行注册,并允许其他有权限的应用调用这些服务。另外,BizTalkServices还支持简单的工作流。

将来,我们可以看到更多在“云”里提供的集成服务。考虑到集成在户内服务里的重要性,那么看到集成功能成为云基础设施的一部分也就不足为奇了。

身份管理(Identity)

无论一个应用是在户内环境、还是在“云”里运行,它通常都需要掌握有关它的用户的一些信息。为此,应用一般都会要求各个用户提供一个数字身份,即一串描述该用户的字节。根据这些字节,应用便可以知道“该用户是谁”以及“他被允许做什么”了。

现在的许多户内应用都要依赖于一种户内基础设施服务来提供这种身份信息。然而,当用户访问一个云应用时,或当户内应用访问一个云服务时,户内身份管理通常就不管用了。那基于云基础构建的应用怎么办?它从何处获取身份信息?

云身份管理服务可解决此问题。因为身份管理服务提供的数字身份可以被人、产内应用和云应用所使用,所以它适用于多种不同场景,实际上,从现存云身份管理服务的数量上便可得知其重要性了。比如,访问Amazon的云服务(如EC2或S2)时需要提供一个Amazon自定义的身份,使用Google AppEngine时也需要有一个Google帐户。微软提供的WindowsLive ID可被用于访问微软的应用等,BizTalk Ser-vices也提供了自己的身份管理服务――它可以与其他身份管理服务进行联邦。虽然开发者没有绝对的自由(云平台经常是与特定的身份提供商捆绑的),但对身份管理这种云服务的需求是毫无疑问的。

新应用平台的出现不会频繁发生。但平台方面一旦有成功的革新出现,势必会产生巨大的影响。云平台还不能提供户内环境的所有功能。比如,商业智能在云平台里就很少见,对业务流程管理技术(如完备的工作流与规则引擎)的支持也不多。不过,随着这一轮技术潮流的发展,情况是肯定会发生改变的。

云平台目前还没有成为所有人关注的中心。不过,很可能5年内(从现在算起)情况就会发生转变。云计算在可伸缩性和低成本方面的魅力是确确实实的。无论你是为软件提供商、还是为最终用户工作,只要你的工作跟应用开发相关,你会看到,将来“云”的角色将越来越重要,它将成为下一代应用平台。

(徐涵 W3china创始人)