Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >回归PaaS:构建我们梦想中的平台

回归PaaS:构建我们梦想中的平台

作者头像
云云众生s
发布于 2025-01-25 11:16:04
发布于 2025-01-25 11:16:04
29904
代码可运行
举报
文章被收录于专栏:云云众生s云云众生s
运行总次数:4
代码可运行

使用现代 PaaS 重新发现应用部署的简易性。了解 Heroku 等云原生工具如何改变生产力。

译自 Return to PaaS: Building the Platform of Our Dreams,作者 Doug Sillars。

回想云计算时代的初期。将本地主机上运行的应用程序部署到云中的过程复杂而费力。开发人员会花费数小时创建云环境、数据库服务器。构建部署管道来构建和启动我们的产品导致了额外的启动时间,从而减缓了创新速度和开发人员交付成品的能力。

随后出现了旨在简化应用程序部署到云中的产品,将平台即服务 (PaaS) 引入应用程序开发领域。无论您的应用程序是用什么语言编写的,您只需git push您的代码,平台就会完成其余工作。几分钟内,您的应用程序就会部署并上线。

例如,Heroku 的平台彻底改变了云优先部署,将您的应用程序容器化到带有内置数据库支持的 dynos 中。部署应用程序到云的复杂性消失了。开发人员的生产力提高了——他们不必担心棘手的云基础设施,而是可以回到编写应用程序的工作中。

但是现在,日益复杂的云工具正在减缓开发人员的生产力,并掩盖了 DevOps 的最初承诺。随着技术栈的扩展和基础设施需求的增加,开发人员失去了专注于交付应用程序价值的能力。为了解决这个问题,我们需要简化云部署的解决方案,并允许团队专注于构建优秀的应用程序。

复杂性和开发人员痛苦的回归

当然,自从 Heroku 首次推出以来,云计算发生了很大的变化。PaaS 和容器化的成功已推动整个行业优先部署到云中。应用程序现在默认情况下是云原生的,因此,已经构建了整个生态系统来帮助开发人员启动云原生应用程序。DevOps 的承诺导致开发人员不仅拥有应用程序代码,还负责运行应用程序的基础设施的运营和维护。

这导致了云计算领域更大的创新。Kubernetes (K8s) 被称为“云的操作系统”。K8s 旨在帮助编排容器的使用——在我们的基础设施中部署、扩展和管理代码。在一个生态系统中控制所有DevOps 需求的能力已导致 K8s 在全球范围内被广泛采用。

K8s 平台上的创新导致了数千种开发人员工具和产品的创建,这些工具和产品建立在 K8s 之上并改进在 K8s 之上构建平台。可以使用强大的开源云原生工具生态系统来解决无数问题。

但是:

  • 无数的工具和选项会带来成本,从而减缓开发团队的速度。
  • 团队面临着确定合适的工具、实施它们和维护平台的挑战。
  • 技术栈呈指数级增长,增加了复杂性和认知负担。
  • “你构建它,你拥有它”的 DevOps 原则分散了开发人员对交付应用程序价值的注意力。
  • 团队越来越被维护复杂的解决方案所拖累,仅仅是为了启动应用程序。
Diagram of a complex Kubernetes architecture
Diagram of a complex Kubernetes architecture

Kubernetes 的复杂性,基于“Navigating Kubernetes Complexity (Part I)”中的图表。

请记住,我们构建的不是云部分;我们构建的是在该云上运行的应用程序。我们再次看到团队被用于启动应用程序的复杂解决方案的支持和维护所拖累。

平台工程:控制复杂性

大型组织更有可能拥有支持平台工程师团队的预算——一个在构建和部署云平台方面拥有深厚专业知识的团队。平台工程团队 为组织内部的 DevOps 实践提供标准化和自动化。他们创建内部开发人员平台,允许内部开发人员简单地选择他们需要的基础设施类型,它将为他们创建。

Triangle with K8s infrastructure at the bottom, platform engineering in the center, and developer teams at the top
Triangle with K8s infrastructure at the bottom, platform engineering in the center, and developer teams at the top

平台工程团队的组建旨在为DevOps提供标准化和自动化。

这通过减少DevOps领域的范围,降低开发人员的认知负荷并简化云部署来提供更好的开发人员体验。

组织可以通过引入专门的平台工程团队来减轻技术栈庞杂和简化云操作的挑战。但是,并非所有组织都拥有实施这些专业团队的资源。这加剧了对更现代化解决方案的需求。

现代PaaS的引入:云优先和K8s

K8s已成为在云中部署容器化应用程序的首选平台。较小的组织可能没有时间或专业知识来创建平台工程团队或构建定制的云开发平台。较大的组织可能希望简化某些应用程序,而无需与他们的平台工程团队进行内部部署讨论。在许多情况下,我们可以利用构建在现代K8s云栈之上的现有开发人员云平台。这是现代平台即服务的回归。

现代PaaS——例如Heroku最近推出的下一代PaaS——是基于现代云部署的最佳实践构建的。您构建您的应用程序,Heroku创建容器(使用Cloud Native Buildpacks)。Heroku利用其K8s专业知识来管理和编排您的应用程序,并抽象掉所有复杂性。例如,无需成为容器可观察性专家,因为OpenTelemetry已内置并连接到Heroku Metrics,并可通过Heroku软件开发工具包(SDK)访问。

开发人员(甚至您的平台工程团队)不再需要一遍遍地进行相同的部署;PaaS会为您处理,使工程师能够专注于其核心职责。

总结

在云计算的早期,PaaS服务帮助开发人员绕过了云部署的复杂性和挫败感,以便他们可以专注于他们的应用程序。随着云计算的发展和壮大,云工具生态系统的功能和复杂性呈指数级增长。虽然这些工具为开发团队提供了更多功能和灵活性,但实施所需工具的规模正在降低开发人员的生产力和交付的操作复杂性。

云原生平台即服务的回归意味着团队可以依靠行业专家来构建并从其云平台中抽象出复杂性。开发人员的生产力得到了提高,因为他们可以专注于构建和交付应用程序——知道他们的应用程序的部署和管理正在由PaaS安全地管理。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-01-242,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【第三篇】Camunda系列-整合SpringBoot
  在工作流引擎中流程设计器是一个非常重要的组件,而InterlliJ IDEA是Java程序员用到的最多的编程工具了。前面在基础篇的介绍中我们都在通过Camunda提供的流程设计器绘制好流程图,然后需要单独的拷贝到项目中,要是调整修改不是很方便,这时我们可以在IDEA中和流程设计器绑定起来。这样会更加的灵活。
用户4919348
2022/10/08
12.2K0
【第三篇】Camunda系列-整合SpringBoot
Spring Boot + flowable 快速实现工作流
来源:https://blog.csdn.net/duan18888/article/details/124881904 今天分享一个不错的工作流引擎:flowable! 1. flowable-ui部署运行 flowable-6.6.0 运行 官方demo 参考文档: “ https://flowable.com/open-source/docs/bpmn/ch14-Applications/ ” 1、从官网下载flowable-6.6.0 : https://github.com/flowable/fl
程序猿DD
2023/04/04
1.4K0
Spring Boot + flowable 快速实现工作流
SpringBoot+flowable快速实现工作流,so easy!
点击上方“芋道源码”,选择“设为星标” 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java 2021 超神之路,很肝~ 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析 作业调度中间件 Elastic-Job 源码解析 分布式事务中间件 TCC-Transaction
芋道源码
2022/03/04
3.4K0
Spring Boot + Activiti 完美结合,快速实现工作流~
关于工作流之前分享过一篇flowable,今天分享一下另外一个实现:Activiti
码猿技术专栏
2023/05/01
1.3K0
Spring Boot + Activiti 完美结合,快速实现工作流~
采用springboot+flowable快速实现工作流
对于JAVA领域来说一说起工作流框架第一浮现我在脑海中的便是大名鼎鼎的Activiti了。很久以前学习Activiti框架时我也曾记录过一篇文章。见链接:工作流框架Activiti常用功能初探 尽管当时只是学习了一下在之后的相关工作和项目中并没有用到,通过学习后了解了下, 仅对于知识广度进行了扩宽。
全栈程序员站长
2022/07/01
1.9K0
采用springboot+flowable快速实现工作流
Spring Boot 整合 Activiti 6.0.0 工作流引擎开发
本教程基于Activiti 6.0.0 ,着力介绍工作流引擎Activiti6.0.0引擎和Spring Boot的整合开发,帮助初学者入门。
架构探险之道
2019/07/25
4.1K0
史上最全的工作流引擎 Activiti 学习教程(值得收藏)
点击上方“芋道源码”,选择“设为星标” 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java 2021 超神之路,很肝~ 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析 作业调度中间件 Elastic-Job 源码解析 分布式事务中间件 TCC-Transaction
芋道源码
2022/05/23
2.7K0
史上最全的工作流引擎 Activiti 学习教程(值得收藏)
Spring Boot 整合流程引擎 Flowable,so easy!
tienchin 项目出视频啦~松哥手把手教你在 RuoYi-Vue 脚手架上做二次开发,一起做一个完成率超 90% 的项目,戳戳戳这里-->TienChin 项目配套视频来啦。 为啥想写 flowable 呢?原因很简单,因为最近在录的 tienchin 项目视频会用到,先写一篇文章和大家打打预防针,后面视频再细讲。 流程引擎,也算是一个比较常见的工具了,我们在日常的很多开发中都会用到,当然用的最多的就是 OA 系统了,但是在一些非 OA 系统中,我们也会涉及到,比如一个 CRM 中,可能会有合同管理的需
江南一点雨
2022/05/06
2.8K0
Spring Boot 整合流程引擎 Flowable,so easy!
七万字掌握热门工作流引擎框架Activiti7,附带视频讲解哦
  工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。文章中涉及的相关软件资料扫左侧哦。
用户4919348
2022/01/07
1.5K0
七万字掌握热门工作流引擎框架Activiti7,附带视频讲解哦
七、springboot整合flowable(工作流)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/143284.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/31
2.9K0
七、springboot整合flowable(工作流)
SpringBoot整合Activiti工作流(附源码)
Activiti是一个开源的工作流引擎,它实现了BPMN 2.0规范,可以发布设计好的流程定义,并通过api进行流程调度。Activiti 作为一个遵从 Apache 许可的工作流和业务流程管理开源平台,其核心是基于 Java 的超快速、超稳定的 BPMN2.0 流程引擎,强调流程服务的可嵌入性和可扩展性,同时更加强调面向业务人员。
搜云库技术团队
2020/01/16
12.6K0
SpringBoot整合Activiti工作流(附源码)
Flowable 任务如何认领,回退?
上篇文章松哥和大家分享了 Flowable 中设置任务处理人的四种方式,不过那四种方式都是针对单个任务处理人,有的时候,一个任务节点会存在多个候选人,例如 zhangsan 提交一个任务,这个任务即可以 lisi 处理,又可以 wangwu 处理,那么针对这种多个任务候选人的情况,我们该如何处理?今天一起来看看。
江南一点雨
2023/01/04
1.6K0
Flowable 任务如何认领,回退?
在springBoot项目中使用activiti
http://www.jvm123.com/2019/08/springboot-activiti/
yawn
2018/03/14
9.8K1
在springBoot项目中使用activiti
SpringBoot入门建站全系列(十九)集成Activiti做工作流
Activiti作为一个流行的开源工作流引擎,正在不断发展,其6.0版本以API形式提供服务,而之前版本基本都是要求我们的应用以JDK方式与其交互,只能将其携带到我们的应用中,而API方式则可以服务器独立运行方式,能够形成一个专网内工作流引擎资源共享的方式。
品茗IT
2019/08/23
1.3K0
【第十七篇】Flowable整合Springboot环境
  Flowable在Java项目中开发我们更多的还是会在SpringBoot环境中来使用,所以整合SpringBoot环境还是必不可少的。具体我们来看看如何实现
用户4919348
2022/04/13
3.4K0
【第十七篇】Flowable整合Springboot环境
activiti6.0工作流引擎深度解析_自定义工作流引擎
工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。
全栈程序员站长
2022/09/27
3K0
activiti6.0工作流引擎深度解析_自定义工作流引擎
流程引擎activiti原理_activiti流程引擎原理
4、springboot2.0整合工作流activiti6.0以及与业务集成时的一些坑
全栈程序员站长
2022/11/01
5.2K0
流程引擎activiti原理_activiti流程引擎原理
SpringBoot集成Activiti6教程
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/162631.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/16
1.1K0
SpringBoot集成Activiti6教程
搭建单体SpringBoot项目 集成Activiti7 进阶
一个流程实例包括了所有的运行节点。我们可以利用这个对象来了解当前流程实例的进度等信息。
郭顺发
2023/07/17
7020
搭建单体SpringBoot项目 集成Activiti7 进阶
Activiti7入门Demo
需要注意的是idea64.exe.vmoptions 这个文件可能有多个,别改错了。
诺浅
2020/08/21
1.1K0
Activiti7入门Demo
推荐阅读
相关推荐
【第三篇】Camunda系列-整合SpringBoot
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验