PaaS(平台即服务)

menu icon

PaaS(平台即服务)

PaaS(平台即服务)提供了一个用于开发、运行和管理应用程序的完整、灵活且经济高效的云平台。

什么是 PaaS(平台即服务)?

PaaS(平台即服务)是一种云计算模型,它为客户提供一个完整的云平台(硬件、软件和基础架构)以用于开发、运行和管理应用程序,而无需考虑在本地构建和维护该平台通常会带来的成本、复杂性和不灵活性。

PaaS 提供商将服务器、网络、存储、操作系统软件、数据库、开发工具等一切工具都托管在其数据中心上。 通常,客户可以支付固定费用来为指定数量的用户提供指定数量的资源,他们也可以选择“按使用量付费”定价模式以仅为他们使用的资源付费。 如果 PaaS 客户必须构建和管理自己的本地平台,那么这两种选择都能让 PaaS 客户以更低的成本更快地构建、测试、部署运行、更新和扩展应用程序。

所有领先的云服务提供商(包括 Amazon Web Services (AWS)、Google 云、IBM Cloud 和 Microsoft Azure)都具有自己的 PaaS 产品。 热门的 PaaS 解决方案也可用作开源项目(例如 Apache Stratos、Cloud Foundry)或来自软件供应商(例如 Red Hat OpenShift 和 Salesforce Heroku)。

PaaS 的优势

与本地平台相比,PaaS 最常被提及的好处包括:

  • 缩短产品上市时间。借助 PaaS,您无需购买和安装用于构建和维护应用程序开发平台的硬件和软件,开发团队也不需要在您执行此操作时等待。 您只需接入云服务提供商的 PaaS,即可立即开始配置资源并进行开发。
  • 以经济实惠的方式访问更多种类的资源。PaaS 平台通常可访问的应用程序堆栈上下的选项(包括操作系统、中间件、数据库和开发工具)要比大多数组织实际能够维护的选项更广。
  • 试验更自由,风险更小。PaaS 还允许您试用或测试新的操作系统、语言和其他工具,而无需对它们或运行它们所需的基础架构进行大量投资。
  • 简单且经济高效的可扩展性。如果使用本地平台,扩展操作始终成本高昂,通常会十分浪费,有时候还不够充分: 您必须购买额外的计算、存储和网络容量以应对流量高峰;其中大部分容量在低流量期间处于闲置状态,而且其容量无法及时增加以便应对意外的激增情况。 借助 PaaS,您可以购买额外的容量,并在需要时立即开始使用此容量。
  • 为开发团队提供更大的灵活性。PaaS 服务提供了一个共享的软件开发环境,允许开发团队和运营团队从任何具有因特网连接的位置访问其所需的所有工具。
  • 降低总体成本。显然,PaaS 使组织能够避免与构建和扩展应用程序平台相关的资本设备费用,从而降低成本。 但 PaaS 也可以降低或消除软件许可成本。 通过处理补丁、更新和其他管理任务,PaaS 可以降低总体应用程序管理成本。

PaaS 的工作原理

通常,PaaS 解决方案包含三个主要部分:

  • 云基础架构,包括虚拟机 (VM)、操作系统软件、存储、网络、防火墙
  • 用于构建、部署和管理应用程序的软件
  • 图形用户界面 (GUI),开发团队或 DevOps 团队可以在其中完成整个应用程序生命周期内的所有工作

由于 PaaS 通过 GUI 在线界面提供所有标准开发工具,因此开发人员可以从任何地方登录该界面以协作处理项目、测试新应用程序或推出已完成的产品。 应用程序是使用中间件在 PaaS 中设计和开发的。 通过简化的工作流程,多个开发团队和运营团队可以同时处理同一个项目。

PaaS 提供商将管理您的大部分云计算服务,例如服务器、运行时和虚拟化。 作为 PaaS 客户,贵公司将负责管理应用程序和数据。

PaaS、IaaS 和 SaaS

与 PaaS 一样,基础架构即服务 (IaaS) 和软件即服务 (SaaS) 都是非常常见的云计算服务模型。 事实上,即使组织没有专门购买这三个模型,他们同时使用这三个模型也是很常见的情况。 需要澄清以下概念:

IaaS 是对由云提供商托管的“原始”IT 基础架构(物理服务器、虚拟机、存储、网络、防火墙)的因特网访问。有了 IaaS,您就无需拥有、管理和维护本地基础架构,也避免了与之相关的开支。 通过 IaaS,组织提供了自己的应用程序平台和应用程序。

任何 PaaS 产品都必须包含托管它所需的 IaaS 资源,即使这些资源没有被离散分解或称为 IaaS。

SaaS 是您通过云使用的应用软件,就好像它安装在您的计算机上一样(在某些情况下,它的某些部分安装在您的计算机上)。SaaS 使贵组织可以使用应用程序,而无需设置用于运行该应用程序的基础架构以及维护该应用程序(应用错误修复和更新、解决中断等)。Salesforce 和 Slack 是流行的 SaaS 产品示例 ; 大多数 Web 应用程序都被视为 SaaS。

每个 SaaS 产品都包含托管它所需的 IaaS 资源,并且至少包含运行它所需的 PaaS 组件。 一些 SaaS 供应商还提供了独立的 PaaS,它允许第三方定制 SaaS 产品。

另外,也可以根据留给客户的管理工作量以及留给云服务提供商的管理工作量来比较 IaaS、PaaS 和 SaaS:

IaaS、PaaS、无服务器和 SaaS 将日益增加的管理责任转移给云提供商

 

阅读有关 IaaS、PaaS 和 SaaS 的更多信息。

PaaS 用例

通过提供随时可用的集成平台,同时使组织能够将基础架构管理工作转移给云提供商并专注于构建、部署和管理应用程序,PaaS 可以简化或推进许多 IT 计划,包括:

  • API 开发和管理: 由于其内置框架,PaaS 使团队可以更轻松地开发、运行、管理和保护 API(应用程序编程接口)以在应用程序之间共享数据和功能。
  • 物联网 (IoT): 现成的 PaaS 可以支持一系列用于开发物联网应用程序和实时处理物联网设备生成的数据的编程语言(Java、Python、Swift 等)、工具和应用程序环境。
  • 敏捷开发和 DevOps:PaaS 可以提供完全配置的环境,以用于自动完成软件应用程序生命周期,包括集成、交付、安全、测试和部署。
  • 云迁移和云原生开发:凭借其现成的工具和集成功能,PaaS 可以简化现有应用程序迁移到云的过程,特别是通过平台更新(将应用程序迁移到云并进行修改,以便更好地利用云可扩展性、负载均衡和其他功能)或重构(使用微服务容器和其他云原生技术重构部分或全部应用程序)。
  • 混合云战略:混合云集成了公有云服务、私有云服务和本地基础架构,并在这三者之间实现了编排、管理和应用程序可移植性。 这将打造一个统一且灵活的分布式计算环境,组织可以在其中利用最合适的计算模型运行和扩展其传统(旧)工作负载或云原生工作负载。 合适的 PaaS 解决方案允许开发人员只构建一次,然后在混合云环境中的任何位置进行部署和管理。

专门构建的 PaaS 类型

许多云供应商、软件供应商和硬件供应商都提供了 PaaS 解决方案,以用于构建特定类型的应用程序或者构建与特定类型的硬件、软件或设备进行交互的应用程序。

  • AIPaaS(人工智能 PaaS)让开发团队可以构建人工智能 (AI) 应用程序,而无需购买、管理和维护这些应用程序所需的重要但十分昂贵的计算能力、存储容量和网络容量。 AIPaaS 通常包括开发人员可以按原样使用或定制的预训练的机器学习深度学习模型,以及用于将特定 AI 功能(例如语音识别或语音到文本转换)集成到现有或新应用程序中的现成 API。
  • iPaaS(集成平台即服务)是一种用于集成应用程序的云托管解决方案。iPaaS 为组织提供了一种标准方法来连接共有云、私有云和本地环境中的数据、流程和服务,而无需购买、安装和管理自己的后端集成硬件、中间件和软件。(请注意,Paas 解决方案通常包括某种程度的集成功能 - 例如 API 管理 - 但 iPaaS 提供了更全面的集成功能。)
  • cPaaS(通信平台即服务)是一种 PaaS,可让开发人员轻松地向应用程序添加语音(呼入和呼出电话)、视频(包括电话会议)和消息传递(文本和社交媒体)功能,而无需投资专门的通信硬件和软件。
  • mPaaS(移动平台即服务)是一种用于简化面向移动设备的应用程序开发的 PaaS。mPaaS 通常提供低代码(甚至是简单的拖放)方法来访问特定于设备的功能,包括手机的摄像头、麦克风、运动传感器和地理定位(或 GPS)功能。

PaaS 和 IBM Cloud

IBM 提供了丰富且可扩展的 PaaS 解决方案,用于从头开始开发云原生应用程序或将现有应用程序现代化,以便从云的灵活性和可扩展性中受益。

IBM Cloud 上的 IBM Red Hat OpenShift 是一项完全托管的 OpenShift 服务,它利用 IBM Cloud 的企业规模和安全性来自动完成更新、扩展和配置过程并处理意外的流量激增情况。 您的团队可以使用一系列工具和功能来快速启动开发和应用程序现代化流程,只需单击一下即可部署高度可用且完全托管的集群。在 Forrester Wave:多云容器开发平台,2020 年第三季度 (PDF, 415 KB) 中将 IBM Cloud 上的 IBM Red Hat OpenShift 评为行业领导者。

IBM Cloud Pak for Applications 可帮助您将现有应用程序现代化,嵌入额外的安全性,并开发可释放数字计划的新应用程序。 它提供云原生开发解决方案,可快速创造价值,同时具有灵活的许可,可根据您的特定需求进行定制。

要开始在 IBM Cloud 上使用 PaaS,请注册 IBMid 并创建 IBM Cloud 帐户