PaaS平台整合各种不同的软硬件资源向应用提供统一的资源和功能。通过整合,应用运行所需的各种资源和基础功能以统一的编程模型和调用接口暴露给应用使用,应用无须关注下层的细节。同时,PaaS平台根据所支持的应用类型,可以精心选择和优化所提供给应用的资源和服务,使得应用的开发和运行变得更为简单高效。
如图1所示,平台即服务可能建立在多个基础设施服务之上,需要对应用提供一个一致的、单一的基础设施视图。PaaS还需要面向云环境中的应用提供应用在开发、测试和运行过程中所需的基础服务。平台层除了提供Web服务器、应用服务器、消息服务器等传统的中间件以外,还需要提供其他相关的管理支撑服务,如应用部署、应用性能管理、使用计量和计费等。另外, 云应用本身可能会集成来自不同云服务提供商所提供的功能或服务,这些也需要平台层提供相应的跨平台使用服务的支持。
图1PaaS作为集成的软件和服务平台
比如,一个企业可能将自己的应用运行在企业内部所建设的PaaS上,将客户信息保存在企业内部的数据库里,将一些非敏感信息如产品手册和图片等文件直接放到公有云服务器上以节省存储服务器的采购成本;为了方便与客户交流,该应用甚至可能直接集成Microsoft的Live服务。为了支持应用的这些功能需求,PaaS应该提供一致的访问接口和编程模型,从而使得应用通过简单的接口调用就能获得相应的功能,而无须单独与各自的服务分别打交道。上层应用通过PaaS所提供的统一接口来对本PaaS内部的数据和存储在公有云服务器中的数据进行透明访问。