PaaS

  PaaS是Platform-as-a-Service的缩写,意思是平台即服务。 把服务器平台作为一种服务提供的商业模式。通过网络进行程序提供的服务称之为SaaS(Software as a Service),而云计算时代相应的服务器平台或者开发环境作为服务进行提供就成为了PaaS(Platform as a Service)。所谓PaaS实际上是指将软件研发的平台(计世资讯定义为业务基础平台)作为一种服务,以SaaS的模式提交给用户。因此,PaaS也是SaaS模式的一种应用。但是,PaaS的出现可以加快SaaS的发展,尤其是加快SaaS应用的开发速度。在2007年国内外SaaS厂商先后推出自己的PAAS平台。

  作用

  PaaS之所以能够推进SaaS的发展,主要在于它能够提供企业进行定制化研发的中间件平台,同时涵盖数据库和应用服务器等。PaaS可以提高在Web平台上利用的资源数量。例如,可通过远程Web服务使用数据即服务(Data-as-a-Service:数据即服务),还可以使用可视化的API,甚至像800app的PaaS平台还允许你混合并匹配适合你应用的其他平台。用户或者厂商基于PaaS平台可以快速开发自己所需要的应用和产品。同时,PaaS平台开发的应用能更好地搭建基于SOA架构的企业应用。

  此外,PaaS对于SaaS运营商来说,可以帮助他进行产品多元化和产品定制化。例如Salesforce的PaaS平台让更多的ISV成为其平台的客户,从而开发出基于他们平台的多种SaaS应用,使其成为多元化软件服务供货商(Multi Application Vendor),而不再只是一家CRM随选服务提供商。而国内的SaaS厂商800app通过PaaS平台,改变了仅是CRM供应商的市场定位,实现了 BTO(Built to order:按订单生产),和在线交付流程。使用800app的PAAS开发平台,用户不再需要任何编程即可开发包括CRM、OA、HR、SCM、进销存管理等任何企业管理软件,而且不需要使用其他软件开发工具并立即在线运行。

  面向个人的EC站点(electronic commerce site)的巨头公司Amazon,把最初为了自己公司的运营用的构筑起来的系统平台,进行出租,用户可以自由选择操作系统和中间软件,以这样的方式提供硬件以及软件平台作为服务,最初被海外以一些冒险事业的企业所使用。从2006年开始 [Amazon EC] [Amazon S3]开始作为服务推向市场。

  还有现代软件业霸主同时又是次时代计算的先驱的Google,大家都知道在世界上构筑以及运行了非常多的数据中心。以搜索引擎以及新的广告模式而闻名。他们使用便宜的计算机和强有力的中间件,以及自己的技术装备出了世界上最强大的数据中心,以及超高性能的并行计算群。 2008年4月发表的PaaS服务[Google App Engine]和Amazon 的 EC2,S3,SimpleDB等服务拥有相似的功能。这些稳定的平台上同样搜索引擎,GMail等服务也在运行。同样以ASP~SaaS成功的Salesforce,2007年开始用于提供SaaS的系统基盘对外公开,用Force这个名称开始进入PaaS业务。他所提供的PaaS服务里采用Java类似的语言Apex以及Eclipse开发平台,整合的开发环境也作为服务进行提供(Development as a Service)。Google/Amazon/Salesforce这三个软件巨头非常的重视PaaS这种新的商业模式,Amazon的PaaS服务为了用户可以自由的组合服务提供了更多的自由度,Google的话提供了更多的服务使用户能够方便的使用,去掉了一些繁琐的作业。Google/Salesforce的PaaS不仅是基础硬件的提供开发环境的同样被提供属于真正的平台作为一种服务(PaaS)

  特点

  PaaS能将现有各种业务能力进行整合,具体可以归类为应用服务器、业务能力接入、业务引擎、业务开放平台,向下根据业务能力需要测算基础服务能力,通过IaaS提供的API调用硬件资源,向上提供业务调度中心服务,实时监控平台的各种资源,并将这些资源通过API开放给SaaS用户。PaaS主要具备以下三个特点:

  (1)平台即服务:PaaS所提供的服务与其他的服务最根本的区别是PaaS提供的是一个基础平台,而不是某种应用。在传统的观念中,平台是向外提供服务的基础。一般来说,平台作为应用系统部署的基础,是由应用服务提供商搭建和维护的,而PaaS颠覆了这种概念,由专门的平台服务提供商搭建和运营该基础平台,并将该平台以服务的方式提供给应用系统运营商;

  (2)平台及服务:PaaS运营商所需提供的服务,不仅仅是单纯的基础平台,而且包括针对该平台的技术支持服务,甚至针对该平台而进行的应用系统开发、优化等服务。PaaS的运营商最了解他们所运营的基础平台,所以由PaaS运营商所提出的对应用系统优化和改进的建议也非常重要。而在新应用系统的开发过程中,PaaS运营商的技术咨询和支持团队的介入,也是保证应用系统在以后的运营中得以长期、稳定运行的重要因素;

  (3)平台及服务:PaaS运营商对外提供的服务不同于其他的服务,这种服务的背后是强大而稳定的基础运营平台,以及专业的技术支持队伍。这种“平台级”服务能够保证支撑SaaS或其他软件服务提供商各种应用系统长时间、稳定的运行。PaaS的实质是将互联网的资源服务化为可编程接口,为第三方开发者提供有商业价值的资源和服务平台。有了PaaS平台的支撑,云计算[1]  的开发者就获得了大量的可编程元素,这些可编程元素有具体的业务逻辑,这就为开发带来了极大的方便,不但提高了开发效率,还节约了开发成本。有了PaaS平台的支持,WEB应用的开发变得更加敏捷,能够快速响应用户需求的开发能力,也为最终用户带来了实实在在的利益。

  应用

  平台即服务(PaaS)已存在了相当长的一段时间了,这是一种在基于云计算的系统中使用一套被提供的工具来开发和部署应用程序的高效既定方法。

  如果一家企业承受着把应用程序软件迁移至网络或移动设备的压力,那么PaaS则具有明显的优势。企业业务进入市场的时间更短,这样也就避免了开发时间冗长、上市时间过长的产品开发过程。这样的产品必定是高质量的,同时也必须能够被快速提供。PaaS可让企业更专注于他们所开发和交付的应用程序,而不是管理和维护完整的平台系统。

  对于小型企业和初创型企业来说,PaaS也是比较有用的,因为这些企业并没有广泛的、具有较高依赖性的旧应用程序需要迁移。PaaS的多租户特性可实现应用程序和数据资源的最大数量共享,同时让开发资源继续专注于应用程序的交付和连接,而不是开发和支持数据库资源。PaaS的未来发展空间似乎在小型企业和初创企业,这类公司由于不依赖于与旧应用程序的集成而更适于在云计算中进行应用程序开发。[2]

  PaaS区别

  简单地说,PaaS平台就是指云环境中的应用基础设施服务,也可以说是中间件即服务。PaaS平台在云架构中位于中间层,其上层是SaaS,其下层是IaaS[3]  。在传统On-Premise部署方式下,应用基础设施即中间件的种类非常多, 有应用服务器,数据库,ESBs, BPM, Portal,消息中间件,远程对象调用中间件等等。对于PaaS平台,Gartner把它们分为两类,一类是应用部署和运行平台APaaS(application platform as a service),另一类是集成平台IPaaS(integration as a service)。 人们经常说的PaaS平台基本上是指APaaS,如Force和Google App Engine。

  国内日前上线的中国云应用平台,能够为软件厂商提供领先的IaaS基础平台,使得软件厂商能够将注意力集中在其应用产品的云化之上,而将对基础资源的需求,包括云服务器、云存储、云监控等完全依托在理念领先、技术成熟、安全可靠的IaaS平台上。

  中国云应用平台将加盟入驻的传统软件向SaaS软件转型,采用传统软件结合云计算IaaS的模式,逐步实现多租户单实例的应用架构最终实现高性能应用。未来大量传统软件企业在与华云数据的合作过程中,通过与PaaS平台的整合,可以快速实现云化与SaaS化改造。

  企业级

  云计算[4]  起源于大型互联网企业。对于互联网企业,成本压力和指数级的业务增长压力使他们关注于物理资源的利用率和应用的可扩展性。在应用服务器这层,通过Cluster Session来实现水平扩展;在数据存储这层,采用基于BASE模型的NOSQL数据存储来实现扩展。互联网企业主导面向公众服务的公有云PaaS平台,如Google App Engine和Amazon Beanstalk。对于公有云PaaS平台,PaaS就是云环境下的应用部署平台。

  (1)基于商业软件的部署方式:Application - Framework/Libs - Websphere/Weblogic + RDBMS

  (2)基于开源软件的部署方式:Application - Frameworks/Libs - Tomcat/JBoss + RDBMS

  (3)云环境下的部署方式:Application - Frameworks/Libs - PaaS(Goole App Engine, Amazon)

  【注:1、WebSphere:是 IBM 的软件平台。它包含了编写、运行和监视全天候的工业强度的随需应变 Web应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。WebSphere 提供了可靠、灵活和健壮的软件。

  2、Weblogic:是一个基于Javaee架构的中间件,BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。

  3、Tomcat 服务器是一个免费的开放源代码的Web 应用服务器

  4、JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3.0的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。

  5、RDBMS:指的是关系型数据库管理系统】

  这种情况下,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部署通往公有云部署的必经之路。