云平台
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
云平台
云平台
编辑
转向云计算(cloud computing),是业界将要面临的一个重大改变。各种云平台(cloud platforms)的出现是该转变的最重要环节之一。顾名思义,这种平台允许开发者们或是将写好的程序放在“云”里运行,或是使用“云”里提供的服务,或二者皆是。至于这种平台的名称,现在我们可以听到不止一种称呼,比如按需平台(on-demand platform)、平台即服务(platform as a service,PaaS)等等。但无论称呼它什么,这种新的支持应用的方式有着巨大的潜力。
目录
1定义术语
▪概述
▪三种云服务
▪应用平台的一般模型
▪从户内平台到云平台
2大企业云平台
3云服务平台
1定义术语编辑
概述
应用平台(application platforms)是如何被使用的。开发团队在创建一个户内应用(on-premises application,即在机构内运行的应用)时,该应用所需的许多基础都已经事先存在了:操作系统为执行应用和访问存储等提供了基础支
持;机构里的其他计算机提供了诸如远程存储之类的服务。倘若每创建一个户内应用都得首先构建所有这些基础的话,那么恐怕我们今天看到的应用会少很多。同理,倘若每一个希望创建云应用[1](cloud application)的开发团队都得首先构建自己的云平台的话,那么我们今后看到的云应用将寥寥无几。幸运的是出现了一些致力于解决此问题的厂商,今天有很多云平台技术可供我们使用。本文的主旨即从企业应用创建者的角度来分类并简要介绍这些技术。
三种云服务
实际环境中的云平台:三种云服务
为掌握云平台,我们先从大体上考察一下云服务。我们可以把通过“云”提供的服务分为三大类。它们是:
软件即服务(Software as a service,SaaS):SaaS应用是完全在“云”里(也就是说,一个Internet服务提供商的服务器上)运行的。其户内客户端
(on-premises client)通常是一个浏览器或其他简易客户端。Salesforce可能是当前最知名的SaaS应用,不过除此以外也有许多其他应用。
附着服务(Attached services):每个户内应用(on-premises application)自身都有一定功能,它们可以不时地访问“云”里针对该应用提供的服务,以增强其功能。由于这些服务仅能为该特定应用所使用,所以可以认为它们是附着于该应用的。一个著名的消费级例子就是苹果公司的iTunes:其桌面应用可用于播放音乐等等,而附着服务令购买新的音频或视频内容成为可能。微软公司的Exchange托管服务是一个企业级例子,它可以为户内Exchange服务器增加基于“云”的垃圾邮件过滤、存档等服务。
云平台(Cloud platforms):云平台提供基于“云”的服务,供开发者创建应用时采用。你不必构建自己的基础,你完全可以依靠云平台来创建新的SaaS应用。云平台的直接用户是开发者,而不是最终用户。
要掌握云平台,首先要对这里“平台”的含义达成共识。一种普遍的想法,是将平台看成“任何为开发者创建应用提供服务的软件”。下一节,我们将对此作具体讲解。
应用平台的一般模型
我们今天对应用平台(application platform)的认识,主要来源于户内平台(on-premises platforms)。因此,一种思考云平台(cloud platforms)的方式,就是考察应用开发者在户内环境里所依赖的服务(services)是如何转变为“云(cloud)”的。
无论在户内环境、还是在“云”里,我们可以认为一个应用平台(application platform)包含以下三个部分:
一个基础(foundation):几乎所有应用都会用到一些在机器上运行的平台软件。各种支撑功能(如标准的库与存储,以及基本操作系统等)均属此部分。
一组基础设施服务(infrastructure services):在现代分布式环境中,应用经常要用到由其他计算机提供的基本服务。比如提供远程存储服务、集成服务及身份管理服务等都是很常见的。
一套应用服务(application services):随着越来越多的应用面向服务化,这些应用提供的功能可为新应用所使用。尽管这些应用主要是为最终用户提供服务的,但这同时也令它们成为应用平台的一部分。(也许你要奇怪,为什么要把别的应用视为平台的一部分,但在面向服务的世界里是这样的。)
开发工具也是另一个重要部分。现代工具可以帮助开发者们运用应用平台的这三个部分来构建应用。
为了对这个抽象模型有具体的认识,下面我们将它与今天主流的户内平台加以对照。户内基础(on-premises foundation)包括有:
操作系统(Operating system):Windows、Linux及其它版本的Unix是主流选择。
本地支持(Local support):不同风格的应用采用不同的技术。例如,.NET框架和Java EE应用服务器为Web应用等提供了一般性支持,而其它技术则面向特定类型的应用。比如Microsoft Dynamics CRM产品提供了一个为创建特定类型的商业应用而设计的平台。类似地,不同种类的存储被用于不同目的。Windows、Linux及其它操作系统里的文件系统提供了原始字节的存储功能,而各种数据库技术(比如Oracle DBMS、MySQL、Microsoft SQL Server及IBM DB2等)则提供了更加结构化的存储功能。
对于户内基础设施服务(on-premises infrastructure services),典型例子包括:
存储(Storage):跟基础里的存储一样,基础设施里的存储也分为多种风格。远程文件系统可以提供简单的面向字节的存储,而Microsoft SharePoint文档库可以提供更加结构化的远程存储服务。应用也可以远程访问数据库系统,从而能够访问其他种类的结构化存储。
集成(Integration):把机构内部的应用连接起来,通常要依赖于某种集成产品提供的远程服务。比如,消息队列(message queue)是一个简单的例子,IBM 的WebSphere Process Server及微软的BizTalk Server等产品可用于更加复杂的场景。
身份管理(Identity):对许多分布式应用而言,提供身份信息是一个最基本的需求。常见的解决此问题的户内技术包括微软的Active Directory(活动目录)及其它LDAP(轻量级目录访问协议)服务器。
至于户内应用服务(on-premises application services),不同机构间差别很大。原因很简单:不同机构使用的是不同的应用,因而它们暴露的服务也五花八门。对于这些户内平台里的应用,一种思考方式是将它们分成两大类: