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