PaaS平台概述

什么是容器PaaS

平台即服务(PaaS)是一种云计算模型,其中第三方提供商通过互联网向用户提供硬件和软件工具(通常是应用程序开发所需的工具)。 PaaS提供商在其自己的基础架构上托管硬件和软件。 因此,PaaS使开发人员免于必须安装内部硬件和软件来开发或运行新应用程序的麻烦。

PaaS如何运作

如上所述,PaaS不会取代公司用于软件开发的整个IT基础架构。 它是通过云服务提供商的托管基础结构提供的,用户最常通过Web浏览器访问产品。 PaaS可以通过公有,私有和混合云交付,以交付诸如应用程序托管和Java开发之类的服务。

其他PaaS服务包括:

  • 与开发团队合作
  • 应用程序设计与开发
  • 应用程序测试和部署
  • Web服务集成
  • 信息安全
  • 数据库整合

用户按使用量付费使用PaaS。 但是,某些提供商对访问平台及其应用程序收取固定的月租费。

PaaS的优缺点

PaaS的主要好处是为用户提供了简便性-PaaS提供商提供了许多基础架构和其他IT服务,用户可以通过Web浏览器在任何地方访问。按使用付费的能力使企业可以消除传统上用于本地硬件和软件的资本支出。

但是,服务可用性或弹性可能是PaaS所关注的问题。如果提供商遇到服务中断或其他基础设施中断,则可能对客户产生不利影响,并导致生产力损失惨重。

供应商锁定是另一个常见的问题,因为用户无法轻松地将许多服务以及通过一个PaaS产品生成的许多数据迁移到另一种竞争产品。用户在选择PaaS提供商时必须评估服务停机和供应商锁定的业务风险。

PaaS产品的内部更改也是一个潜在问题。例如,如果PaaS提供商停止支持某种编程语言或选择使用其他开发工具集,则对用户的影响可能是困难且具有破坏性的。用户必须遵循PaaS提供商的服务路线图,以了解提供商的计划

PaaS通常不会取代一家企业,这会影响其环境和能力。

PaaS体系结构具有整个IT基础架构。相反,它倾向于合并各种底层的云基础架构组件,例如操作系统,服务器,数据库,中间件,网络设备和存储服务。这些功能均由服务提供商拥有,操作,配置和维护。 PaaS还提供其他资源,包括数据库管理系统,编程语言,库和各种开发工具。
PaaS提供商构建并提供了一个弹性和优化的环境,用户可以在该环境上安装应用程序和数据集。用户可以专注于创建和运行应用程序,而不是构建和维护基础架构和服务。

许多PaaS产品都面向软件开发。这些平台提供了计算和存储基础结构,以及文本编辑,版本管理,编译和测试服务,可帮助开发人员更快,更高效地创建新软件。 PaaS产品还可以使开发团队进行协作,而无论他们身在何处。

PaaS体系结构使其基础结构对开发人员和其他用户隐藏。结果,该模型类似于无服务器计算和功能即服务的架构,其中云服务提供商管理和运行服务器并控制资源的分配。

PaaS的类型

当前,开发人员可以使用各种类型的PaaS。 他们是:

  • 公有PaaS
  • 专用PaaS
  • 混合PaaS
  • 通讯PaaS
  • 移动PaaS
  • OpenPaaS

公有PaaS最适合在公有云中使用。公有PaaS允许用户控制软件的部署,而云提供商则管理托管应用程序所需的所有其他主要IT组件的交付,包括操作系统,数据库,服务器和存储系统网络。

公有PaaS供应商提供了中间件,该中间件使开发人员可以设置,配置和控制服务器和数据库,而无需设置基础结构。结果,公有PaaS和基础架构即服务(IaaS)一起运行,而PaaS在供应商的IaaS基础架构之上运行,同时利用了公有云。不幸的是,这意味着用户只能使用他们可能不想使用的单个公有云选项。

一些中小型企业已采用公有PaaS,但是较大的组织和企业由于与公有云的紧密联系而拒绝接受它。这主要是由于公有云内的企业应用程序开发涉及大量法规和合规性问题而导致的。

私有PaaS旨在提供公有PaaS的敏捷性,同时保持私有数据中心的安全性,合规性,收益并可能降低成本。私有PaaS通常作为设备或软件在用户防火墙内交付,该防火墙通常在公司的本地数据中心中维护。私有PaaS可以在任何类型的基础架构上开发,并且可以在公司的特定私有云中工作。

私有PaaS使组织可以更好地为开发人员提供服务,改善内部资源的使用并减少许多公司面临的昂贵的云计算蔓延。此外,私有PaaS允许开发人员部署和管理其公司的应用程序,同时还遵守严格的安全性和隐私要求。

混合PaaS将公有PaaS和私有PaaS结合在一起,为公司提供了公有PaaS提供的无限容量的灵活性以及在私有PaaS中拥有内部基础架构的成本效率。混合PaaS利用混合云。

Communication PaaS(CPaaS)是一个基于云的平台,允许开发人员在不使用后端基础结构和接口的情况下向其应用程序添加实时通信。通常,实时通信发生在专门为这些功能构建的应用程序中。示例包括Skype,FaceTime,WhatsApp和传统手机。

CPaaS提供了用于创建实时通信功能的完整开发框架,而无需开发人员构建自己的框架,包括基于标准的应用程序编程接口,软件工具,预构建的应用程序和示例代码。

CPaaS提供程序还通过提供支持和产品文档帮助用户整个开发过程。一些提供商还提供软件开发工具包以及可以帮助在不同的台式机和移动平台上构建应用程序的库。选择使用CPaaS的开发团队可以节省基础架构,人力资源和上市时间。

移动PaaS(MPaaS)是使用付费集成开发环境来配置移动应用程序。在mPaaS中,不需要编码技能。 MPaaS通过Web浏览器交付,通常支持公有云,私有云和本地存储。该服务通常按月租用,价格随所含设备和支持功能的数量而异。

MPaaS通常提供一个面向对象的拖放界面,通过直接访问设备的GPS,传感器,照相机和麦克风等功能,用户可以简化HTML5或本机应用程序的开发。它通常支持各种移动操作系统。

公司经常使用MPaaS来创建将提供内部使用和面向客户的应用程序。此实现可促进BYOD环境和生产力应用程序的发展,而无需移动应用程序开发人员或额外的IT支持。

OpenPaaS是一个免费的,开源的,面向业务的协作平台,在所有设备上都很有吸引力,并提供有用的Web应用程序,包括日历,联系人和邮件应用程序。 OpenPaaS旨在允许用户快速部署新应用程序,其目的是开发一种致力于企业协作应用程序的PaaS技术,特别是在混合云上部署的应用程序。

PaaS的使用

PaaS解决方案经常用于移动应用程序的开发中。但是,许多开发人员和公司也使用PaaS来构建跨平台应用程序,因为它提供了灵活而动态的解决方案,能够创建几乎可以在任何设备上运行的应用程序。

PaaS的另一种用法是在DevOps工具中。 PaaS提供了应用程序生命周期管理功能以及适合公司产品开发方法的特定功能。该模型还允许DevOps团队插入基于云的持续集成工具,这些工具可以添加更新而不会造成停机。此外,遵循瀑布式模型的公司可以使用与日常管理相同的控制台来部署更新。

PaaS还可以通过自动执行或完全消除内务处理和维护任务来减少应用程序的上市时间。此外,PaaS可以通过减轻管理可伸缩基础架构的负担来减少基础架构管理。 PaaS消除了负载平衡,扩展和分发新的依赖服务的复杂性。 PaaS提供者无需承担开发人员控制这些任务的责任。

此外,借助PaaS现在提供的更新编程语言和技术(例如无服务器功能和容器)的支持,开发人员可以使用该模型引入技术发展的新渠道。这尤其适用于技术变革缓慢的行业,例如银行业和制造业。 PaaS使这些组织可以适应最新的产品,而无需完全更改其业务流程。

平台即服务示例

PaaS提供程序的许多示例提供了在云中构建企业应用程序所需的工具和服务。 领先的提供商包括:

  • Google
  • Microsoft
  • Amazon Web Services (AWS)
  • com
  • IBM
  • Red Hat
  • Pivotal
  • Oracle
  • Heroku
  • Mendix
  • Engine Yard

Google App Engine支持使用Java,Python,PHP和Go的分布式Web应用程序。 Red Hat OpenShift是一种Pa​​aS产品,用于使用多种语言,数据库和组件来创建开源应用程序。 Heroku PaaS提供Unix样式的容器计算实例,这些实例在隔离的环境中运行进程,同时支持Ruby,Python,Java,Scala,Clojure和Node.js等语言。

Microsoft Azure支持.NET,Node.js,PHP,Python,Java和Ruby中的应用程序开发,并允许开发人员使用软件开发人员工具包和Azure DevOps创建和部署应用程序。

AWS Elastic Beanstalk允许用户在Apache,Nginx,Passenger和IIS等常见服务器上创建,部署和扩展使用Java,.NET,PHP,Node.js,Python,Ruby,Go和Docker开发的Web应用程序和服务。

尽管许多PaaS提供商都提供类似的服务,但是每个提供商都有其细微的差别和局限性。用户必须测试潜在的提供商,以确保其服务满足任何业务或技术要求,例如支持的语言和服务可用性,这一点很重要。

PaaS,IaaS和SaaS之间的区别

PaaS是云计算服务的三个主要类别之一。 另外两个是软件即服务(SaaS)和基础架构即服务(IaaS)。

比较云计算服务模型:
下表提供了三种云计算服务类别的描述

借助IaaS,提供商可以提供基本的计算,存储和网络基础结构以及虚拟机管理程序-虚拟化层。 然后,用户必须创建虚拟机,安装操作系统,支持应用程序和数据,并处理与这些任务相关的所有配置和管理。

借助PaaS,提供商可以提供比IaaS解决方案更多的应用程序堆栈,并将操作系统,中间件(例如数据库)和其他运行时添加到云环境中。

借助SaaS,提供商可以提供整个应用程序堆栈。 用户只需登录并使用完全在提供商的基础架构上运行的应用程序即可。


相关链接

平台即服务(PaaS)