4. 自助服务设计原则:以用户为中心、标准化与模板化、可观测性、自愈与回滚能力

SRE 值班台的自助服务不是简单地把工单页面搬到 Portal 上,而是一套围绕“降低认知负载、提升首次解决率、保障交付质量”的设计体系。本节围绕四项核心原则展开,每项原则都直接对应值班场景中的具体痛点。

4.1 四项原则概览

原则 核心目标 值班场景痛点 设计要点
以用户为中心 降低认知负载,减少上下文切换 值班人员不熟悉底层架构,填单耗时 引导式表单、预填默认值、自然语言搜索
标准化与模板化 消除二义性,提升审批通过率 同一资源申请有 5 种写法,反复驳回 资源规格模板、命名规范、参数校验
可观测性 申请进度透明,异常可追溯 提交后不知道卡在哪一步,只能@人 状态可视化、链路追踪、SLO 仪表盘
自愈与回滚能力 失败时自动恢复,不产生残留资源 申请失败后残留半创建资源,需人工清理 幂等重试、自动回滚、资源回收

4.2 以用户为中心:从“系统视角”转向“值班视角”

传统资源申请表单往往按照后端 API 字段排列,值班人员需要理解“VPC ID”“安全组规则”“实例规格编码”等概念。以用户为中心的设计要求将表单重组为值班人员熟悉的语言。

  • 引导式表单:第一步选择“我要申请什么”(测试环境 / 预发环境 / 生产环境),第二步选择“资源类型”(云主机 / 数据库 / 负载均衡),第三步自动过滤可用规格。
  • 智能预填:根据值班人员身份、当前值班项目、历史申请记录,自动填充 60% 以上的字段。
  • 错误提示前置:在输入阶段实时校验,而不是提交后返回 400 错误。
实践案例:某团队将“实例名称”字段从自由输入改为“项目-环境-用途-序号”的拼接选择器,命名规范率从 45% 提升至 98%,审批驳回率下降 72%。

4.3 标准化与模板化:让每一次申请都是“可复用的资产”

标准化解决的是“同一件事,不同人做出来不一样”的问题。模板化则把标准固化为可一键使用的配置包。

4.3.1 资源规格模板

模板名称 适用场景 CPU 内存 磁盘 网络带宽
web-small 低流量 Web 服务 2 核 4 GB 40 GB SSD 100 Mbps
web-medium 常规业务 API 4 核 8 GB 80 GB SSD 200 Mbps
db-small 开发/测试数据库 4 核 16 GB 200 GB SSD 500 Mbps
cache-medium Redis 缓存集群 8 核 32 GB 100 GB SSD 1 Gbps

4.3.2 命名与标签标准化

# 资源命名规范(自动拼接)
{项目代号}-{环境}-{资源类型}-{序号}
示例:sre-prod-ecs-001

# 标签规范(自动注入)
labels:
  team: sre
  environment: production
  cost-center: platform
  owner: ${申请人}
  created-by: self-service
关键指标:标准化模板覆盖率应达到 100%,不允许值班人员手动输入未定义的规格参数。模板的变更必须经过变更管理委员会审批。

4.4 可观测性:让申请流程“透明化”

值班人员提交申请后,最焦虑的是“不知道进行到哪一步了”。可观测性设计需要覆盖三个层面:流程状态、执行日志、SLO 达成。

自助服务可观测性架构 值班人员提交申请 流程引擎编排 状态可视化 当前步骤 / 预计剩余 链路追踪 每个 API 调用耗时 SLO 仪表盘 成功率 / 平均时长 可观测性目标 值班人员无需询问他人,即可知道申请当前状态、失败原因和预计完成时间
  • 状态可视化:每个申请实例在 Portal 上显示“提交中 → 审批中 → 资源创建中 → 配置注入中 → 完成”的实时进度条,并附带预计剩余时间。
  • 链路追踪:每个步骤记录开始时间、结束时间、调用方、返回码。失败时直接显示错误详情和修复建议。
  • SLO 仪表盘:自助服务自身需要满足 SLO(如 P95 申请完成时间 < 5 分钟,成功率 > 99.5%),并在值班台首页展示。

4.5 自愈与回滚能力:失败是常态,自动恢复是底线

资源申请流程涉及多个外部系统(云平台 API、CMDB、DNS、监控系统),任何一个环节失败都可能导致“半创建”状态。自愈与回滚能力确保失败不会留下残留。

4.5.1 幂等重试机制

# 幂等键设计
idempotency_key = f"{申请ID}-{步骤序号}-{重试次数}"

# 重试策略(指数退避 + 抖动)
retry_policy:
  max_attempts: 3
  base_delay: 1s
  max_delay: 10s
  jitter: 0.2
  retryable_errors:
    - timeout
    - rate_limit
    - server_error

4.5.2 自动回滚策略

失败阶段 回滚动作 补偿方式 通知对象
资源创建失败 调用云平台删除已创建的资源 幂等删除,忽略 404 值班人 + 资源 Owner
配置注入失败 回退 DNS / CMDB 变更 快照恢复 值班人 + 配置管理员
审批超时 标记为“审批超时”,不创建资源 无需回滚,释放申请锁 值班人 + 审批人
网络分区 等待 30s 后重试,仍失败则回滚 全量回滚 + 告警 值班人 + SRE 二线
重要:回滚操作本身必须是幂等的,且必须记录审计日志。回滚失败时,需要自动创建“残留资源清理工单”并分配给 SRE 二线值班人员,避免资源泄漏。

4.6 四项原则的协同关系

四项原则协同关系 自助服务设计 以用户为中心 标准化与模板化 可观测性 自愈与回滚 四项原则缺一不可:没有标准化的用户中心设计会导致混乱,没有可观测性的自愈等于黑盒操作