当前位置: 首页 > 科技观察

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

时间:2023-03-13 07:26:00 科技观察

【.com快考】平台即服务(PaaS)是软件开发的推动者,第三方服务提供商为客户提供一个平台,以便他们可以开发、运行和管理软件应用程序无需自己构建和维护底层基础设施。大多数平台即服务包括模板或构建包,它们提供关于应如何构建特定类型应用程序的意见,通常围绕流行的12因素方法。这就是为什么PaaS选项通常被标记为“过时的”并且最适合新的、新的域应用程序。云计算的出现为亚马逊网络服务(AmazonWebServices)、微软(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提供商包括AmazonWebServices(AWS)、GoogleCloud、MicrosoftAzure、RedHat和Saleforce的Heroku。在过去十年中,三大云提供商——AWS、微软Azure和谷歌云——都投入了大量资金来简化他们服务的采用,将他们自己的云组件整合到一个统一的PaaS中以便于采用。当今市场上仍然存在的一些主要PaaS选项包括以下内容。AWSElasticBeanstalk作为首批PaaS选项之一,AWSElasticBeanstalk支持在不了解底层基础设施的情况下快速部署和管理云应用程序。ElasticBeanstalk自动处理容量配置、负载均衡、扩展和应用程序运行状况监控的细节。CloudFoundryCloudFoundry是由CloudFoundryFoundation(CFF)管理的开源PaaS。它最初由VMware开发,然后转移到EMC、VMware和通用电气的合资企业PivotalSoftware,然后在2015年转移到CFF。与OpenShift一样,CloudFoundry旨在构建和运行基于容器的应用程序,使用Kubernetes进行编排。GoogleAppEngineGoogleAppEngine是一种PaaS产品,用于在Google管理的数据中心开发和托管Web应用程序。应用程序会自动在多个服务器上进行沙盒化、运行和扩展。MicrosoftAzureAppServiceMicrosoftAzureAppService是一个完全托管的PaaS,它将各种Azure服务组合到一个平台中。RedHatOpenShiftRedHatOpenShift是一系列PaaS产品,可以是云托管的,也可以是本地的,用于构建和部署容器化应用程序。旗舰产品是OpenShift容器平台,这是一个围绕Docker容器构建的本地PaaS,由Kubernetes在RedHatEnterpriseLinux之上进行编排和管理。SalesforceHerokuHeroku,早期广受欢迎的PaaS,自从2010年被SaaS巨头Salesforce收购后,可能已经迷失了方向。今天,Heroku是更广泛的Salesforce开发者工具平台的一部分,支持多种语言,成千上万的开发者在运行上的应用程序。事实上,使用Heroku需要构建一个公共运行时,该运行时部署在虚拟化Linux容器(或Heroku称之为dynos)中,分布在AWS服务器的dynos网格中。PaaS的演变平台即服务(Platformasaservice)已经成熟为云服务的一个重要类别,但越来越有可能被容器(以及托管容器即服务(managedcontainerasaservice)开发的主要供应商。CaaS)选项、无服务器计算和功能即服务(FaaS)选项,它们提供许多与PaaS相同的好处,但也承诺更好的可移植性、灵活性,并且在无服务器计算的情况下,它提供了一个环境,其中你真的只为你使用的东西付费。正如BenKepes在2017年为Computerworld所写的那样,PaaS已经被容器管理和自动化的思想广泛接受,RedHat、VMware和三大云服务提供商等主要供应商,近年来都在朝着简化容器的采用和自动化。这并不意味着PaaS必然消亡,但随着行业广泛转向由Kubernetes编排的容器化应用程序,PaaS也在不断发展。简化软件开发的市场永远存在,但这样做的底层平台会随着时间的推移而变化。【翻译稿件,合作网站转载请注明原译者和出处.com】