由来
业界最早的PaaS服务是由Salesforce于2007年推出的Force.corn,它为用户提供了关係型资料库、用户界面选项、企业逻辑及一个专用的集成开发环境,应用程式开发者可以在该平台提供的运行环境中对他们开发出来的套用软体进行部署测试,然后将套用提交给Salesforce供用户使用。作为SaaS服务提供商,Salesforce推出PaaS的目的是使商业SaaS套用的开发更加便捷,进而使SaaS服务用户能够有更多的软体套用可以选择。还有当代计算的先驱Google,使用便宜的计算机和强有力的中间件,以及自己的技术装备出了世界上功能最强大的数据中心,以及超高性能的并行计算群。2008年4月发表的PaaS服务GAE,为用户提供了更多的服务,方便了用户的使用,去掉了烦琐的作业。
微软在2008年冬推出Windows Azure平台,并在其上陆续发布了用于提供资料库服务、汇流排服务、身份认证服务等相关组件,构建完整的微软PaaS服务。
PaaS服务更多地从用户角度出发,将更多的套用移植到PaaS平台上进行开发管理,充分体现了网际网路低成本、高效率、规模化的套用特性,PaaS对于SaaS的运营商来说,可以帮助他们进行产品多元化和产品定製化。
关键技术
PaaS层的技术比较多样,下面是常见的5种。
(1)REST。通过REST(Representational State Transfer,表述性状态转移)技术,能够非常方便和优雅地将中间件层所支撑的部分服务提供给调用者。
(2)多租户。它能让一个单独的套用实例为多个组织服务,而且能保持良好的隔离性和安全性。通过这种技术,能有效地降低套用的购置和维护成本。
(3)并行处理。为了处理海量数据,需要利用庞大的x86集群进行规模巨大的并行处理,Google的MapReduce是这方面的代表之作。
(4)套用伺服器。在原有套用伺服器的基础上为云计算做了一定程度的最佳化,比如用于Google App Engine的Jetty套用伺服器。
(5)分散式快取。通过这种技术,不仅能有效降低对后台伺服器的压力,而且还能加快相应的反应速度。最着名的分散式快取的例子莫过于Memcached。
对于很多PaaS平台,比如用于部署Ruby套用的Heroku云平台,套用伺服器和分散式快取都是必备的,REST技术常用于对外的接口,多租户技术则主要用于SaaS套用的后台(比如用于支撑Salesforce的CRM等套用的Force.com多租户核心),而并行处理技术常被用作单独的服务推出(比如Amazon的Elastic MapReduce)。
实现模式
PaaS在laaS的基础上封装虚拟作业系统、中间件、资料库、开发环境等软体栈后,将分散式软体开发、测试、部署环境提供给开发者.对PaaS而言,主要的技术问题是採用合适的分散式技术解决分散式存储和分散式计算问题,并禁止底层複杂的分散式处理操作,把简单易用的编程接口和编程模型提供给用户,PaaS同样需要构建PaaS运营管理系统解决用户管理、资源管理等问题根据业务领域和技术类型的不同,PaaS提供套用开发层面的服务目前有两种主流的实现模式:一种主要是面向广大网际网路套用开发者.把端到端的分散式软体开发、测试、部署、运行环境以及複杂的应用程式託管当作服务,通过网际网路提供给用户,其核心技术是分散式并行计算;另一种是面向电信增值套用开发者,把基于电信开放能力的增值套用开发、测试、部署以及套用发布和销售渠道作为服务,通过运营商的电信能力开放平台提供给用户。
特徵
PaaS具有以下几个重要的特徵:
(1)是在一个集成开发环境中为开发人员提供的一种开发、测试、运维和部署的服务。这些服务必须满足一定的开发程式流程需求。
(2)开发环境可以是基于Web的富客户端形式,也可以是能与PaaS直接相连的桌面端开发环境,后者在编写完代码后能将代码即时上传到PaaS伺服器上执行。
(3)PaaS平台一般都有开发语言的限制。
(4)多租户架构能够让许多开发人员同时进行协同工作,因此PaaS上还包含了项目管理和互动工具。
(5)PaaS提供的套用开发环境能够与Web服务和资料库直接相连。


















