最近某位大神在推特上发了一个帖子,结果引来了国内众多卖课机构、培训机构的狂欢,开始贩卖焦虑,其实「平台工程」也不是什么特别高深莫测的东西。闲得无聊,把这位大神的几个帖子薅了下来,你看过之后就会觉得没啥,都是熟悉的东西。

Sid Palas & 平台工程

这位大神的名字叫 Sid Palas,一位专门做 DevOps 和 Cloud infra 相关工作的小伙伴。为了让大家了解他,他的 github 我附在最后了。下面就是这个非常有意思的帖子。原帖可以到推特上去围观。共有六部分,第一部分我贴了原图,后面的五部分我把文字复制了过来。

DevOps is dead , long live Platform Engineering! 1) Developers don't like dealing with infra 2) Companies need control of their infra as they grow. Platform Engineering (and Internal Developer Platforms) enable these two facts to coexist.

DevOps 已死,平台工程永存。1) 开发人员不喜欢与基础设施打交道 2) 公司在发展时需要控制他们的基础设施。平台工程(以及内部开发者平台)可以同时满足这两个诉求。

Fact 1: Most developers don't like dealing with infrastructure. They want to write code and run it somewhere but don't care much where that is. Functions as a Service (e.g. Lambda) or Platforms as a Service (e.g. Vercel) provide this experience.

事实 1:大多数开发人员不喜欢处理基础设施。他们想编写代码并在某个地方运行它,但不太关心运行在哪里。函数即服务(例如 Lambda)或平台即服务(例如 Vercel)提供了这种体验。

Fact 2: As a company/organization grows, its needs may "outgrow" the constraints imposed by the FaaS and PaaS offerings. The challenge then becomes moving up the control axis without exiting the Developer Comfort Zone. This is where platform engineering comes into play!

事实 2:随着公司/组织的发展,其需求可能会“超出”由 FaaS 和 PaaS 产品施加的限制。然后挑战变成在不离开开发者舒适区的情况下向上移动控制轴。这就是平台工程发挥作用的地方!

Platform engineers build the tooling and abstractions around the complex infrastructure configurations such that most software engineers don't need to worry about those aspects as much. The resulting system is what is known as an "Internal Developer Platform" (IDP)

平台工程师围绕复杂的基础架构配置构建工具和抽象,这样大多数软件工程师就不必担心这些方面。由此产生的系统就是所谓的“内部开发者平台”(IDP)

The exact form of an IDP will vary greatly from one organization to the next. At a small company, it could be a set of helm charts that prescribe best practices for deploying services. At a large company, it might be a fully automated Infrastructure as Code solution.

IDP 的形式因组织而异。在一家小公司,它可能是一组说明部署服务最佳实践的 helm charts 。在一家大公司,它可能是一个完全自动化的基础设施即代码的解决方案。

The key is that it provides the control the company needs while keeping the DevOps effort within the Developer Comfort Zone!

关键是它提供了公司所需的控制,同时将 DevOps 工作保持在开发人员舒适区内!

平台工程价值观

Sid Palas 的观点非常简单、直接、好理解:平台工程团队以及他们负责的内部开发者平台,向下维护底层基础设施,向上给开发人员提供服务。开发人员自助式使用这个平台,避免直接与底层基础设施打交道。

其实目前很多公司已经这么做了,这不是什么新鲜东西。只不过不同规模的公司,这个开发者平台的成熟度不一样。这一点 Sid Palas 自己也提到了。而在我了解到的公司一般分为三种情况。1)在公司规模比较小的时候,业务也比较少,谁来负责维护开发者平台是可以商量的。找几个开源工具就能满足需求,让开发团队或者运维团队哪个团队维护都可以。我见过研发实力强,让研发团队维护的,也见过运维实力强,让运维团队维护的;2)中等规模的公司,这个时候都会有专门的研发效能团队,或轻或重,也都会有自己的 IDP 平台了,哪怕是几个开源工具「粘合」到一起组装而成;3)大的公司则不必说,不但有专门平台,甚至每个专项都会有专门的团队来支撑。

另外就是国内研发效能团队的业务边界是比平台工程范围广的。不仅仅负责底层基础设施IaaS、k8s、PaaS、FaaS这些,所有和产研相关的平台都有涉及,比如测试相关、项目协同等。

优化开发者体验

平台工程是一套用来构建和运营支持软件交付和生命周期管理的自助式内部开发者平台的机制和架构。平台工程的目标是优化开发者体验并加快产品团队为客户创造价值的速度。

对我个人而言,我更喜欢《Gartner发布2023年十大战略技术趋势》这篇文章中给出的平台工程的解释(如上)。因为相对于之前的很多概念和实践,这里不但提到了交付价值,更是首次提到了「优化开发者体验」。这一点是非常难能可贵的。之前很多公司都没有注意到这一点。

内部开发者平台反例

现在很多公司都开始做内部开发者平台,有的叫发布系统,有的叫项目管理平台,叫什么无所谓,但都有一个共同点就是做得太「烂」了。这些平台没有聚焦到导致开发进度放缓的开发痛点和阻力的解决方案上,反而是拍脑门想了很多看上去「高大上」实际上对一线产研工作没有毛作用反而加重了一线产研工作量让大家怨声载道的功能上。让一线产研小伙伴苦不堪言,内网骂完外网骂。这就是内部开发者平台的典型反例。

相关文章

二三线互联网公司怎么做好研发效能

https://mp.weixin.qq.com/s/x9N-xWv8fenj7_xHxnif3Q

DevOps 已死,平台工程才是未来

https://www.infoq.cn/article/7porVp7qVF03BVc2tDd6

Gartner发布2023年十大战略技术趋势

https://mp.weixin.qq.com/s/x9N-xWv8fenj7_xHxnif3Q

聊聊 “DevOps 已死”
https://my.oschina.net/jianmu/blog/5582494

扯淡的DevOps,我们开发者根本不想做运维

https://mp.weixin.qq.com/s/ZLIdcZOAAKHRl2KvRsxkGA

scmroad 主要关注领域 { 研发效能、研发工具链、持续交付、DevOps、效能度量、微服务治理、容器、云原生}

感谢点赞、转载
关注我,了解研发效能发展动向
欢迎进入「DevOps研发效能群」一起探讨

研发效能|DevOps 已死平台工程永存带来的焦虑的更多相关文章

  1. 研发效能|Kubernetes核心技术剖析和DevOps落地经验

    本文主要介绍Kubernetes 的核心组件.架构.服务编排,以及在集群规模.网络&隔离.SideCar.高可用上的一些使用建议,尤其是在CICD中落地,什么是 GitOps. 通过此文可彻底 ...

  2. 「产品运营」研发效能之DevOps平台如何运营?

    有人常说「酒香不怕巷子深」.不是的,如果这个巷子是酒吧街,那最深的那家酒吧肯定是租金最便宜的.酒吧的地段好坏已经在租金价格上体现出来了.现在已经不是那个工具缺乏.有个工具就拍手称快.欣然去试用的时代了 ...

  3. 互联网研发效能之去哪儿网(Qunar)核心领域DevOps落地实践

    本文从业务目标角度出发,确定了开源+自建模式搭建 Qunar 研发工具链整体生态:通过 APPCODE 打通工具链,流程规范化自动化:多种手段+发布门禁助力质量提升:建立应用画像确定运维最小单元,可发 ...

  4. DevOps|从特拉斯辞职风波到研发效能中的不靠谱人干的荒唐事

    今天发生了一件大事特拉斯辞任英国首相,我想借着这件事情说下我看到的一件研发效能的荒唐事,这其中的关联也许就是「都用了不靠谱的人」. 两件事情 今儿一早就听到,2022年10月20日英国第78任首相伊丽 ...

  5. DevOps | 如何快速提升团队软件开发成熟度,快速提升研发效能?

    今天一个小伙伴问我,如何「快速提升」一个团队的软件开发成熟度?我犯难了.我个人理解一个团队的软件开发成熟度涉及的东西很多,但最简单最直接的方法就是发钱涨工资,可是估计很多公司不愿意,那就只有扣了. 快 ...

  6. 研发效能生态完整图谱&DevOps工具选型必看

    本文主要梳理了研发效能领域完整的方向图谱以及主流工具,其中对少部分工具也做了一些点评.看了之后,大家可以对研发效能这个领域有个整体认识,同时研发效能落地的时候也有对应的工具(黑话叫抓手)可以选择. 我 ...

  7. [转载]致创业者:APP已死 服务永生

    前几日,有位创业者和我讲他在带领团队做一个将爱踢球的人集中在一起的App,我告诉他你的创业方向错了.原因在于你的目的是要为爱踢球的人提供服务,而你现在却在竭尽全力的做App,你应该做的是设计你为爱踢球 ...

  8. 致创业者:APP已死 服务永生

    前几日,有位创业者和我讲他在带领团队做一个将爱踢球的人集中在一起的App,我告诉他你的创业方向错了.原因在于你的目的是要为爱踢球的人提供服务,而你现在却在竭尽全力的做App,你应该做的是设计你为爱踢球 ...

  9. 人力节省 50%,研发效能提升 40%,阿里 Serverless 架构落地实践

    作者 | 万佳 嘉宾 | 杨皓然(不瞋) 导读:云的下一波浪潮是什么?杨皓然称"是 Serverless".作为一名阿里老兵,他早在 2010 年即加入阿里云,曾深度参与阿里云飞天 ...

随机推荐

  1. 监督学习集成模型——AdaBoost

    一.集成学习与Boosting 集成学习是指将多个弱学习器组合成一个强学习器,这个强学习器能取所有弱学习器之所长,达到相对的最佳性能的一种学习范式. 集成学习主要包括Boosting和Bagging两 ...

  2. ASP.NET CORE在docker中的健康检查(healthcheck)

    在使用docker-compose的过程中,很多程序都提供了健康检查(healthcheck)的方法,通过健康检查,应用程序能够在确保其依赖的程序都已经启动的前提下启动,减少各种错误的发生,同时,合理 ...

  3. 文件分享工具ShareLocalFile不需要云盘的实时上传下载文件的云盘工具可以搜索整个网络的文件

    工具的下载地址:https://comm.zhaimaojun.cn/AllSources/ToolDetail/?tid=9693 这是一个未来的项目,可以分享我们的文件,目前由于个人的技术水平限制 ...

  4. Taurus.MVC 微服务框架 入门开发教程:项目部署:4、微服务应用程序发布到Docker部署(上)。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...

  5. 简易的AutoPlayCarousel 轮播控件

    原理是使用StackPanel 的margin属性的偏移来实现轮播的效果 废话不多说直接上代码 AutoPlayCarousel核心代码 [ContentProperty(nameof(Childre ...

  6. C++ 性能小测 1 二维数组的遍历效率

    C++ 性能小测 1 二维数组的遍历效率 遍历二维数组时,常规思路是使用一个嵌套循环.一方面,由于 CPU 使用了分支预测技术,因此通常将循环次数最多循环的放在最内层.另一方面,由于二维数组是按行存储 ...

  7. MixCSE:困难样本在句子表示中的使用

    Unsupervised Sentence Representation via Contrastive Learning with Mixing Negatives 论文地址:https://www ...

  8. Java数据类型扩展及面试题讲解

    这是关于数据类型的面试题,还是比较重要的. 1.整数拓展: 我们肯定都或多或少知道一个问题,叫进制问题.咱们常见的电脑里的二进制,然后咱们平时生活中用的是十进制,然后咱们工作的时候还有一个十六进制跟八 ...

  9. [网鼎杯 2020 朱雀组]phpweb-1|反序列化

    1.打开界面之后界面一直在刷新,检查源代码也未发现提示信息,但是在检查中发现了两个隐藏的属性:func和p,抓包进行查看一下,结果如下: 2.对两个参数与返回值进行分析,我们使用dat时一般是这种格式 ...

  10. openstack中Keystone组件简解

    一.Keystone服务概述 在Openstack框架中,keystone(Openstack Identity Service)的功能是负责验证身份.校验服务规则和发布服务令牌的,它实现了Opens ...