简介
PAAS平台通过网络进行程序提供的服务称之为SaaS(Software as a Service),而云计算时代相应的服务器平台或者开发环境作为服务进行提供就成为了PaaS(Platform as a Service)。
事实上,PaaS是位于IaaS和SaaS模型之间的一种云服务,它提供了应用程序的开发和运行环境。IaaS主要提供了虚拟计算、存储、数据库等基础设施服务,SaaS为用户提供了基于云的应用,PaaS则为开发人员提供了构建应用程序的环境。借助于PaaS服务,你无须过多的考虑底层硬件,并可以方便的使用很多在构建应用时的必要服务,比如安全认证等。
定义
在2007年国内外SaaS厂商先后推出自己的PAAS平台。PAAS之所以能够推进SaaS的发展,主要在于它能够提供企业进行定制化研发的中间件平台,同时涵盖数据库和应用服务器等。PAAS可以提高在Web平台上利用的资源数量。例如,可通过远程Web服务使用数据即服务(Data-as-a-Service:数据即服务),还可以使用可视化的API。用户或者厂商基于PaaS平台可以快速开发自己所需要的应用和产品。同时,PaaS平台开发的应用能更好地搭建基于SOA架构的企业应用。
特点
PaaS能将现有各种业务能力进行整合,具体可以归类为应用服务器、业务能力接入、业务引擎、业务开放平台,向下根据业务能力需要测算基础服务能力,通过IaaS提供的API调用硬件资源,向上提供业务调度中心服务,实时监控平台的各种资源,并将这些资源通过API开放给SaaS用户。PaaS主要具备以下三个特点:
(1)平台即服务:PaaS所提供的服务与其他的服务最根本的区别是PaaS提供的是一个基础平台,而不是某种应用。在传统的观念中,平台是向外提供服务的基础。一般来说,平台作为应用系统部署的基础,是由应用服务提供商搭建和维护的,而PaaS颠覆了这种概念,由专门的平台服务提供商搭建和运营该基础平台,并将该平台以服务的方式提供给应用系统运营商;
(2)平台及服务:PaaS运营商所需提供的服务,不仅仅是单纯的基础平台,而且包括针对该平台的技术支持服务,甚至针对该平台而进行的应用系统开发、优化等服务。PaaS的运营商最了解他们所运营的基础平台,所以由PaaS运营商所提出的对应用系统优化和改进的建议也非常重要。而在新应用系统的开发过程中,PaaS运营商的技术咨询和支持团队的介入,也是保证应用系统在以后的运营中得以长期、稳定运行的重要因素;
(3)平台级服务:PaaS运营商对外提供的服务不同于其他的服务,这种服务的背后是强大而稳定的基础运营平台,以及专业的技术支持队伍。这种“平台级”服务能够保证支撑SaaS或其他软件服务提供商各种应用系统长时间、稳定的运行。PaaS的实质是将互联网的资源服务化为可编程接口,为第三方开发者提供有商业价值的资源和服务平台。
有了PaaS平台的支撑,云计算的开发者就获得了大量的可编程元素,这些可编程元素有具体的业务逻辑,这就为开发带来了极大的方便,不但提高了开发效率,还节约了开发成本。有了PaaS平台的支持,WEB应用的开发变得更加敏捷,能够快速响应用户需求的开发能力,也为最终用户带来了实实在在的利益。
区别
云计算起源于大型互联网企业。对于互联网企业,成本压力和指数级的业务增长压力使他们关注于物理资源的利用率和应用的可扩展性。在应用服务器这层,通过Cluster Session来实现水平扩展;在数据存储这层,采用基于BASE模型的NOSQL数据存储来实现扩展。。
(1)基于商业软件的部署方式:Application-Framework/Libs-Websphere/Weblogic+RDBMS
(2)基于开源软件的部署方式:Application-Frameworks/Libs-Tomcat/JBoss+RDBMS
(3)云环境下的部署方式:Application-Frameworks/Libs-PaaS(Goole App Engine,Amazon)这种情况下,PaaS实质上就是一个预先装好的Web Container和一组公共服务,如数据存储服务(不一定是关系型数据库)、消息队列、集中式session及cache等等。对于个人用户或者简单应用来说,公有云PaaS平台使得开发人员仅关注应用逻辑开发本身,不用把精力花费在基础实施和应用的扩展和维护上。所谓企业级PaaS平台,主要包含两类,一是大型企业内部的私有云PaaS平台,另一类是面向ISV厂商的PaaS平台。然而对于企业级PaaS平台,PaaS不仅仅是云环境下的应用部署平台。
抛开安全问题不讲,私有云PaaS平台和公有云PaaS有如下核心区别:
(1)复杂的多租户模型:对于公有云PaaS平台,其租户模型是(用户->应用->应用实例),一个用户可以部署多个应用,每个应用可以有多个运行时实例,应用实例共享资源池。对于一个大型企业,一个大部门可能是一个租户,大部门下面的子部门也是一个租户;或者一个SaaS应用系统的一个实例就是一个租户。对于租户的资源使用,大部门租户是共享资源池里面的资源,也可能某些关键租户需要独占一些资源以保证安全。
(2)已有应用的兼容:企业的历史应用都是基于关系型数据库的,某些PaaS平台不支持关系型数据存储,即使是简单的已有应用都无法迁移到PaaS平台上。
(3)复合应用的构建:企业On-Premise应用在很长一段时间内都是要存在的,私有云PaaS平台要成为On-Premise和公有云之间的桥梁。私有云PaaS平台除了是应用部署平台外,还需要提供集成和方便构建复合应用的能力,就是Gartner所提的iPaaS能力。企业级PaaS平台不仅仅是应用部署平台,而且是复杂多租户环境和复杂应用环境下的共享基础设施平台,是On-Premise部署通往公有云部署的必经之路现在拥有PAAS平台技术的厂商
apaas和ipaas
简单的说,PaaS平台就是指云环境中的应用基础设施服务,也可以说是中间件即服务。PaaS平台在云架构中位于中间层,其上层是SaaS,其下层是IaaS。在传统On-Premise部署方式下,应用基础设施即中间件的种类非常多,有应用服务器,数据库,ESBs,BPM,Portal,消息中间件,远程对象调用中间件等等。
对于PaaS平台,Gartner把它们分为两类,一类是应用部署和运行平台APaaS(application platform as a service),另一类是集成平台IPaaS(integration as a service)。人们经常说的PaaS平台基本上是指APaaS。
PAAS平台应用代表
国外:Google、Salesforce、Amazon
国内:八百客、用友、百度BAE、新浪SAE、阿里Ali、魔泊云(MoPaaS)
PaaS数据云平台排名前十位的科技创新公司正式出炉,阿里、腾讯、华为、浪潮、星环上榜,深圳灵机大数据技术有限公司脱颖而出,名列其中。这一排名表明灵机大数据作为PaaS数据云平台服务商的地位受到市场和业界广泛认可。
前景
云计算相对来说仍然还不成熟,新服务和功能会一直出现。云开发平台和PaaS也会在新的功能登场时不断演变。然而,由于用户社区对开源软件的影响很深,因此无法保证新功能会以足够快的速度出现以满足你的开发需求。
虽然每个PaaS产品都有着类似的功能,但具备这些功能的速度却有所不同。例如,Pivotal的开源PaaS产品Cloud Foundry以其对语言的支持,服务整合,以及与其它如Chef,Puppet,Jenkins和NoSQL这样的开源工具的集成著称。然而,Cloud Foundry上只提供初步的容器支持,用户界面主要靠命令行,支持数量有限的软件部署商业模式以及在应用的性能指标衡量上偏弱。
监控一个平台的发展路线图然后再作出决定。那些发展缓慢或者正在经历某种艰难的发展模式的平台可能会为你的应用开发团队和你的业务带来问题。
模式
风险管理生命周期。开发人员可通过风险分析来实施风险缓解程序并确保成本效益。这里所谓的风险,就是指威胁利用一个或多个漏洞的可能性。应用程序开发生命周期。开发人员可在PaaS上跟踪SaaS应用程序的开发过程。其中包括了从设计、编码至部署等阶段的需求。商业流程生命周期。开发人员可以对应用程序进行控制、保护以及优化等操作。作为这一周期的一部分,开发人员可使用电子表格、文字处理、演示文档以及其他的商业工具。其主要目标就是要改善总体工作流程。