SRE 的黄昏,平台工程的初晨

BitOrbit
• 阅读 336

SRE 的黄昏,平台工程的初晨

船停在港湾是最安全的,但这不是造船的目的

完成使命的 SRE

过去 10 年,SRE 完成了体系化保障系统稳定性的使命。但在这个过程中,SRE 也逐渐变成了庞大的组织。而 SRE 本身的定位是保障系统稳定性,许多时候会因为担心稳定性而减缓发布。虽然我们希望软件的发布又快又稳,但无论是根据日常经验,还是从 DORA 的报告中,我们都能看到软件交付表现 (Software delivery performance) 和运行表现 (Operational performance) 整体上还是此消彼长的情况。

那有什么可以打破这个困局呢,DORA 在 2023 年的报告中也给出了答案,引入以用户为中心 (user-centric) 这个元素。

SRE 的黄昏,平台工程的初晨

到了实施层面,用户为中心对应的就是近两年逐渐兴起的平台工程 (Platform Engineering) 概念。

平台工程的崛起

平台工程最早能查到的系统性分享应该是 2017 年 The Paved Road at Netflix

SRE 的黄昏,平台工程的初晨

平台工程的出圈是由去年「DevOps 已死,平台工程才是未来」的一条宣言开始的。

SRE 的黄昏,平台工程的初晨

当下平台工程已经成为了行业公认的趋势,就在前两天 Gartner 发布的 2024 技术趋势报告中,平台工程也是连续第二年上榜,还是在被 AI 相关的屠榜中占得一席之地(而去年爆炒的元宇宙已经不在了)。

SRE 的黄昏,平台工程的初晨

而在稍早之前 Gartner 另一份 Hyper Cycle 报告中,Platform Engineering 以及它的载体 Internal Developer Portal (IDP) 也从 2022 的创新逐渐走向 2023 的高峰。

SRE 的黄昏,平台工程的初晨

平台工程的背后有实力强大的商业公司背书,比如 HashiCorp, Harness。

SRE 的黄昏,平台工程的初晨
SRE 的黄昏,平台工程的初晨

还有日益壮大的 Platform Engineering 社区。

SRE 的黄昏,平台工程的初晨

平台工程属于 PaaS 层,它的逐渐流行可以从三个方面来看:

  1. 在其之下依赖的 IaaS 层通常是各大云厂的 IaaS,这部分日趋成熟,所以使得精力可以上移到 PaaS。
  2. 在其之上被依赖的 SaaS 层则是各业务线,随着业务线的扩展,就希望提炼出一套可以复用的组件,这就是要下沉到 PaaS 层。
  3. PaaS 层本身的平台工具也日趋完善,从最底层的统一平面 Kubernetes 往上,已经有一组比较成熟的平台工具套件。

平台工程和之前的中台概念有类似之处,同样夹在底层 IaaS,上层业务 SaaS 之间。和中台业务的区别在于,之前的中台多面向业务层,是去整合上层散乱重复的业务系统。而平台工程则是面向基础层,去整合底层的基础设施系统。

现在拆中台的原因是虽然中台整合了,但离业务系统远了,无法响应前线的需求。平台工程崛起的原因,是因为下层的基础设施太复杂了,好不容易摸清门路,发现还有人挡路。Terraform 可以大获成功是因为它屏蔽了管理多云资源的复杂度。

平台工程要做的事情,就是把 Terraform 的成功泛化,把 SRE,PaaS,研发效能这些都整合在一起,提供一个对开发者友好,让他们可以自助的平台。

中台要拆的原因是业务的需求是各异的,电商,外卖,放贷有完全不同的业务逻辑。平台工程可以合的原因是研发的需求是共通的:大家都用 Git 做代码管理,用 Prometheus 看监控,用 Terraform 管云资源,用 Bytebase 管数据库,从否认开始解决 bug 的第一步。

SRE 的黄昏,平台工程的初晨

结束语

平台工程会是未来,但在研发组织拥抱平台工程的过程中,也首先还需要经历一段 SRE, PaaS, 研发效能这几个团队整合的阵痛。早年的运维工程师叫做 PE,当中历经 SRE 的转型,如今又要迈向 PE。从 Production Engineer 到 Platform Engineer,历史的轮回,冥冥之中自有天意。


💡 你可以访问官网:https://www.bytebase.com/,免费注册云账号,立即体验 Bytebase。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
4年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Android蓝牙连接汽车OBD设备
//设备连接public class BluetoothConnect implements Runnable {    private static final UUID CONNECT_UUID  UUID.fromString("0000110100001000800000805F9B34FB");
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
美凌格栋栋酱 美凌格栋栋酱
5个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(