国内国际云计算PaaS平台系统分析
本文主要分析一下厂商的PaaS平台:
国外PaaS平台:
Amazon使用弹性计算云(EC2)和简单存储服务(S3)
IBM蓝云(Blue Cloud)
Google GAE
Microsoft的 Azure
Salesforce 的Force.com
国内PaaS平台:
中服CServer PaaS平台
八百客的PaaS平台
Sina SAE
Baidu BAE
以下列举了 salesforce、google、microsoft、中服软件、八百客、sina、baidu的PaaS平台功能及特点,从其平台功能可以看出,salesforce的force.com平台IaaS层应用了Amazon的EC2作为底层硬件资源的申请和管理服务,在其上层主要面向应用提供了数据库、流程、桌面、基础服务、聊天、站点管理等开发和管理服务,也支持多租户应用的开发和部署,能够帮助客户快速开发基于SaaS的应用;google提供了一些基础身份认证、硬件资源申请、存储的API,供用户把应用移植到网络上,对于应用本身的开发支持和多租户支持没有;microsoft基于自己的windows产品进行了改造,提供了数据存储和开发服务,是传统开发方法的网络迁移,没有多少新意;国内的八百客PaaS平台参考salesforce提供了多租户的开发支持,提供了界面定制、流程定制、组织机构和权限定制,但和他自己的CRM应用紧密结合,不是一个外部用户能够使用的PaaS平台,体系架构不太完善,快速开发工具尚缺,服务组件缺乏,影响了应用服务的扩展能力;中服软件原来是做中间件平台的,有平台方面的经验,它的PaaS平台有完整的中间件支持,有可视化的web开发工具、流程开发工具、平台监控工具、多租户数据隔离的多种实现、部署工具等,在其上开发企业级软件自动成为多租户软件,能够快速移植传统应用为云计算应用。平台通用完善;sina、baidu的PaaS平台是一个简单的网络部署工具,只能应对网络信息发布类的开发,对复杂的信息交互、客户数据隔离不支持。以下是各平台的基本情况。
1) Force.com
Force.com是Salesforce在2007推出的PaaS平台,并且已经有超过47000位企业已经使用了这个平台。Force.com基于多租户的架构,其主要通过提供完善的开发环境等功能来帮助企业和第三方供应商交付健壮的,可靠的和可伸缩的在线应用。
Force.com 是 Salesforce 整体架构的核心。它整合控制了底层的物理的基础设施,支撑上层的Sales Cloud,Service Cloud,Chatter并为基于Force.com的定制应用提供
PaaS服务。
Force.com 是一组集成的工具和应用程序服务,ISV 和公司 IT 部门可以使用它构建任何业务应用程序并在提供 Salesforce CRM 应用程序的相同基础结构上运行该业务应用程序。在 Force.com 平台上运行的业务应用程序已超过 80,000 个,Force.com平台每天处理6.5亿多个交易。
2)Google GAE
Google App Engine 是一种让您可以在 Google 的基础架构上运行您的网络应用程序。Google App Engine 应用程序易于构建和维护,并可根据您的访问量和数据存储需要的增长轻松扩展。使用 Google App Engine,将不再需要维护服务器:您只需上传您的应用程序,它便可立即为您的用户提供服务。
它具有以下特性:
动态网络服务,提供对常用网络技术的完全支持
持久存储有查询、分类和事务
自动扩展和载荷平衡
用于对用户进行身份验证和使用 Google 帐户发送电子邮件的 API
一种功能完整的本地开发环境,可以在您的计算机上模拟 Google App Engine
Google App Engine 应用程序是使用 Python 编程语言实现的。该运行时环境包括完整 Python 语言和多数 Python 标准库。
目前,Google App Engine 支持 Python 语言和 JAVA 语言。
3)Microsoft Azure
管理并支配着位于微软数据中心的一堆服务器,它是一个开放的平台,将同时支持微软和非微软的语言和环境。如Eclipse,Ruby,PHP和Python
提供了一下一些服务:
访问控制 Access control
服务总线 Service Bus
工作流 Workflow
Sql Service云关系型数据库, 为云应用程序提供传统形式上的数据存储服务,还提供数据报表生成,数据分析;不仅提供结构化数据维护,还可以维护非结构化数据,比如图片,电子文档,契约, 合同
Live Service提供了新闻,聊天,电邮,网络相册,网络硬盘
其构成如下:
4)中服软件
OSGI微内核容器、平台支撑中间件、SaaS核心引擎、系统运行时环境、应用开发工具、运维客服、统一监控、统一通信等。
OSGI微内核容器
实现中间件的插件化运行环境及动态组装、基础服务。它基于OSGI规范,平台提供了开放和通用的架构,使得用户以统一的方式开发、部署和管理服务模块。平台通过提供灵活的服务部署机制和强大的管理功能增强了智能性,采用Bundle的方式来进行模块组织,对模块的引用只需接口调用,这就保证了模块引用和部署的简单性。
平台支撑中间件
云平台支撑中间件为应用开发与运行环境提供各类中间件的服务支撑,各中间件均采用SOA架构,包括:提供业务流程管理BPM等支持流程服务,提供数据集成、企业服务总线ESB集成服务,提供可靠消息传输消息队列服务等。
业务流程管理BPM作为底层流程控制平台,利用流程中间件提供的流程定制、控制、监控等机制,实现系统中各业务流程流转,保证各项业务有条不紊的进行。
企业服务总线ESB做为应用集成的核心,可以将第三方的程序组件以标准的方式“插入”到平台上运行,保证组件之间以标准的消息通信方式进行交互。内置的数据集成组件可以按照统一的规则集成并提高数据的质量,通过图形化工具快速灵活地设计与部署,实现数据的抽取、转换、加载等功能。
消息中间件采用符合JMS标准的消息中间件作为整个系统的消息传输平台,保证各类数据安全、稳定、有效的传递。
SaaS核心引擎
SaaS核心引擎是一种基于OSGI的构件化、微内核SaaS系统运行环境,为多租户SaaS软件系统提供统一的服务生命周期管理、模块生命周期管理、系统生命周期管理、系统配置、模块更新管理、系统配置管理、系统数据存储优化、多租户数据隔离、数据切换、系统使用计费等公共功能。
系统运行时环境
Cserver PaaS平台运行时环境表示基于PaaS的租户系统在运行时,可访问的运行环
境属性及附属功能,如系统属性、系统文件存放路径、系统数据存取位置、组织机构、权限、个性化配置、数据管理等。这些是运行于SaaS环境下的应用功能必须了解的信息。Cserver PaaS平台服务API定义了获取系统在运行期间可访问的服务功能的一系列接口,包括系统上下文接口、通用组织机构接口、通用权限接口、标准工作流接口,个性化配置接口等。Cserver PaaS平台服务API相当于操作系统或java运行时环境,它为服务功能的实现提供一个标准的环境,同时对服务功能屏蔽了底层实现的细节。项目除研究接口规范外,还要提供所有接口的参考实现。
应用开发工具
Cserver PaaS作为SaaS服务支撑平台,上面可以部署和承载很多套服务系统。SaaS服务提供商可以在Cserver PaaS 平台上扩展通用管理系统。应用系统的开发需遵循Cserver PaaS运行时服务规范、平台数据格式规范、应用模块开发规范等内容。
Cserver PaaS平台提供了丰富的开发工具和组件以便开发者能够快速开发应用,如流程建模工具、表单工具、报表设计工具、服务组合工具、部署工具、仿真工具、开发组件集等,通过这些开发工具和组件,SaaS服务提供商可以更快速的搭建出应用系统,部署到Cserver PaaS平台上运营。
运维客服
平台对自动运维+高效管理进行了整合,使运维客服系统拥有先进的业务系统状态分析能力,支持大量业务事前状态分析方案,运维系统可以对组成一个业务的所有关键子业务进行汇总,每个子业务系统所组成的硬件平台、数据库平台、中间件平台、软件平台都可以再细分为具体的各种应用系统,及时掌握系统的运行动态。降低故障几率,及时排错,
保障对用户的持续服务。包括运营网站、维护管理系统、计费管理、决策分析四大部分内容。
统一监控
平台提供统一的管理监控工具,实现对引擎层、平台层的统一管理、监控,对不同服务进行配置、监控的界面展示在同一个模块中,实现各个管理端的统一身份认证及权限管理。
平台还提供统一的监控机制,用以管理平台中复杂的IT基础设施。统一监控能自动发现和开始管理平台中的基础设施。同时还可以监控应用服务器的网络、应用程序和文件系统的各项资源,像CPU、内存和运行着的应用程序,并可对各阈值进行预警。
统一通信
统一消息平台可以实现云平台上的统一通信服务。它是基于以IP为基础的针对企业用户而设计的企业级通信平台。平台以企业组织机构为核心,以即时消息、文件传输、音视频处理为基础,具有好友维护、点到点即时消息、多人讨论、群组、语音/视频、在线文件传输、离线文件传输、企业通信录、软件升级等丰富的功能。通过统一通信平台提供的实时提醒、实时通知、实时交流、音视频交流等实时交互能力,可以充分弥补业务应用中实时通信能力和实时集成能力,提高业务处理的效率。
5) 800APP
多重租赁
多重租赁应用程序设计可以让用户共享同一个物理资源及同一应用程序,这些应用程序的个异部署占用的是虚拟分区而非硬件和软件独立的物理堆栈。传统企业管理软件单一使用架构则是要求所有软、硬件堆栈都要实现每个应用程序的部署,这就要求客户必须购买和维持每个堆栈组件,包括网络,硬件,操作系统,数据库和应用程序组件。在传统单一使用架构中每个堆栈都有其错综复杂的维护,对管理和日常升级的要求也很高,而且各组件之间的无法预测的交互,这就直接增加了相关成本。
与单一使用模式相反,多重租赁应用程序使平台和在平台上运行的应用程序有了清晰的边界。尽管每个企业的应用程序都有自己的数据对象,表单,布局以及集成,但它的自定制是虚拟化管理,该分区是能确保任何特定的应用程序无法侵犯其他用户的应用程序的关键。
元数据
它让利用收集元数据来创建应用程序成为可能,而不仅是使用代码。当使用者为他们的应用程序创建这些元素时,他们的工作就转成了元数据创建,从而800PaaS自动转变成终端用户体验的完整应用程序。
6) Baidu BAE
(Browser based Application Engine)——即基于浏览器技术的应用引擎——亦在加紧开发中。 据了解,BAE是具备运营商差异化能力的跨终端系统移动互联网应用平台,它支持Mobile Widget(移动微技)的跨平台运行,能快速在手机上实现一般网页很难实现的功能和应用,例如多媒体播放功能、位置信息访问等。
BAE的应用范围
基于Web的互联网应用(网页浏览、在线交互式Web游戏等);
信息呈现(股票信息、天气信息、位置信息、通讯录信息等)
离线小应用(小游戏、小工具等);
移动终端基础应用(短信、彩信、音频播放等)。
7) Sina SAE
Sina App Engine(以下简称SAE)是新浪研发中心于2009年8月开始内部开发,并在2009年11月3日正式推出第一个Alpha版本的国内首个公有云计算平台(http://sae.sina.com.cn),SAE是新浪云计算战略的核心组成部分。
SAE作为国内的公有云计算平台,在借鉴吸纳Google、Amazon等国外公司的公有云计算的技术经验的基础上,推出的云计算平台。SAE选择PHP作为首选的支持语言,Web开发者可以在Linux/Mac/Windows上通过SVN、SDK或者Web版在线代码编辑器进行开发、部署、调试,团队开发时还可以进行成员协作,不同的角色将对代码、项目拥有不同的权限;SAE提供了一系列分布式计算、存储服务供开发者使用,包括分布式文件存储、分布式数据库集群、分布式缓存、分布式定时服务等,这些服务将大大降低开发者的开发成本。同时又由于SAE整体架构的高可靠性和新浪的品牌保证,大大降低了开发者的运营风险。另外,作为典型的云计算,SAE采用“所付即所用,所付仅所用”的计费理念,通过日志和统计中心精确的计算每个应用的资源消耗(包括CPU、内存、磁盘等)。
主要功能
开发:
代码检查,帮助检查不良函数并帮助移植
代码部署
分布式数据库
分布式文件存储
分布式缓存
各种附属分布式服务,包括图像、定时、任务队列、邮件、计数器等
对接多个开放平台,如新浪微博开发平台
代码调优,通过XHProf提供
数据库优化,通过RDC提供
团队协作,可以邀请好友以不同的权限加入项目
代码版本管理(计划支持)
运营:
应用打包,通过我们的应用向导进行推广
日志,包括访问日志、错误日志等
资源报表,消耗SAE各项资源的统计
服务监控,监控各项服务状态
数据迁移,包括数据库导入、数据库导出等
因篇幅问题不能全部显示,请点此查看更多更全内容