什么是PaaS(平台即服务)?构建软件应用程序的更简单方法

作者:亿网科技  来源:亿网科技  发布时间:2023-03-08

23.png

平台即效劳 (PaaS) 是软件开发的推进者,第三方效劳提供商向客户提供一个平台,这样他们就能够开发、运转和管理软件应用程序,而无需本人构建和维护底层根底设备。

大多数“平台即效劳”都包含模板或构建包,这些模板或构建包提供了关于应如何构建特定类型应用程序的意见,通常是盘绕盛行的12要素办法。这就是为什么 PaaS 选项通常被标志为“故步自封”,并且最合适新的、新范畴的应用。

云计算的呈现为亚马逊网络效劳(Amazon Web Services)、(Microsoft)和谷歌(Google)等公司翻开了一扇大门,将应用程序启动所需的关键构建块整合到一个故步自封的平台上,目的是将部署代码所需的许多更复杂和反复的任务简化为一个命令或单击鼠标。

这种简化使得软件开发更快更容易,并且经过躲藏运转应用程序所需的底层计算、存储、数据库、操作系统和网络资源,减少了开发人员的工作范围。PaaS 提供商对这些资源的运用收费,有时还对平台自身的运用收费,能够按用户(或“座位”)收费,也能够按托管的应用程序数量停止收费。

什么是 PaaS

与根底设备即效劳 (IaaS)和软件即效劳 (SaaS)等其他云效劳一样,PaaS 通常经过 Internet 访问,但也能够在本地部署或以混合形式部署。不论怎样,应用程序运转的根底构造都是由效劳提供商管理的。在许多

状况下,客户能够决议其的应用程序的物理托管位置,并能够选择该环境的性能或平安性,通常需求付出额外的本钱。

典型 PaaS 的构建块包括:

•托管根底设备:提供商管理运转应用程序所需的效劳器、存储、数据中心和网络资源。

•设计、测试和开发工具:集成开发环境将实践构建软件所需的工具集中在一同,包括源代码编辑器、编译器和调试器。一些供给商还提供了协作工具,让开发人员能够共享和促进彼此的工作。

•中间件:PaaS 通常包括集成各种操作系统和用户应用程序所需的工具。

•操作系统和数据库:PaaS 为应用程序提供运转的操作系统和用户应用程序所需的工具。

PaaS 与 IaaS

关于许多人来说,PaaS 与 IaaS 的争论曾经被市场处理,但是在运用底层构建块自身 (IaaS) 和运用顽固的 PaaS 之间的决议依然是当今是许多人今天在追求加速应用程序推向市场的过程中要做的决议。

与软件开发中的任何事情一样,这个决议充溢了权衡,取决于想要完成的目的。

PaaS优势

运用 PaaS 的最大优势之一是可以快速创立和部署应用程序,而无需设置和维护它们将在其中运转的环境所需的繁重工作。从理论上讲,这使开发人员可以更快、更定期地停止部署,并将重点放在差别化要素上,而不是处理根底设备供给等问题。

由于 PaaS 是由效劳提供商维护的,并且有效劳级别协议和其他保证,所以开发人员不用担忧诸如修补和晋级之类的繁琐和反复的任务,他们能够确信他们的环境将是高可用和稳定的,虽然中缀依然会发作。

PaaS 还能够成为新的云原生开发技术和编程言语的便利门户,而无需构建新环境的前期投资。

PaaS风险

大多数与运用PaaS相关的风险归结为失去控制,专业开发人员必需思索将他们的应用程序移交给第三方提供商。这些风险包括信息平安和数据驻留问题、供给商锁定恐惧和方案外中缀。

有了PaaS,开发人员改动开发环境的范围有限,这可能招致一些团队成员感到一筹莫展。无法对环境停止更改或无法取得效劳提供商部署的功用恳求,可能会招致公司的 PaaS 增长过快,并构建本人的内部开发者平台。

PaaS 示例

抢先的 PaaS 提供商包括Amazon Web Services (AWS)、Google Cloud、Microsoft Azure、Red Hat 和 Saleforce 的Heroku。

在过去十年中,AWS、Microsoft Azure 和谷歌云这三大云效劳提供商都停止了大量投资,以简化其效劳的采用,将本人的云组件整合到一个故步自封的 PaaS 中,以便于采用。

目前市场上依然存在的一些主要的 PaaS 选项包括以下内容。

AWS Elastic Beanstalk

作为首批 PaaS 选项之一,AWS Elastic Beanstalk 可以快速部署和管理云应用程序,而无需理解底层根底设备。Elastic Beanstalk自动处置容量分配、负载均衡、扩展和应用程序运转情况监控的细致信息。

Cloud Foundry

Cloud Foundry 是一个由 Cloud Foundry Foundation (CFF) 管理的开放源码 PaaS。它最初由 VMware 开发,然后转移到由 EMC、VMware 和General Electric合资的Pivotal Software,然后在 2015 年转移到 CFF。与 OpenShift 一样,Cloud Foundry 设计用于构建和运转基于容器的应用程序,运用Kubernetes停止编排。

谷歌应用引擎

Google App Engine 是一种 PaaS 产品,用于在 Google 管理的数据中心开发和托管 Web 应用程序。应用程序在多个效劳器上自动停止沙盒、运转和缩放。

微软 Azure 应用效劳

Microsoft Azure 应用效劳是一个完整托管的 PaaS,它将各种 Azure 效劳组合到一个平台中。

Red Hat OpenShift

Red Hat OpenShift 是一个 PaaS 产品系列,能够云托管或在本地部署,用于构建和部署容器化应用程序。旗舰产品是 OpenShift 容器平台,这是一个本地 PaaS,盘绕 Docker 容器构建,由 Kubernetes 在红帽企业 Linux 的根底上停止编排和管理。

Salesforce Heroku

Heroku 是早期且广受欢送的 PaaS,自 2010 年被 SaaS 巨头 Salesforce 收买以来,它可能曾经迷失了方向。今天,Heroku是更普遍的Salesforce开发工具平台的一局部,支持多种言语和数千名开发人员在其上运转应用程序。实践上,运用 Heroku需求构建部署在虚拟化 Linux 容器(或dynos,如 Heroku 所称)中的公共运转时,该容器散布在 AWS 效劳器的 dyno 网格中。