知识卡片
自助服务不放任变更,仍需自动化审批工作流
内容
完全自动化后,用户可以在自助服务门户直接执行公共程序(如AWS让用户直观地订购服务器),但自助服务不代表可以随意改动基础设施——就像自助餐厅仍需收银员,用户的变更请求也要经过校验和批准。区别在于批准的方式:与人工重新解读自由格式文本或Excel表格里的请求不同,审批工作流只需把请求的变更推送到产品里,不需要进一步人工干预、也不可能出错;自动化方式还能立即给用户反馈,减少因缺乏数据校验而产生的输入错误。更进一步,配置变更请求最好提交到源代码仓库,通过拉请求和合并操作处理审批,获批的变更自动部署——这样就能把配置变更纳入软件工程里成熟的评审、注释、审计跟踪流程,而不是让图形界面的手动录入成为大规模操作里最容易出错的环节。
结构图:
flowchart LR
U["用户提交变更请求"]
U --> F1["自由文本/Excel<br/>=人工重新编码解读,易错"]
U --> F2["源代码仓库拉请求<br/>=自动化审批工作流"]
F2 --> W["评审+合并→自动部署<br/>无需人工干预,不可能出错"]
F1 -.对比.-> W
参考来源
- 位置:《架构师应该知道的37件事》第2章《架构》之"2.7 永远不要派人去干机器的活"·"2.7.4 自助服务"与"2.7.5 超越自助服务"(源文件:_epub-src/OEBPS/Text/chapter002.html)
- 结论依据:原文说明"自助服务并不意味着可以随意改动基础设施……审批工作流只需将请求的变更推送到产品里,无须进一步的人工干涉且不可能出错……配置变更请求最好能提交到源代码仓库里,而源代码仓库可以通过拉请求和合并操作来处理变更的批准",直接支撑本卡结构图。
- 原始内容:与此形成鲜明对比的一个反例是,使用电子表格作为订购Linux服务器的"用户界面",我被告知只需要从已有服务器上复制网络配置即可。