机房360首页
当前位置:首页 » 技术前沿 » 什么是PaaS?构建软件应用程序的简单方法

什么是PaaS?构建软件应用程序的简单方法

来源:机房360 作者:Harris编译 更新时间:2021/7/14 7:26:34

摘要:很多的应用程序开发平台通常以灵活性和复杂性换取交付的方便性和速度,因此开发人员可以专注于他们的代码。在这里定义PaaS并展示它的优点和缺点。

   很多的应用程序开发平台通常以灵活性和复杂性换取交付的方便性和速度,因此开发人员可以专注于他们的代码。在这里定义PaaS并展示它的优点和缺点。
  
  平台即服务(PaaS)是软件开发的推动者,第三方服务提供商向客户提供一个平台,这样他们就可以开发、运行和管理软件应用程序,而无需自己构建和维护底层基础设施。
  
  大多数“平台即服务”都包含模板或构建包,这些模板或构建包提供了关于应如何构建特定类型应用程序的意见,通常是围绕流行的12因素方法。这就是为什么PaaS选项常常被标记为“固执己见”,并且最适合新的、新领域的应用。
  
  云计算的出现为亚马逊网络服务(Amazon Web Services)、微软(Microsoft)和谷歌(Google)等公司打开了一扇大门,使它们能够将启动应用程序所需的关键构建块整合到一个固执己见的平台上,目的是将部署代码所需的许多更复杂和重复的任务简化为一个命令或单击鼠标。
  
  这种简化使得软件开发更快更容易,并且通过隐藏运行应用程序所需的底层计算、存储、数据库、操作系统和网络资源,减少了开发人员的工作范围。PaaS提供商对这些资源的使用收费,有时还对平台本身的使用收费,可以按用户(或“座位”)收费,也可以按托管的应用程序数量收费。
  
  什么是PaaS
  
  与基础设施即服务(IaaS)和软件即服务(SaaS)等其他云服务一样,PaaS通常通过internet访问,但也可以部署在本地或以混合模式部署。不管怎样,应用程序运行的基础结构都是由服务提供商管理的。在许多情况下,客户可以决定其应用程序的物理宿主位置,并可以选择该环境的性能或安全性,通常需要付出额外的成本。
  
  典型PaaS的构建块包括:
  
  •托管基础设施:提供商管理运行应用程序所需的服务器、存储、数据中心和网络资源。
  
  •设计、测试和开发工具:集成开发环境汇集了实际构建软件所需的工具,包括源代码编辑器、编译器和调试器。一些提供商还提供了协作工具,让开发人员可以共享和贡献彼此的工作。
  
  •中间件:PaaS通常包括集成各种操作系统和用户应用程序所需的工具。
  
  •操作系统和数据库:PaaS提供应用程序运行的操作系统,以及各种托管数据库选项。
  
  PaaS与IaaS
  
  对于许多人来说,PaaS-vs.-IaaS的争论已经被市场解决了,但是在使用底层构建块本身(IaaS)和固执己见的PaaS之间的决定仍然是许多人今天在追求加速应用程序推向市场的过程中要做的决定。
  
  与软件开发中的任何事情一样,这个决定充满了权衡,并且取决于您的组织希望实现什么。
  
  PaaS优势
  
  使用PaaS的最大优点之一是能够快速地创建和部署应用程序,而无需设置和维护它们将在其中运行的环境所需的繁重工作。从理论上讲,这使开发人员能够更快、更定期地进行部署,并将重点放在差异化因素上,而不是解决基础设施供应等问题。
  
  因为PaaS是由服务提供商维护的,并且有服务级别协议和其他保证,所以开发人员不必担心诸如修补和升级之类的繁琐和重复的任务,他们可以确信他们的环境将是高度可用和稳定的,尽管中断仍然会发生。
  
  PaaS也可以成为新的云本地开发技术和编程语言的便捷门户,而无需构建新环境的前期投资。
  
  PaaS风险
  
  大多数与使用PaaS相关的风险归结为失去控制,专业开发人员必须考虑将他们的应用程序移交给第三方提供商。这些风险包括信息安全和数据驻留问题、供应商锁定恐惧和计划外停机。
    
  有了PaaS,开发人员改变开发环境的空间有限,这可能会导致一些团队成员感到束手无策。无法对环境进行更改或无法获得服务提供商部署的功能请求,可能会导致公司的PaaS增长过快,并构建自己的内部开发人员平台。
  
  PaaS示例
  
  领先的PaaS提供商包括Amazon Web Services(AWS)、Google Cloud、Microsoft Azure、RedHat和Saleforce的Heroku。
  
  AWS、MicrosoftAzure和Googlecloud这三大云服务提供商在过去十年中都进行了重大投资,以简化其服务的采用,将自己的云组件整合到一个固执己见的PaaS中,以便于采用。
  
  目前市场上仍有一些主要的PaaS选项包括以下内容。
  
  AWS Elastic Beanstalk
  
  作为首批PaaS选项之一,AWS Elastic Beanstalk能够快速部署和管理云应用程序,而无需了解底层基础设施。ElasticBeanstalk自动处理容量调配、负载平衡、扩展和应用程序运行状况监视的详细信息。
  
  云铸造
  
  云铸造是由云铸造基金会(CFF)管理的开放源码PaaS。它最初由VMware开发,然后转移到PivotalSoftware,这是EMC、VMware和General Electric的合资企业,然后在2015年转移到CFF。CloudFoundry设计用于构建和运行基于容器的应用程序,使用Kubernetes进行协调。
  
  谷歌应用引擎
  
  google appengine是一个PaaS产品,用于在Google管理的数据中心中开发和托管web应用程序。应用程序在多个服务器上自动进行沙盒、运行和缩放。
  
  Microsoft Azure应用服务
  
  Microsoft Azure应用程序服务是一个完全托管的PaaS,它将各种Azure服务组合到一个平台中。
  
  红帽OpenShift
  
  RedHatOpenShift是一个PaaS产品系列,可以云托管或部署在本地,用于构建和部署容器化应用程序。旗舰产品是OpenSHIFT集装箱平台,是由KubNETES在RedHat企业Linux的基础上策划和管理的DOCSK容器周围的一个平台上的PaaS。
  
  Salesforce Heroku公司
  
  Heroku是早期广受欢迎的PaaS,自2010年被SaaS巨头Salesforce收购以来,它可能已经迷失了方向。如今,Heroku是更广泛的Salesforce开发工具平台的一部分,支持多种语言和成千上万在其上运行应用程序的开发人员。实际上,使用Heroku需要构建一个部署在虚拟化Linux容器或dynos中的公共运行时,Heroku称之为分布在AWS服务器的dyno网格中。
  
  PaaS的演变
  
  平台即服务(Platformasaservice)已经成熟为自己的一个重要云服务类别,但它越来越有可能被容器(以及主要供应商正在开发的托管容器即服务(managedcontainerasaservice,简称CaaS))选项、无服务器计算和功能即服务(functionasaservice,简称FaaS)选项所取代,它提供了许多与PaaS相同的优点,但也保证了更大的可移植性、灵活性,并且在无服务器计算的情况下,提供了一个真正只为所用付费的环境。
  
  正如BenKepes在2017年为Computerworld撰写的文章中所述,PaaS已被容器管理和自动化的理念所广泛包含,主要提供商如RedHat、VMware和三大云提供商近年来正朝着放宽容器和Kubernetes采用的方向适当转动。
  
  这并不意味着PaaS必然会消亡,但PaaS已经随着行业广泛转向Kubernetes协调的容器化应用程序而发展。简化软件开发总是有市场的,但是这样做的底层平台随着时代的变化而变化。
  
  编辑:Harris

机房360微信公众号订阅
扫一扫,订阅更多数据中心资讯

本文地址:http://www.jifang360.com/news/2021714/n2375138868.html 网友评论: 阅读次数:
版权声明:凡本站原创文章,未经授权,禁止转载,否则追究法律责任。
相关评论
正在加载评论列表...
评论表单加载中...
  • 我要分享
推荐图片