PaaS软件与服务差异容易区分。PaaS改变了软件开发者创建应用程序的方式,同时也改变了IT设计与规划基础设施架构支持定制企业应用程序的方式。
平台即服务(PaaS)是一个动态的目标,这让清晰明确的定义变得复杂化。作为三大XaaS种类中最年轻的一个,居于SaaS(软件即服务)和基础设施即服务(IaaS)之后——PaaS是企业与产品争夺的下一领域,合并与并购,各种新功能,比IT购买者从传统渠道所能获取的多得多。IT领导者可能对整个PaaS概念存有疑虑,因为它主要针对开发者,对此的讨论可能迅速变成技术细节有关的深度辩论。另外可以互换使用的PaaS术语也导致了传播混乱:PaaS的使用场景包括了在公有云服务器上运行服务和在私有服务器上安装购买软件两类。举例来说, PaaS业内的一些领先厂商包括Appenda、HP Enterprise和Red Hat在内,比较专注于提供内部部署软件。
这种混乱局面导致两种截然不同但非常重要的概念:PaaS软件主要改变应用程序开发流程以及基础设施部署决策。随着云服务的选项加入,PaaS能够替换现有开发模式,为企业提供了新的选择。
什么是PaaS?它又是如何影响IT的?
如果不是IaaS或SaaS,那就是PaaS,这是一种最简单的定义方式。但广义来说,PaaS是一组作为自助服务或共享服务进行交付的应用程序、数据或开发组件。PaaS比基本虚拟机实例或对象存储更加复杂,包含数据库表、大数据存储和查询(如Hadoop、MapReduce)、中间件服务、软件配置管理、移动后端、应用程序编程接口(API)网关和管理用户与群组身份目录和访问控制。作为高级别的服务交付,PaaS软件从基础设施配置细节与配置、管理和构建低级别服务与API所需的编码两个方面把开发者隔离。在这种情况下,通过平台服务器构建应用程序,类似于通过Excel宏或使用Access或Visual Basic构建前端,而不是使用C#与Windows原生API进行编码。
从应用程序实施中抽象应用程序开发组件,意味着有许多不同的PaaS例子可循。典型的PaaS是一种云服务,其提供一套平台服务交付,包括多租户基础设施,如按使用量计费服务,通常结合了Microsoft Azure与Google Cloud Platform,作为更大的IaaS解决方案的一部分。然而,PaaS软件栈同样可以建立在专属的私有系统上并作为专属服务交付给内部开发者。在这个例子中,PaaS软件通常是分层在虚拟基础设施栈,如VMware vSphere、OpenStack或Amazon Web Services,但有些产品如Apprenda运行类似Internet Information Server或Apache Tomcat,直接运行在服务器操作系统上。
PaaS栈包括了多种针对不同选区与使用场景的功能,所以很难进行直接比较。对比PaaS的最简单办法,是从功能、服务层级和供应商定价模型进行对比。没有一款产品可以满足所有不同的应用程序。一些如Azure、Google App Engine或CloudFoundry的PaaS适合于新应用程序开发。其他PaaS厂商的例子有——Force.com与SAP HANA Cloud Platform——更适合通过自定义功能充实现有软件。
PaaS的优势 | PaaS的劣势 |
对市场来说能获得更快的部署周期并节约时间 | 平台锁定 |
托管于公有云,极少或不需要能力规划支出,降低总拥有成本 | 新语言、功能、方法技术与平台管理的学习曲线 |
通过提高用户生产力、资源使用率、自动化与自助服务提高效率 | 与传统应用程序、数据源的集成存在挑战。这样加剧了共有PaaS与托管或自建数据中心基础设施交互时,需要安全网络连接的需求。 |
通过基础设施外包与采用普通开发平台与技术降低支持成本 | 在没有在大量重构的情况下,将传统代码移植到新平台,应用程序性能可能受影响 |
支持新型、更丰富的功能,如大数据分析、移动与物联网后端甚至机器学习 | 某些服务如数据库和移动API存在能力访问限制 |
更高的平台扩展性 | -- |
从以上表格可以看到,PaaS的好处在于它可以被看作是一种服务产品,但应用程序部署方案都存在各自的缺点。
本文转自d1net(转载)