平台即服务 (PaaS)
平台即服务 (PaaS)是一种云计算模型,可为客户提供完整的云平台(硬件、软件和基础架构),用于开发、运行和管理应用程序,而无需应对构建和维护本地部署平台时通常会遇到的成本、复杂性和不灵活性。
PaaS 提供商在其数据中心托管所有内容,包括服务器、网络、存储、操作系统软件、数据库和开发工具。通常客户可以支付固定费用为指定数量的用户提供指定量的资源,也可以选择“即用即付”定价方式仅为他们使用的资源付费。
无论哪种选择,较之必须构建和管理自己的本地部署平台,PaaS 客户都能够更快、更经济地构建、测试、部署、运行、更新和扩展应用程序。
每家领先的云服务提供商(包括 Amazon Web Services (AWS)、Google Cloud、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 用例
通过提供集成且随时可用的平台,并使组织能够将基础架构管理工作转交给云供应商,从而专注于构建、部署和管理应用程序,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)功能。