搜索
您的当前位置:首页正文

基于多租户架构的PaaS构建剖析

来源:欧得旅游网
DOI:10.3969/j.issn.1001—3824.2012.03.002 基于多租户架构的PaaS构建剖析 悄 颖,蘑 彦,琳 勇 (四川省达州市电信分公司网络部,四川达州635000) 摘要:云计算平台不仅是云产品实现的基础,而且是体现云计算运营思路内涵的表达形式。以SMes ̄rce公司的 平台即服务(PaaS)平台为例,对基于多租户架构模型的PaaS平台的各个部分进行了详细剖析,展示了该平台内在 的关键支撑技术,总结了技术选用的原则。SMes ̄rce公司的PaaS平台整体架构分为基础物理设施资源和Force. con平台。Force.con平台是整体架构的核心部件,分为网关和虚拟服务器群(POD)。最后指出云产品平台的构 建要选用适合企业自身发展的技术,并与公司经营理念相适应,以推动企业云服务经营业务的发展。 关键词:云计算;PaaS;云平台 中图分类号:TP39 文献标识码:A 文章编号:1005—3824(2012)03-0007-04 0 引 言 云计算的价值通过云产品的价值体现出来,云产 品的价值是通过云技术平台来实现的。云平台不仅 共赢。非凡的理念使得Salesforce公司成为了云计算 领域公认的领袖企业,其推出的产品不仅成熟,而且 产品体现的技术运营理念也是独树一帜,被许多云计 算经营公司效仿。Salesforce的PaaS平台无论是在架 构设计上,还是在应用支持上,与另一云计算业界的 先锋公司Google的PaaS相比,都有着重大的区别。 Salesforce的PaaS最大的闪光点就在于采用了多租户 是技术的集成,而且是体现云计算运营思路内涵的表 达形式。本文对云计算产品平台进行深入剖析,展示 了平台内在的关键支撑技术,在技术解析过程中始终 紧扣云产品平台构建应符合云产品运营思路的重要 思想。通过对成熟的云计算产品平台进行深刻解读, 架构,实现了云计算产品平台一体化。下面对多租户 架构进行剖析,揭开云计算产品的神秘面纱。 通过分析优秀云计算公翻经营的思路,可以探寻适合 企业自身发展的云计算产品平台开发之路。在众多 的云产品平台中,Salesforce.con公司的PaaS平台是 其中的典型代表,其独树一帜的产品平台对云计算的 运营产生了深远的影响,对从事云计算服务业务的公 司有很大的指导作用和借鉴意义。 2多租户的概念和模型 多租户的概念是在多用户概念基础上发展而 来,不同于传统的多用户共享一个相同的实例,在 权限上区分用户的使用范围。多租户是多个用户 享用虚拟实例,虚拟实例由具体软件实例虚拟而 成,共享的虚拟实例即使是同一个,也会存在差异。 多租户是对共享实例进行技术创新,面向应用实 例,而非虚拟化技术面向操作系统。由于在软件设 1 Salesforce简介 Salesforce.con公司成立于1999年,由甲骨文公 司前高管MarcBenioff创立。企业成立之初,便提出 了“消灭软件”的变革性运营理念,其目的是为了实 现IT资源整合、集中化管理和运营…,消灭企业数据 计时就必需实现软件自身数据和配置信息的虚拟 分区,所以多租户软件架构要进行必要的修改,特 别是数据库需要特殊的设计,在安全隔离方面要做 设置,毕竟共享同一软件资源存在一定的风险。 常见的多租户实现模型有3种,区分就在于最 底层采用的数据库模式。 1)私有表。为每个用户单独定义数据并创建一个 ——中心的运行软件,通过互联网接人,按需提供软件服 务于用户,并收取相应费用,实现企业与用户的价值 收稿日期:2012-01—12 7—— 新表。实现简单,不过成本高。数据定义语言(DDL) 操作涉及数据框架,这造成表之间整合度低。 2)扩展表。分基本表和共享表,减少了DDL操 作,表的整合度高,但用户占用基本表和共享表,这 造成表的架构复杂。 3)通用表。通用表包括租户位和数据位。租 户位区分用户,数据位用来存放各种类型的数据。 通用表为体现灵活扩展和通用性,采用了稀疏列的 表格式。每一行的数据位中以一个键和一个值的 形式存放数据,行很宽,里面有许多空值,表具有极 高的整合性,也避免了DDL的操作,但架构实现难 度较大。Salesforce公司采用了这种多租户模型。 3基于多租户架构的PaaS平台 Salesforce的PaaS平台整体架构分为两层,基础 物理设施资源和Force.con平台。其中Force.con平 台是整体架构的核心部件,它首先整合和利用基础物 理设施资源,然后提供PaaS平台服务于软件开发者, 最后将公司云产品应用以软件即服务(SaaS)的形式 提供给用户 J。其整体架构如图1所示。 图1 Salesforce整体架构图 Salesforce公司的PaaS和SaaS基于同一个平 台,统一的平台不仅成本低,而且应用得到了整合, 突出表现为软件架构上API的统一,PaaS和SaaS的 应用程序接口得到了重用,方便了应用服务的管理。 Force.con是业界第一个基于多租户架构的 PaaS平台,不仅支持灵活的定制,并且承受负荷极 强。其整体架构如图2所示。 图2 Force.com整体架构图 架构分两部分,网关和虚拟服务器群(POD)。 8——DIGITAL COMMUNlCATlON/2O1 2.06 雾一 芒 i:i  r=I 兰=型 壁塑查塑 !!====雪==== ;I  I i :l运行时应用生成器 ; l l ============= ;全文检索引擎 }; : 应ff1f]t ̄务器  :址,Force.com在这点上进行了优化改进,Force.com 的索引。异步机制的好处在于,将事务处理和用户 使用多个共享的大数据库表作为存储放置对象。 大数据库表中包含许多数据通用字典(UDD),UDD 就是专门存储元数据的表格。另外,对于应用而 言,运行在Force.com上的软件实例也是由多个对 象生成的,同样一个应用实例也是使用元数据进行 描述的。用户最初在使用软件的时候,对象版本和 检索放置在不同时间段,保证了检索工作不影响处 理事务的效率,同时也能为用户提供最新搜索结 果。在检索过程中采用了一项创新技术——等待 检察技术优化了检索流程,系统将修改过的数据复 制到一个等待检索表,检索服务器会直接访问这个 表,返回给用户最新的搜索结果,检索服务器不用 对整个索引进行搜索,从而减少了检索服务器的I/, 规模都是一致的,随着用户使用时间的增长,相应 用户对应用软件的定制添加便会造成同一个软件 实例的不同,系统就会对应用共享对象和定制对象 进行严格分离。在实现上,并未为新对象生成数据 库表格,而是采用元数据的形式存储在大表中。元 数据的好处显而易见,作为数据存放比新建数据库 表格易实现很多 J。在实际运行中,Force.corn使 用引擎分析数据库中的元数据以动态生成虚拟实 例和虚拟实例所需的模块。 2)大规模数据处理引擎。主要用于大数据量 的读写和在线事务的加速处理。由于PaaS平台需 要处理的数据量是巨大的,所以引入大规模数据处 理引擎就显得很有必要。当一个API调用发生了很 多待处理数据时,引擎能快速应对处理,显示出强 大的优化处理能力。另外,当处理大规模数据时, 其中一个步骤发生错误,引擎内置的错误恢复机制 能快速捕捉和修复这个错误,同时会保存出错步骤 之前的数据结果,避免重新操作。 3)多租户感知的查询优化引擎。引擎的作用是 帮助关系型数据库自带查询优化器,以便更好地适应 多租户的环境。数据库是自带查询优化器的,主要基 于数据库表的索引等数值进行计算和比较 。这种 自带的查询优化器是针对单租户环境而设计的,为了 使其适应多租户环境,在自带查询优化器基础之上 设计了一个多用户感知的查询优化引擎,其为每个 多租户对象维护了与之对应的一整套优化数据,除 此之外,这个引擎也维护租户和租户下用户的安全 信息,既避免了租户间数据的误处理,又提升了数 据安全性和数据处理效率。 4)运行生成器。根据用户请求动态生成应用, 并利用查询优化器提升数据处理效率。 5)全文检索引擎。在数据库进行数据更新的 同时,引擎异步更新这个数据的相关索引。做为 Web的一项基本功能,被应用至PaaS。Force.corn 内置的全文检索引擎基于Lucene技术。当运行在 PaaS平台上的应用对数据库中的数据进行更新时, 会有检索服务器的后台进程异步更新与数据相关 O处理量。在多租户环境中,每个多租户都有一个 独立的索引。 另一POD主要部件共享数据库用于存放数据, 采用散列分区技术,将大数据分成数据小块进行管 理,使得大型数据库得以适应多租户环境,提升了 系统的伸缩性和可用性。共享数据库由以下3部分 组成,如图4所示。 叵 [ li 臣 共享数据库 i 图4共享数据库组成示意图 1)元数据表。用于存储互用定制对象及其包 含的字段和结构信息,不保存具体数据。元数据表 主要有两类:一是对象元数据表,存储对象的信息, 其字段包括对象ID(标示数据)、拥有对象的租户 ID和对象名称;二是字段元数据表,存储对象附带 字段的信息,包括字段的ID、拥有字段租户的ID、字 段名称、字段数据类型和是否被索引的布尔字段。 2)数据表。存储用户所使用对象和对象所包 含的字段数据。与元数据表一样,有两类,一类是 数据表,表中放置着对象和字段所对应的数据。核 心字段有全局ID、租户ID、对象ID和对象名称。核 心字段之外,有501个数据列用来存放数据,列用 Value来命名。首个字段以Value0设定,后续排列 递增。列采用灵活列的方式,使得数据库中的数据 总是以可变长度字符数据类型(Varchar)形式承载 数据。另一类是大字符表(Clob),专门存放大字符 对象,最大长度限制为32 000字符。 3)数据透视表。透视形象表达了数据读取简 化的过程,对特殊数据去格式束缚,只关注数据某 一特征即可进行读取,这样会加速对特殊数据的处 理,使系统通过“短路径”得以对数据进行直接处 一9一 理。在具体实现上,往往对表中数据某一特征进行 成机制,按需分配资源,需要对应用进行扫描,导致 请求响应时间长,为了加快读取,就必需采用优化 技术,简化数据读取冗余。总之,云计算产品平台 不会一成不变,随着用户需求的增加,平台演变也 是必然的。软件的演进是一个过程,是在不断实现 创新的过程中逐步成熟起来的。企业在实际运营 处理,例如字段类型。这样做的好处有:可以优化 数据库,加快了对常用数据的读取,减少了因结构 导致的读取冗余。 除此之外,Salesforce基于多租户的PaaS平刻 台,采用了独创的面向对象语言Apex。Apex整合 复杂的商业逻辑和多模块功能,用于在Force.corn 中,要面向需求,充分发挥人的创造性,打造优秀团 队以支撑企业规模发展。 参考文献: [1]Salesforce[EB/OL].(2012—1—5)[2012-01—10].http:∥ baike.baidu.com/view/1455163.htm. 上创建Web服务。运行有两种方式:一是单独脚 本,按用户需求执行;二是触发器形式,通过特定数 据处理事件作为条件,触发绑定的Apex代码执行。 Apex代码同样是以元数据的形式存储于元数据表 内。当Apex代码被调用时,Apex的翻译器会读取 元数据缓存中被编译过的Apex代码,以提供给多个 租户进行使用。引入Apex这门新语言,着眼于平台 的稳定性和安全性 J。Apex有一组管理工具,能够 检测脚本在运行、执行过程中消耗的性能并进行事 件统计,有助于判断脚本执行是否正常,是否应终 止,避免了对其他租户应用的影响,确保了应用的 [2] Force.con[EB/OL].(2012一l-5)[2012-01-10].http:∥ www.cloudguide.con.cn/newshow.php?site=product&id =58&type=1&source=bay&show=yes. [3] 肖云鹏,刘宴兵.云计算关键技术与应用展望[J].数 字通信,2010,37(3):29—31. [4] 徐鹏,陈思,苏森.互联网应用PaaS平台体系结构 [J].北京邮电大学学报:自然科学版,2012,35(1): 120.124. 安全,同时将中断信息反馈给此应用的用户。另 外,Apex代码有验证机制,对其内嵌的SOQL(数据 库查询语言)和SOSL(数据库检索语言)进行验证, 以避免实际运行时出现错误,保证了平台整体运行 的稳定性。 [5]Salesforce多租户架构[EB/OL].(2012-01—15)[2012. 01—16].http:∥www.Datacenter.chinabyte.com/206/ 8789206.shtm1. 作者简介: 何颖(1973一),女,四川达州1人,通信工程师,研究方 4 总 结 上述基于多租户架构的PaaS示例,不仅体现着 一向为 N和OTN融合网络的演进;唐 彦(1983一),男,重 庆永川人,四川省网络技术骨干工程师,研究方向为IP化分 组承载网络、智能DWDM光网络的演进及发展和信息行业 化集成应用;林 勇(1975一),男,四川达州人,通信工程师, 种先进的技术理念,更是体现着一种清晰的云计 算服务运营思路。在具体搭建过程中,在设计上既 要满足业务需求,也要兼顾成本。初期和发展期, PaaS平台优化很重要。目前的架构中包含动态生 网络建设项目总负责人,研究方向为全业务网络演进及 发展。 Analysis of Construction Profiling Based on Multi—tenant Architecture PaaS HE Ying,TANG Yan,LIN Yong (DaZhou telecom branch in Sichuan province,Dazhou 635000) Abstract:Cloud computing platform is not only the basis of product realization cloud,but also reflects the cloud computing operating idea of the connotation of forms of expression.We took Salesforce’S PaaS platform as an example,conducted a de— tailed analysis of the PaaS platform based on multi—tenant architecture model to demonstrate the platform’S inherent key sup— porting technologies,and summarized the principle of technology selection.It is pointed out that cloud computing operates cloud platform to build the selection of the technology for their own development,with the company business philosophy and adaptation in order to promote the development of enterprise cloud service business. Key words:Cloud computing;PaaS;Muhi—tenant;Salesforce (责任编辑:郭毅) 1 0——DIGITAL COMMUNlCATlON/201 2.06 

因篇幅问题不能全部显示,请点此查看更多更全内容

Top