什么是平台即服务(PaaS)?
平台即服务(PaaS)提供一体化的云计算平台(硬件、软件和基础架构),可简化开发人员构建、部署和管理应用的方式。PaaS 允许用户开发、运行和管理自己的应用,而无需构建和维护通常与流程相关的基础架构或平台。
虽然 PaaS 平台通常基于云,但也可以在本地基础架构中运行。对于托管产品,PaaS 提供商在自己的基础架构上托管硬件和软件,并通过互联网连接,以集成解决方案、解决方案堆栈或服务形式将该平台提供给用户。
基于 Kubernetes 的 PaaS 可以作为应用平台,基于容器的软件可以在该平台上进行运行、扩展和管理。例如,红帽® OpenShift® 的云服务版本就是托管式 PaaS 产品。
PaaS、IaaS 与 SaaS
“即服务”通常是指由第二方提供的服务,它使您能够专注于对您而言更重要的事情,例如您的代码以及与客户的关系。其他一些即服务选项包括基础架构即服务(IaaS)和软件即服务(SaaS)。

IaaS 是指提供商通过云为您管理基础架构,包括实际的服务器、网络、虚拟化和存储。用户可以通过应用编程接口(API)或信息面板进行访问,本质上是在租用这些基础架构。用户负责管理操作系统、应用和中间件等内容,而服务提供商则负责搞定所有硬件、网络、硬盘驱动器、存储和服务器,并负责处理中断、修复和硬件问题
SaaS 是指由提供商为您管理应用。提供商负责处理软件更新、错误修复及其他常规软件维护工作,而您可以通过 Web 浏览器或 API 连接到该应用。这也消除了在每台计算机上本地安装应用的必要。
借助红帽 OpenShift 加速应用开发
常见的 PaaS 类型
PaaS 有两种不同的类别:一类是部署模式(确定基础架构的物理位置以及谁有权访问它);另一类是专用类型(指明该平台专门用来解决哪类特定的软件问题)。
1.PaaS 部署模式
部署模式决定了底层硬件的所有权归属,以及开发环境的隔离程度。
- 公共 PaaS:公共 PaaS 是最常见的模式,完全部署在公共云提供商的共享基础架构之上。用户登录并上传代码,其他所有工作均由供应商负责管理。在这种模式下,您需要放弃对数据位置和安全配置的精细控制,以换取低成本和零维护的优势。
- 私有 PaaS:私有 PaaS 与公共 PaaS 一样,能够提供顺畅的开发人员体验,且完全部署在单个企业的隔离防火墙内(可以是本地数据中心,也可以是私有云网络)。它安全性极高且符合相关规定,但维护物理硬件和修补平台软件的工作完全由内部团队负责。
- 混合 PaaS:通过混合模式,企业能够灵活地将工作流分配到公共空间和私有空间。例如,企业可能会在私有 PaaS 中完成高度敏感的数据处理工作,但在遇到流量高峰时会自动转换为公共 PaaS。
2.专业化的 PaaS 产品
随着云市场的不断发展演变,通用型 PaaS 产品已逐渐转变为针对高度专业化开发任务而设计的小众产品。
- iPaaS(集成 PaaS): iPaaS 用于连接庞大且分散的系统,提供在完全独立的软件应用之间构建自动化数据管道的管道,例如将 CRM 数据与内部数据库连接起来。
- AIPaaS(人工智能 PaaS): AIPaaS 专注于构建、训练和部署 AI 模型,提供预先配置好的强大 GPU 集群、机器学习框架和数据清理管道,因此开发人员无需从头开始构建 AI 服务器。
- cPaaS(通信 PaaS): cPaaS 专为开发人员在其应用中添加短信、VoIP 语音通话或视频聊天而设计,包含预打包的代码库、API 和蜂窝网络连接,便于开发人员在应用中添加通信功能
- mPaaS(移动 PaaS): mPaaS 具有专为智能手机设计的内置工具,可简化移动应用的开发流程。
您不必只选择其中一种。现代企业可能会使用公共 mPaaS 构建核心移动应用,通过 iPaaS 链接到内部服务器,并在混合云部署环境中运行整个生态系统。
PaaS 用例有哪些?
平台即服务(PaaS)被工程团队广泛使用,因为它可以处理复杂的后端基础架构,使开发人员能够完全专注于编写应用代码。
- PaaS 为 API 开发和管理提供了内置的基础。预先配置好的安全网关和路由工具,使不同的软件系统能够即时通信,而无需从头开始设置网络规则。 用户实际上是在租用基础架构。
- PaaS 也是现代 DevOps 和自动化 CI/CD(持续集成/持续部署)管道背后的引擎。当开发人员推送新代码时,PaaS 会自动触发测试工作流,打包应用并将其直接部署到实时环境中,从而大幅减少人为错误,并将部署时间从几天缩短到几分钟。
- PaaS 在管理微服务和大数据分析背后工作方面表现尤为出色。由于它能够立即启动庞大的云服务器集群,并在任务完成后将其关闭,企业组织可以使用它来运行短期、数据密集型的分析模型,或安全地隔离各个应用部分(例如独立的支付引擎),而无需进行复杂的手动配置。
- PaaS 在扩展物联网(IoT)部署方面非常有效。物联网涉及成千上万台分散的设备,这些设备会不间断地发送实时指标,因此 PaaS 提供了必要的可扩展后端管道,能够安全地捕获这些海量数据流,即时进行处理,并触发应用警报。
PaaS 的好处
使用 PaaS 环境的好处包括:无需维护服务器、确保基础架构软件处于最新状态,也不必为构建应用而搭建自定义平台。PaaS 提供商可以托管平台并提供用于运行应用的环境。
软件团队可以开发和部署应用,而不必担心底层基础架构的维护和保养。这为进一步开发和创新扫清了障碍,减少了干扰,同时也减少了基础架构设置和编码的工作量。由于 PaaS 部署在云端,它还具备可扩展性和易于迁移的特点。
选择 PaaS 环境进行应用开发的企业组织,可以享受到诸多好处。
- 利用现有技能和投资。开发人员可以访问所需的操作系统、中间件、框架和其他开发工具,并使用自己熟悉的语言快速编写代码。
- 降低成本。PaaS 定价模式意味着您只需按实际使用量付费,而不必投资于可能大部分时间处于闲置状态的大量本地计算基础架构。
- 缩短应用开发周期。PaaS 可以帮助开发团队加快应用开发,并缩短部署新软件所需的时间。自主开发和交付团队可以利用该平台,以更快的速度交付业务功能,同时减少协调工作。
- 实现有效的 DevOps。 DevOps 策略将开发人员和 IT 运维人员聚集在一起,使您能够通过持续交付快速开发和部署应用。企业的数字平台可以作为不同团队之间的接口,用来改善沟通与协作,同时减少对步调完全一致的协调需求。
- 维护安全防护措施。依托 PaaS 提供商,有助于确保以统一的方式管理与安全实践相关的决策。基于云的服务受益于专注于安全防护的高技能团队。
- 提高生产力。开发人员可以通过自助服务功能快速获取所需的工具和资源。开发环境可自动置备,因此团队能够专注于可创造价值的工作,而非日常基础架构管理。
交付压力和技术债务日益累积,这是阻碍转型的两大障碍,也让技术人员不堪重负。如果能有效运用 PaaS,可减轻技术人员的认知负担。而且,它还能鼓励学习并推动新行为习惯的形成。
选择 PaaS 提供商时的注意事项
选择 PaaS 是一种权衡之举,即优先考虑开发人员的开发速度,而非基础架构的自主性。对于简单的应用,保障速度是值得的;而对于受到严格监管的大型企业而言,若缺乏控制力,通常会迫使他们迁移回原始基础架构。
在选择 PaaS 解决方案时,需要牢记以下几点:
- 供应商锁定:PaaS 提供商使用专有工具来简化部署。这可能会导致迁移变得十分困难。
- 包含的功能:您的应用能否与这些功能顺利配合使用?随着应用规模和功能不断发展演变,用户数量不断增加,您需要确保能够与提供商一起轻松扩展,并拥有所需的功能选项。
- 安全防护与合规性:使用 PaaS 时,您的数据和代码位于第三方托管环境中。这使得遵守 HIPAA 或 SOC 2 等严格的行业标准变得更加困难。您依赖于提供商自身的安全态势和访问控制。
- 基础架构控制受限: 使用 PaaS 时,您对底层操作系统、服务器配置或硬件组件的可见性或控制力可能为零。如果您的应用需要自定义,PaaS 可能并非最佳选择。
- 用户数量:用户越多,代码越具体,应用的运行速度就越慢,并且如果需要从一个服务提供商迁移到另一个服务提供商,难度也会越大。
红帽的 PaaS 产品
红帽解决方案为您提供安全防护、社区支持以及数十年积累的经验,并可根据您的创意想法灵活地扩展。借助按需提供的应用堆栈和预创建的快速入门应用模板,您只需单击一下即可开始构建应用。
红帽 OpenShift 的 PaaS 产品包括:AWS 上的红帽 OpenShift 服务、Microsoft Azure 红帽 OpenShift 和红帽 OpenShift 专业版。
借助红帽 OpenShift,您可以实现生命周期管理自动化,从而提升安全性、获得量身定制的运营解决方案,并确保应用的可移植性。您还可以标准化开发人员工作流、简化交付、支持多种环境,并实现持续集成和自动化发布管理。
红帽 OpenShift 也是一个安全至上且受支持的 Kubernetes 平台,可为需要进一步支持的客户提供专家培训和咨询服务。
Azure 红帽 OpenShift 入门
使用 Azure 和红帽 OpenShift 实现全托管式 OpenShift 集群的全服务部署,以增强应用构建能力和部署能力。