SRE和运维的区别:不是换汤不换药,而是思路变了

公司新来了个SRE工程师,头衔写着“站点可靠性”,结果每天干的还是部署服务、看监控、救火重启。有人开始嘀咕:这不就是换个名字的运维吗?

传统运维在做什么?

想象一下小区物业。你家网络断了,打报修电话,物业派人来查线、重启光猫、换路由器。问题解决了,工单关闭。但没人去问:为什么这个光猫每个月都要重启一次?是不是采购时选型就有问题?

传统运维也类似。重点是“保障系统可用”,出了问题尽快恢复。日常工作包括服务器部署、配置管理、备份、故障响应。做得好,系统稳;但做得再好,也只是被动应对。

SRE到底想解决什么?

Google 提出 SRE 的时候,不是为了多雇几个人值班,而是为了解决一个现实问题:运维人力跟不上业务增长。如果每上线一个服务,就得加两个运维盯着,那团队迟早被压垮。

SRE 的核心逻辑是:把运维工作当成软件工程来做。也就是说,能写代码解决的问题,绝不靠人肉巡检。比如自动发现故障、自动扩容、自动回滚。SRE 花 50% 的时间写代码,剩下的才做传统运维的事。

故障处理方式不一样

运维看到报警,第一反应是:“哪个节点挂了?赶紧上机器看日志。”

SRE 看到同样的报警,会先问:“这个错误率上升有没有触发自动修复?如果没有,是不是该加个自动化脚本?” 救火之后,必须写事后报告(Postmortem),并且明确列出“如何避免下次再犯”——而且其中至少一半措施得是自动化的。

SLI/SLO/SLA 这套语言很关键

运维常说:“系统一直挺稳的。” 但“稳”是多少?99% 可用?还是 99.99%?

SRE 不讲感觉,只讲指标。他们会定义 SLI(比如请求成功率)、设定 SLO(比如 99.95% 成功率)、并与业务方约定 SLA(达不到就赔钱)。一旦接近阈值,系统自动降级或告警。这种量化思维,让技术和服务之间有了共同语言。

运维也在进化

现在很多运维岗位其实已经吸收了 SRE 的理念。比如要求会写 Python 脚本、熟悉 Kubernetes、能搭建 CI/CD 流水线。真正的区别不在头衔,而在做事方式:你是满足于把火扑灭,还是想着怎么拆掉所有易燃物?

说白了,SRE 不是替代运维,而是推动运维从“手艺人”变成“工程师”。工具、自动化、容错设计,这些才是现代运维该有的样子。