-
火龙果
?
整理
PaaS
研究综述
摘要
Gartner
预测
PaaS
平台全球企业市场将从
< br>2011
年的
9
亿美金增至
p>
2016
年的
29
亿美金,
每年复合增长率是
26.6%
。在已经基本取得
IaaS
基础之后,研究
PaaS
平台刻不容缓。本综
述首先介绍
< br>PaaS
的基本概念、功能和特性;然后汇总目前国内外著名的
< br>PaaS
平台情况;之
后针对
P
aaS
的发展方向和盈利模式进行探讨,并对
PaaS
与行业、产业的结合展开讨论。最
后落脚到云计算产业研究所对
PaaS
的研发计划。
一、
PaaS
介绍
1.1
概
念
业界<
/p>
PaaS
的认知分为好多种,
狭义上讲有
像
Google App Engine
这些最基本的开发平台
,
广义上讲有向
SaaS
上拓展的,诸
如
NetSuite
公司的
Suite
Cloud
之类平台
(
这种平台包括了
专
门针对某一种应用程序类型的预制业务对象
)
,
以及向
IaaS
上拓展的<
/p>
Windows Azure
。
在此,<
/p>
我们更多的讨论狭义上的
PaaS
,也就
是最核心的开发平台。我们相信,只要把握住最核心
的,就能根据企业的云计算战略的需
求,向各行各业、各层次进行拓展。
PaaS
(
Platform-as-
a-Service
:
平台即服务)
是
指将软件研发的平台作为一种服务,
以
SaaS
的模式提交给用户。简单的说,
PaaS
平台就是指云
环境中的应用基础设施服务,也可以说
是中间件即服务。
Paa
S
平台在云架构中位于中间层,其上层是
SaaS
,其下层是
IaaS
,基于
IaaS
之上的是为应用开发(可以是
SaaS
应用,也可以不是)提供接口和软件运行环境的平
台层服务。
< br>
PaaS
也可以算作是
Saa
S
模式的一种应用。同时,
PaaS
的
出现可以加快
SaaS
的发展,
尤其是
加快
SaaS
应用的开发速度。
Paa
S
能够提供企业进行定制化研发的中间件平台,同时
涵盖数据库
和应用服务器等。
PaaS
可以提高在
Web
平台上利用的资源数量。例如,可通过
远程
Web
服务使用数据即服务
(
Data-as-a-Service
:
数据即服务)
,
还可以使用可视化的
API
,
甚至像
800app
的
p>
PAAS
平台还允许你混合并匹配适合你应用的其他平台。用户或者
厂商基
于
PaaS
平台可以快速开发自
己所需要的应用和产品。同时,
PaaS
平台开发的应用能更好
地
火龙果
?
整理
搭建基于
SOA
架构的企业应用。此外,
PAAS
对于
SaaS
运营商来说,可以帮助他进行产品多
元化和产品定
制化。
把
PaaS
理解成中间件即服务如下图所示:
PaaS
能将现有各种业务能力进行
整合,具体可以归类为应用服务器、业务能力接入、
业务引擎、业务开放平台,向下根据
业务能力需要测算基础服务能力,通过
IaaS
提供的
API
调用硬件资源,
向上提供业务调度中心服
务,
实时监控平台的各种资源,
并将这些资源通过
API
开放给
SaaS
用户
。
PaaS
主要具备以下三个特点
:
1
、
平台即
服务:
PaaS
所提供的服务与其他的服务最根本的区别是
p>
PaaS
提供的是一个
基础平台,
而不是某种应用。在传统的观念中,平台是向外提供服务的基础。一般
来
说,
平台作为应用系统部署的基础,
是由应用服务提供商搭建和
维护的,
而
PaaS
颠覆了这种概念,
由专门的平台服务提供商搭建和运营该基础平台,
并将该平台以
服务的方式提供给应用系统运营商;
火龙果
?
整理
2
、
p>
平台及服务:
PaaS
运营商所需提供的服
务,不仅仅是单纯的基础平台,而且包括
针对该平台的技术支持服务,
< br>甚至针对该平台而进行的应用系统开发、
优化等服务。
P
aaS
的运营商最了解他们所运营的基础平台,所以由
PaaS
运营商所提出的对应用
系统优化和改进的建议也非常重要。而在
新应用系统的开发过程中,
PaaS
运营商
的技术咨询和支持团队的介入,
也是保证应用系统在以后的运营中得以长期、
稳定
运行的重要因素;
3
、
平台级
服务:
PaaS
运营商对外提供的服务不同于其他的服务,这种
服务的背后是
强大而稳定的基础运营平台,以及专业的技术支持队伍。
< br>这种
“平台级”
服务能够
保证支
撑
SaaS
或其他软件服务提供商各种应用系统长时间、稳定的
运行。
PaaS
的
实质是将互联网的资
源服务化为可编程接口,
为第三方开发者提供有商业价值的资
源
和服务平台。有了
PaaS
平台的支撑,云计算的开发者就获得
了大量的可编程元
素,
这些可编程元素有具体的业务逻辑,
p>
这就为开发带来了极大的方便,
不但提高
了
开发效率,还节约了开发成本。有了
PaaS
平台的支持,
p>
WEB
应用的开发变得更
加敏捷,
能够快速响应用户需求的开发能力,
也为最终用户带来了实实在在的利益
。
1.2
功
能
在传统
On-Premise
部署方式
下,
应用基础设施即中间件的种类非常多,
有应用服务器,
数据库,
ESBs,
BPM, Portal,
消息中间件,
远程对象调用中间件
等等。
对于
PaaS
平台,
Gartner
把它们分为两类,一类是应用部署和运行平台
APaaS
(
application
platform as a service)
,另
一类是集
成平台
IPaaS
(
integrat
ion as a
service
)
。
人们经常说的
PaaS
平台基本上是指
APaaS
,
如
Force<
/p>
和
Google App Engine
。但是一个完整的
PaaS
应该包括
A
PaaS
和
IPaaS
。
PaaS
的架构里需要具备如下几个基本构成要素
:应用的基础软件和中间件支撑(如数
据库、
Web
服务、应用框架和消息服务)
,应用的部署和运行环境,应用的多租户支持
与管
理,云上可编程的开发环境,共享应用资源库和开发社区支持。
PaaS
为部署和运行应用系统提供所需的应用基础设施
,所以应用开发人员无需关心应
用的底层硬件和应用基础设施,
并且可以根据应用需求动态扩展应用系统所需的资源。
完整
的<
/p>
PaaS
平台应提供如下功能:
1
、
应用运行环境
1)
分布式运行环境
火龙果
?
整理
2)
多种类型的数据存储
3)
动态资源伸缩
2
、
应用全生命周期支持
1)
提供开发
SDK
、
IDE
等加快应用的开发、
测试和部署。
2)
公共服务:以
API
形式提供公共服务,如队列服务、
存储服务和缓存服务等。
3)
p>
监控、管理和计量:提供资源池、应用系统的管理和监控功能,精确计量。应
用使用所消耗的计算资源。
3
、
集成、
复合应用构建能力:除了提供应用运行环境外,还需要提供连通性服务、整
合服务、消息服务和流程服务等用于构建
SOA
架构
风格的复合应用。
PaaS
的全局功能视图如下:
1.3
多
租户弹性是
PaaS
的核心特性
PaaS
的特性有多租户、弹性
(
资源动态伸缩
)
、统一
运维、自愈、细粒度资源计量、
SLA
保障等。这些特性基本也
都是云计算的特性。多租户弹性是
PaaS
区别于传统应用平台
的本
质特性,其实现方式也是用来区别各类
PaaS
的最重要标志,因此我认为多租户弹性是
PaaS
的最核心特性。
多租户
(Multi-tenancy)
是指一个软件系统可以同时被多个实体所使用,每个实体之间是
火龙果
?
整理
逻辑隔离、互不影响的。一个租户可以是一个应用,也可以是
一个组织。弹性
(Elasticity)
是
< br>指一个软件系统可以根据自身需求动态的增加、释放其所使用的计算资源。
多租户弹性
(Multi-tenancy
< br>elastic)
是指租户或者租户的应用可以根据自身需求动态的增
加、释放其所使用的计算资源。
技术上来说,多租户有如下几种实现方式:
1
、
Shared-
Nothing
:为每一个租户或提供一套和
On-premi
se
一样的应用系统,包括应
用、应用基础设施和基础设施。<
/p>
Shared-Nothing
仅在商业模式上其实现了多租户。
Shared-Nothing
的好处是整个应用系统栈都不需
要改变、隔离非常彻底,但是技术
上没有实现资源弹性分配,资源不能共享。
2
、
Shared-Hardware
:共享物理机,虚拟机是弹性
资源调度和隔离的最小单位,典型
例子是
Microsoft
Azure
。传统软件巨头如微软和
I
BM
等拥有非常广的软件产品线,
在
O
n-premise
时代占据主导地位后,他们在云时代的策略就是继续将
on-premise
软件
stack
装到虚拟机中并提供给用户。
3
、
Shared-OS
:共享操作系统,进程是弹性资源调度和隔
离的最小单位。相比于
Shared-
Hardware
,
Shared-OS
能实现更小粒度的资源共享,
但是安全性方面会差些。
4
、
Shared-Everything
:基于元数据模型以共享
一切资源,典型例子是
。
Shared
-Everything
方式能够实现最高效的资源共享,但实现技术难度大,安全和可
扩展性方面会面临很大的挑战。
1.4
P
a
aS
是云计算热点
你想知道在云计算
领域什么是热门,
什么不是?那你就应该这些创业公司把它们的创业
精力放在哪个方面,还有
Under
the
Radar
会议是一个寻找有前途的创业公司的好地方。这
个会议一年举办两次,大约
30
家创业公司,每家有六
分钟的时间来打动一些寻找有想法有
潜力的公司的风险投资者。
然而,
如果你想知道云计算的情况在过去两年是如何变化的,<
/p>
那就应该把这些创业公司
的概况与两年前的那些公司作对比。
p>
焦点转移:
两年前主要关注的是:
1.
管理云端应用与环境的工具
(2
7
家中有
13
家
)
2.
在云端存储数据的最好方式
(27
家中有
6
家
< br>)
火龙果
?
整理
2012
年这次会议关注焦点完全不
同以往:
1. PaaS(
平台即服
务
)
和其他
...
即服务
(32
家中有
10
家
)
2.
分析的不同类型,包括社会分析和使用大数据
(32
< br>家中有
7
家
)
3.
提供移动解决方案
(32
家中有
6
家
)
p>
是的,云监视和管理工具仍有
7
项,但你会
发现数量大约只是两年前的一半了。
结论:
1.
基础云设施已成熟且有足够管理能力;
2. Forrester
的预测或许是正确的,那就是
“
平台即服务
PaaS
”
比
“
基础设施即服务
(IaaS)”
发展更快
;
3.
移动性已经成为应用云的最大驱动力。
二、
PaaS
平台汇总
< br>在
2007
年国内外
SaaS<
/p>
厂商先后推出自己的
PAAS
平台。常见
的
PaaS
平台一般都给予
SOA
p>
架构,通过提供
Web Severice
接口供用户编程变成调用,提供队计算任务、存储、地图
信息和信息检索等。
常见的平台如下边所示(红色部分需技术团队进行试用测评后填入)
。
p>
2.1
国
外平台汇总
火龙果
?
整理
名称
Google App Engine
AppScale
Windows Azure
Platform
微软
AWS Elastic
Beanstalk
Red Hat OpenShift
Cloud Foundry
Cloudify
Salesforce
Platform
Salesforce
推出公司
Google
加州大学
Santa
Barbara
分校
AppScale
是
Google
App
亚马逊
Elastic B
eanstalk
提供了
一种部署和管理亚马逊
红帽
VWMare
GigaSpaces
App Engine
是
Google
的
PaaS<
/p>
,基于
Java
技
术,
运行在
Google
自己
的
IaaS
平台之上。
App
Engine
让开发者可以在
Google
的基础架构上
构建和托管运行自
己的
简介
网络应用程序,
提供快速
开发和部署简单的管理,
无需担心硬件,
补丁或备
份。
轻松的可扩展性。
支
持用户使用
Python
< br>或
Jave
来创建
web
程序,
然后发布到
google
的
平台上运行。
Engi
ne
的一种开源实现,
来自
于
UC
(加州大学)
Santa
Barbara
分校的
RACELab
。
AppScale
通过构建和扩展来
自
GAE
的
SDK
并实现其开放
A
PI
,
带来
App Engine
p>
的强大
功能,并补充了
GAE
的功能。
可以简化基于
GAE
应用程序
在非
Google
的其他
IaaS
(如
Amazon
的
EC2
或
Eucalyptus
)上的执行。
Appscale
不仅可以在
GAE
应
用程序部署到
Google
专有资
源上之前预先测试和调试这些
应用程序,还能让用户
用自己
的机群系统运行
App
Engine
应用程序。
运行在微软
数据中心的服
务器和网络基础设施上
的,通过公共互联网对外<
/p>
提供服务。它由高扩展性
(弹性)云操作系统,数
据存储网络和相关服务组
成,支持微软云应用架构
的编
程环境,可以用来创
建云应用程序和服务,通
过使用
Visual Studio
接口
可以在微软的公
有云
Azure
平台上开发和部署
应用
。
Cloud Foundry
是<
/p>
VMware
的一项开源
PaaS
计划,
使用各种
开源开发框架和中介
OpenShift
是由红帽推
出一款面向开源
开发人
员开放的平台即服务
(PaaS)
。
通过为开发人员
提供在语言、
框架
和云上
的更多选择使开发人员
可以创建、
测试、
运行和
管理他们的应用。
<
/p>
软件。开发者可以通
过这个平台来建设自
己的
SaaS
的服务,
不
用自行建设和维护硬
体服务器和中介软
件。
他支持多种框架、
语言、云平台及应用
服务,是
一个分布式
系统,为开发者提供
了应用和服务的舞
台,
承担了
IaaS
相关<
/p>
的通用工作。
Cloudify
p>
可让你在线对任何
应用、
任何云上的应用,
无需
任何代码更改即可实现规模
伸缩<
/p>
提供一个可用来快速
构建可伸缩云应用
程
序的公有云
PaaS
平
台。用户可以在这个
平台上构建、版本化
和部署
p>
组
件和应用程序。更多
的是支持企业云计算
公司
的
社交企业应用平台,
允许开发者构建具有
社交
和移动特性的应
用程序
AWS
的服务。
AWS
服务
包括
Amazon Simple
Storage
Service
、
Amazon Simple
Notification
Service
和
Auto Scaling
< br>,以一种基
础架构的形式来应用,而
且它支持
PHP
和
Java
编
p>
程语言。
AWS Elastic
Bea
nstalk
允许开发人员
上传其应用,之后的一切
完全可以由
AWS Elastic
Beans
talk
自动管理。当
然,开发人员仍可以随时
手动管理。
火龙果
?
整理
套件有可进行云端应用
程式监控管理
的
JBoss
Operations Network
;
可监控云端效能、资源、
Windows
Azure
Platform
有
Windows
Azure
(高扩展性(弹性)
云操作
系统)
、
SQL Azure
Data
Store
、网址获取、
服务功能
<
/p>
身份验证和邮件、缓存
Memcache
、图片操作
等
缓存、
邮件、
Datastore
、
身份
认证、
Mapreduce
等
p>
(数据存储网络)
、
Azure
p>
AppFabric
(相关服务)
三
部分。其中
Azure
AppFabric
提供
Service
Bus
,
Access Contro
l
,
Caching*
,
Integration*
,
Composite
App* (*.
没有正式发布<
/p>
)
应用的服务
)
。
capacity provisioning,
load balancing,
auto-
scaling, and
application health
monitoring
生命周期、使用量的
Cloud Admin Portal<
/p>
;
可建立映像档的工具链
(
Image Toolchain
)
与
应用程式政策的
Application Engine
,
以
及可自我管理监控云端
资源的
Cloud User
Portal
,和
JBoss
Developer Studio
开发
工具。支持为应用添加
MySQL Database
,
p>
phpMyAdmin
,
MongoDB
NoSQL
Database
,
Cron 1.4
等,
自带
wordpress
博客一
键生成功。
是否开源
是
是
否
否
是
是
是
是
支持以下服务:
< br>MySQL,
开源关系数
据库;
vFabric
Postgres,
基于
PostgreSQL
的关系
数据库;
MongoDB,
可扩展、开放的基于
文档数据库;
p>
Redis,
开放的键值数据结构
服务器
;
RabbitMQ,
可靠的可扩展便携式
< br>应用程序消息传输。
?
将
Pla
tform
、
Heroku
、
、
、
< br>Chatter
和
ISVf
orce
,
都整合
在一个统一的环境<
/p>
中;数据库、实时定
制、强劲分析、实时
工作流程及审批、实
时流动部署、可编程
用户界面及网站功能<
/p>
等
版本情况
维护情况
Production
有支持
Production
维护渐渐变少
Production
有支持
Beta
有支持
Beta
有支持
Beta
有支持
Production
有支持
Production
有支持
火龙果
?
整理
多种:
Azure
< br>、
OpenStack
、
Goo
gle
、
EC2
,
Eucalyptus
,
Xen
和
KVM
多种:
AWS,
Azure,
Rackspace
Citrix
Cloud Stack
、
EC2
、<
/p>
Rackspace
、
Terramar
k
,以
及
BYON
(bring-your-own-
nodes)
。
Java /
Spring,
Java, Java EE, Python,
Java, .Net, PHP
Perl, PHP,
Ruby
,
Groovy/Grails,
Ruby Rails &
Sinatra,
, .Net via
extention
Visual Studio
2010
和
编程平台
Eclipse
的
Google
插件
?
Eclipse
的
Windows
Azure
工具
托管
SQL
数据库(只
数据库
p>
App Engine for
Business
)
内容交付网
络(
CDN
)
p>
?
SQL A
zure
,最大
50GB
大小的数据库
,可变
SQL
Azure Federations
SimpleDB
(键值)
,
Elastic
Map Reduce
(
Hadoop
)
,
关系型
数据库
(
MySQL
)
,
SQL
Server
,
Oracle 11g
Amazon CloudFront
Eclipse
的
AWS
工具集
IDE, command-line, or
browser
Java, .NET, Groovy,
Ruby,
C++, , Spring,
Chef
p>
Apex
、
Visualforce
、
Heroku
、
R
uby
、
Java
、
< br>js
、
Python
?
IaaS
支持
Google
(可转移)
自有
Windows Azure
自有
AWS cloud
支持多种
IaaS Provider
支持语言
&
架构
Java, Python
Java
,
Python
,
Ruby
C#, Java, PHP,
Ruby,.NET
,
Python
?
?
p>
基于
Eclipse
的
IDE
多种:
MySQL
、
p>
MongoDB
、
MenBase
、
Memcache
MySQL
、
MongoDB
、
Red
is
Cassandra, MongoDB,
MySQL, HSQL
?
有限的内置
CDN
功能
?
Windows Azure
CDN
无
无
?
?
火龙果
?
整理
详细的技术测评对比参见附件
1
p>
。
(技术团队进行试用测评后补充)
2.2
国
内平台简介
国内
PaaS
平台大多数是不开源的商业项目,并且更多是扩
展到不同的行业领域,形成
了广义上的
PaaS
平台。
主要包括:
八百客
Pa
aS
平台、
中服
CServer
PaaS
平台、
Sina App
Engine
(
Sina
SAE
)
、
Baidu App En
gine
(
BAE
)
< br>、阿里云
.
云应用开发者平台。
1
、八百客
PaaS
< br>平台:参考
salesforce
提供了多租户的开发支
持,提供了界面定制、流
程定制、组织机构和权限定制,但和他自己的
< br>CRM
应用紧密结合,不是一个外部用户能够
使用的
p>
PaaS
平台,体系架构不太完善,快速开发工具尚缺,服务组件缺
乏,影响了应用服
务的扩展能力;
、实际是
SOA
的小规模尝试。
2
、中服
CServer PaaS<
/p>
平台:原来是做中间件平台的,有平台方面的经验,它的
PaaS
平
台有完整的中间件支持,有可视化的
web
开发工具、流程开发工具、平台监控工具、多租
户数据隔
离的多种实现、
部署工具等,
在其上开发企业级软件自动成为多
租户软件,
能够快
速移植传统应用为云计算应用。平台通用完善
。
3
、
SA
E
(
alpha
)
:
SAE
就是简单高效的分布式
W
eb
服务开发、运行平台。选择
PHP
作
为首选的支持语言(后续还将支持
java
< br>、
python
、
NodeJS
等语言)
,
Web
开发者可以在
Linux/Mac/Windows
上通过
SVN
或者
Web
版在线代码编辑器进行开发、部署、调试;提供
了一系列分布式计算、存储服务供开
发者使用,包括分布式文件存储、分布式数据库集群、
分布式缓存、分布式定时服务等。
4
、
p>
BAE
(
beta
)
:
开发者可以基于
BAE
平台进行
PHP
、
Jav
a
、
Python
应用的开发、
编译、
发布、调试。同时
BAE
平台也提供了大量的云服务给开发者,包括
fetch
URL
、
task
< br>queue
、
SQL
、
memcache
,后续会提供更多服务。在性能方面,如果开发者希望
增加服务能力,可以
通过申请更多执行单元的方式进行灵活的调整
5
、阿里云
.
云应用开发者平台(
beta
)
:
提供包括弹性计算服务、开放存储服务、负载
均衡服务、
关系型
数据库、云盾等一系列基础服务和产品。针对开发者还提供云端开发、手
机端开发等基于
浏览器的云应用开发环境。
三、
PaaS
发展方向和盈利模式
在云产业链中,如同传统中间件所起的作用一样,
PaaS
也将会是产业链的制高点。
-
-
-
-
-
-
-
-
-
上一篇:人脸识别中图像预处理的研究
下一篇:论正当防卫的研究