365文库
登录
注册
5

互联网PaaS平台建立

229阅读 | 8收藏 | 5页 | 打印 | 举报 | 认领 | 下载提示 | 分享:
5
互联网PaaS平台建立第1页
互联网PaaS平台建立第2页
互联网PaaS平台建立第3页
互联网PaaS平台建立第4页
互联网PaaS平台建立第5页
福利来袭,限时免费在线编辑
转Word
right
1/5
right
下载我编辑的
下载原始文档
收藏 收藏
搜索
下载二维码
App功能展示
海量免费资源 海量免费资源
文档在线修改 文档在线修改
图片转文字 图片转文字
限时免广告 限时免广告
多端同步存储 多端同步存储
格式轻松转换 格式轻松转换
用户头像
与君决 上传于:2024-04-16
互联网 PaaS 平台建立 随着互联网技术及其应用的快速发展,互联网业务提供 者越来越呈现小团队、草根化的趋势.这些小型的业务提供 者往往具备新颖的技术和业务理念,但由于规模不足、资本 薄弱,需要面对应用访问网络能力困难和应用提供成本高、 风险大等挑战. 这些挑战严重影响了“草根”开发者业务创 新能力的发挥 近年来,高速发展的云计算技术 [1] 为解 决上述困境提供了可能. 在云计算的 3 种应用形式 [2] 中, PaasS 是云计算技术与业务提供平台相结合的产物, 它不但可 以为更高可用性、更具扩展性的应用提供基础平台,还可以 提高硬件资源的利用率,降低业务运营成本,被认为是解放 “草根”开发者业务创新能力行之有效的解决方案. 笔者首先从对工业界有影响的 PaaS 平台的分析和比较 入手,深入研究了 PaaS 平台的体系结构,抽象出 PaaS 平台 的通用概念模型; 然后针对互联网应用的特殊需求,提出了 面向互联网应用的 PaaS 平台体系结构; 最后通过对具体项目 中该体系结构的实现和测试,进一步说明了该体系结构的有 效性和高效性. 1 相关工作 目前,以 Google、新浪为代表的众多互联网公司都推出 了基于云计算技术的PaaS 平台[3],如GAE (googleappengine) 和SAE(sinaappengine) [4]. GAE 是 Google 管理的数据中心用于 web 应用程序的开发 和托管平台,是互联网应用服务的一个引擎,支持 Python 和 Java 开发. SAE 是由新浪公司开发运营的开放云计算平台 的核心组成部分,其目标是为应用开发者提供稳定、快捷、 透明、可控的服务化平台,支持 Java 和 PHP5 运行环境,有 了 GAE 和SAE 这样的PaaS 平台,用户不用再为建设一个小 型网站而去租用主机并选择托管商用户只需要利用 PaaS 平台,就能创建、测试和部署应用与服务,与传统的软件开 发相比,费用要低得多. 通过对常见 PaaS 平台的分析可以看出,PaaS 平台应具 备如下功能特性 [5]. 首先,PaaS 平台为应用开发提供了一 系列非功能属性支持,具体包含以下3 点:第一,平台提供 了应用程序的开发和运行环境,开发者不再需要租用和维护 软硬件设备,同时免去了繁琐复杂的应用部署过程;第二, 平台提供了应用程序的运行维护能力,开发者通过平台可以 得知应用的运行状态和访问统计信息,全面掌握用户对应用 的使用情况;第三,平台提供了应用的高可用性和高可扩展 性,开发者无需关注底层硬件的规模和处理能力,平台会根 据应用负载自动调整服务规模 [6], 其次,PaaS 平台提供了 大量的网络能力,开发者可以便捷地在其应用中调用这些能 力. 然而,现有的 PaaS 平台也存在一些不足 [7], 第一, 应用托管环境单一化,仅提供特定编程语言或脚本语言的运 行环境,由于应用往往对相应的运行环境配置有较高的依 赖,这种单一化的运行环境将导致应用兼容性低,需要引入 应用迁移成本.第二,能力组件封闭化.虽然 PaaS 平台向 应用提供一系列能力已经成为 PaaS 平台的标准做法,但是 仅依靠平台提供商提供能力的做法显然大大限制了平台能 力的丰富性,无法满足应用开发者对能力多样化的需求. 因此,提出的互联网应用 PaaS 平台将重点关注和解决 如下问题:第一,为各种应用提供运行环境,不仅支持常用 编程语言和脚本语言,还可以提供兼容性更强的、更为通用 的运行环境,即将虚拟机也作为一种运行环境提供给应用; 第二,提供开放式的能力组件机制,平台本身不但可以向应 用提供能力,而且人允许第三方基于此平台提供能力. 2Paas 平台概念模型 PaaS 平台概念模型如图 1 所示. PaaS 平台概念模型采 用分层结构,由用户平面(UP) 、应用平面(AP) 、资源平面 (RP) 、物理平面(PP) 和管理平面 MP)组成. CUP 反映了 PaaS 平台的目标使用者,即应用开发者 (Dev/Developer) .应用开发者可以开发多个应用,并将其 部署到平台中. AP 反映了应用开发者所开发的大量的不同类型的应用 (APP/Application) ,每个应用可以包含多个应用实例 (AITD) . 这些应用具有不同的资源消耗和用户访问模型,包括 应用逮
tj