平台即服务
平台即服务 (PaaS) 如何为现代敏捷和 DevOps 团队提供支持

Kev Zettler
全栈 Web 开发人员
平台即服务 (PaaS) 是一个云基础架构层,提供用于构建用户级工具和应用的资源。它包括底层基础架构,包括计算、网络和存储资源,以及开发工具、数据库管理系统和中间件。
如今,软件开发团队现在可以立即访问支持整个应用生命周期所需的所有资源,包括设计、开发、测试、部署和托管应用。这一切都可以通过平台即服务 (PaaS) 直接从云端完成。团队可以按需访问所需的资源,而无需购买和维护复杂的本地基础架构。
PaaS 是现代云基础架构的主要层。基础堆栈是基础架构即服务 (IaaS),它提供计算、网络和存储资源。PaaS 处于 IaaS 和软件即服务 (SaaS) 之间的中间位置。PaaS 依赖于 IaaS,但也支持 SaaS。
免费试用 Compass
改善您的开发人员体验、为所有服务编制目录,并改善软件运行状况。
什么是平台即服务?

PaaS 是一个云基础架构层,提供用于构建用户级工具和应用的资源。与 IaaS 一样,这些资源包括服务器、存储和网络。PaaS 还包括开发工具、数据库管理系统、中间件、电子邮件或通知系统等。
由于 PaaS 是基于云的基础架构,它使组织可以避免购买和管理基础架构资源(包括软件许可证、应用基础架构和开发工具)的成本和复杂性。
PaaS 中的“平台”是指编程语言生态系统或“技术堆栈”。流行的基于语言的应用技术堆栈包括 Ruby on Rails、Django Python、Node.js MEAN 堆栈、Java SpringMVC 等。这些语言堆栈示例取决于附加的数据库系统。
相关资料
基础设施即服务
查看解决方案
使用 Compass 改善您的开发人员体验
平台即服务的优势
与其他云服务一样,PaaS 提供可根据需要扩展的按需资源。在此之前,团队需要购买自己的硬件,然后自己配置服务器、数据库、防火墙和所有其他组件。然后,团队必须维护、扩展和监控其自定义基础架构。PaaS 还有许多其他优势。
赋能敏捷和 DevOps 实践
PaaS 支持更快的编码、测试和部署——敏捷和 DevOps 团队的一些关键实践。此外,PaaS 是 CI/CD 发布工作流程的直接补充,有助于实现完整的 DevOps 发布周期。鉴于构建、测试、部署、管理和更新的软件生命周期,PaaS 处理部署阶段。
更快的上市时间
使用平台即服务,开发人员可以将精力完全放在代码上,而不是构建、配置和调配基础架构和平台,或构建自动扩展功能。这大大缩短了新项目的开发时间。此外,PaaS 还提供对工具、模板和代码库的访问,从而缩短开发时间并简化流程。
根据需要进行扩展
PaaS 主机通常提供弹性扩展功能,使团队能够在高峰时段快速增加容量并根据需要缩小容量。扩展由 PaaS 提供商自动处理。
经济高效的开发
PaaS 允许团队在不增加人员的情况下添加开发功能,从而降低工程成本。组织不再需要安装和管理底层开发基础架构。
平台即服务提供商提供有用的仪表板来分析和管理基础架构成本。这些成本分析工具可帮助团队审核任何意外或浪费开支的领域。此外,这些工具可帮助团队优化部署成本。如果没有这些成本洞察,团队可能会发现他们的基础架构支出意外增长。
支持分布式开发团队
由于平台即服务是一种云服务,因此它支持分布式团队之间的协作。平台即服务提供商拥有全球分布式的硬件,这意味着可以从任何位置以更低的成本访问部署到 PaaS 的应用。
安全和访问控制
大多数 PaaS 提供商都有精细的安全和访问控制工具,使团队能够快速配置对 PaaS 资源的访问权限。这对于公司和客户安全团队的访问级别都很重要。这为团队提供了保证,他们的基础架构已被锁定,以防止数据泄露或其他不良的安全故障情况。
平台即服务用例
PaaS 用于部署用户就绪的应用代码可执行文件,包括完整的 SaaS Web 应用,如 CRM、仪表板、聊天室等。PaaS 可执行文件还包括后端 API 或微服务。除了应用代码之外,负载均衡器、通知管道和延迟作业系统等补充工具还可以与应用代码一起部署。
API 开发和管理
API 是任何现代分布式应用的重要组件,而 PaaS 提供的内置框架极大地简化了 API 的开发和管理。API 通常用于使外部系统与内部应用资源连接,或连接微服务应用架构中的不同组件。
微服务
PaaS 是微服务的补充,对部署帮助很大。借助 PaaS,可以轻松部署多个微服务应用,并将它们配置为相互通信。大多数 PaaS 提供商都有用户界面仪表板,可直观地描述当前部署。这使团队能够更好地查看和掌握其实时微服务部署的布局。
多阶段环境
PaaS 可以快速部署多阶段环境,如开发、暂存和生产。这为团队提供了更多的质量保证,因为他们可以通过多个阶段验证正确的应用行为。如果应用在暂存中按预期运行,那么将其部署到生产环境就很简单了。
数据库托管
大多数应用依赖于某种类型的持久数据存储。由于这种情况非常普遍,PaaS 提供商将数据库部署和管理作为核心功能提供。团队可以绕过 PaaS 应用托管,将 PaaS 纯粹用于数据库访问。这种模式非常普遍,以至于一些 PaaS 提供商为仅限数据库的功能提供特定的计费计划。
业务分析/情报
大多数 PaaS 产品都包含用于执行业务分析和情报的应用和框架,从而大大简化了开发人员的生活。这些解决方案使应用开发人员可以更轻松地为用户提供做出明智的业务决策所需的所有数据和指标。
沟通
通信功能对于任何现代应用都是必不可少的,PaaS 提供通信工具和框架来支持短信、电子邮件、语音等技术,使开发人员可以轻松地向其应用添加通信功能。
内部工具和私有仪表板
内部工具非常适合 PaaS 部署,因为它们不需要特殊的一次性基础架构依赖关系。内部工具汇总了内部指标的视图,不需要高级的弹性扩展,因为它们由一部分内部利益相关者访问。即便如此,PaaS 默认提供弹性扩展。
总结...
PaaS gives infrastructure and development resources to small and large development teams alike. It allows teams to access the resources they need, when they need it, and to scale accordingly. PaaS enables faster execution and more frequent software releases, making it a favorite technology for teams practicing agile and DevOps.
准备好将 PaaS 与您的 DevOps 工作流程集成?开始使用 DevOps
分享此文章
下一主题
推荐阅读
将这些资源加入书签,以了解 DevOps 团队的类型,或获取 Atlassian 关于 DevOps 的持续更新。

Compass 社区

教程:创建组件
