PaaS可以通过任何Internet连接进行访问,因此可用于在Web浏览器中构建整个应用程序。由于开发环境不是本地托管的,因此开发人员可以在世界任何地方使用该应用程序。这使分散在不同地理位置的团队可以进行协作。这也意味着开发人员对开发环境的控制较少,但这样做的开销要少得多。
PaaS供应商提供的主要产品包括:
不同的供应商也可能包括其他服务,但这是PaaS的核心服务。
PaaS供应商提供软件开发所需的各种工具,包括源代码编辑器、调试器、编译器和其他必不可少的工具。这些工具可以作为框架一起提供。所提供的特定工具将取决于供应商,但是PaaS的产品应包括开发人员构建应用程序所需的一切。
作为服务提供的平台通常包括中间件,以便开发人员无需自行构建。中间件是位于面向用户的应用程序和计算机操作系统之间的软件。例如,中间件使软件可以访问键盘和鼠标的输入。中间件是运行应用程序所必需的,但最终用户不会与之交互。
PaaS供应商将提供并维护供开发人员使用并运行应用程序的操作系统。
PaaS提供商管理和维护数据库。他们通常还将为开发人员提供数据库管理系统。
PaaS是云计算服务模型中IaaS的上一层,并且IaaS中包含的所有内容也都包含在PaaS中。PaaS提供商可以管理服务器、存储和物理数据中心,也可以从IaaS提供商处购买。
使用PaaS构建应用程序,速度比开发人员构建、配置和调配自有平台和后端基础设施后再构建应用程序的速度更快。使用PaaS,他们只需要编写代码并测试应用程序,然后其余的交由供应商处理。
PaaS允许开发人员在同一环境中构建、测试、调试、部署、托管和更新应用程序。这使开发人员得以确保Web应用程序在发布之前可以正常运行,并且这也可以简化应用程序开发生命周期。
在许多情况下,利用PaaS比利用IaaS更具成本效益。因为PaaS客户不需要管理和配置虚拟机,可以减少开销。此外,某些提供商采用按需付费的定价结构,卖方仅对应用程序使用的计算资源收费,这样通常可以为客户省钱。但是,每个供应商的定价结构略有不同,某些平台提供商每月收取固定费用。
PaaS提供商处理操作系统、开发工具以及其平台中包含的所有其他内容的所有许可。
更换PaaS供应商将需要大量工作和资源,这可能使公司更加依赖当前供应商。供应商内部流程或基础设施即便出现微小变化,都可能会对旨在在旧配置上高效运行的应用程序的性能产生巨大影响。此外,如果供应商更改其定价模型,则应用程序的运行成本可能突然变得更昂贵。
在PaaS架构中,外部供应商将存储应用程序的大部分或全部数据,并托管其代码。在某些情况下,卖方可能实际上是通过另一个第三方(即IaaS提供商)存储数据库的。大多数PaaS供应商都是拥有强大安全措施的大型公司,但这却使得很难全面评估和测试保护应用程序及其数据的安全措施。此外,对于必须遵守严格数据安全法规的公司,验证其他外部供应商的法规遵从性将为上市增加更多障碍。
另一个区别是无服务器供应商不像PaaS供应商那样提供开发工具或框架。最后,两种模式的定价也大相径庭。PaaS计费的准确性远不如无服务器计算,后者的计费细化到每个函数实例运行的秒数或几分之一秒。