安全生产
避免造成损失的手段、流程、文化,控制风险,保障业务稳定
组织&团队
- 稳定性目标
- 作战地图
- 能力与工具
- 制度与规范
- 文化与活动
- 组织保障
- 案例复盘沉淀
谁来做
- 积极主动 补位协同 持续跟进
- 了解业务全貌
- 沉稳但不老实
如何支持
- 人员:专人推进 充分配合
- 资源:资源保障 专项资源
- 空间:做的人的发展空间 晋升空间
- 权力:变革落地 流程改造
责任
责任不是头上的刀,而是驱动力
架构师的责任与边界:
- 研发流程管控
- 安全生产落地
- 技术风险控制
安全生产说简单也简单:没什么技术含量,说难也难:这是一个持久的事,需要各种各样的流程支撑,有着各种压力,消耗着你的激情
应急处理:
- 响应
- 接手
- 定位
- 跟进
执行
- 风险治理
- 值班预警
- 压力测试
- 故障演练
问题发现
及时发现、准确发现、聚焦问题、信息完整
基于异常的发现
通过异常可以一定程度防故障,报警的原则要保障能使人员敏感,过于频繁的报警会使人无视,报警的触达范围要确保相关人能知悉,但不要无谓的扩散到很多人
红线预警
红线(不可逾越的界限):
- 极大风险行为 删库跑路
- 严重的用户问题 影响范围极广的故障
- 可能导致故障的前兆
- 可能导致资损
为了监控红线,需要针对红线做好日志买点,进行定向监控,最后故障预警
基于数据发现
问题不会反映在异常上
像是统计报表的错误、数据的一致性问题等
- 数据对账 参与多方相互校验 计算结果是否都一致
- 数据巡检 完成计算后启动新过程进行校验
- 数据多维度挖掘 通过多维度的计算 比较各维度之间的相对结果 发现异常
基于日志发现
根据日志发现异常情况下的行为及模式,从而推动修复
基于反馈发现
- 等用户投诉
最常规的问题来源
异常管控
收敛、保护
异常发现
- 不能吞掉异常
- 避免使用过于泛滥的错误 以便可以编程式识别错误码进行处理
- 对异常进行上下游阻断 内部使用异常 对外使用错误码
异常控制
- 异常分类
- 异常分级
测试
全链路回归
一旦发布后系统的行为就与线下不一样 出问题
- 线上线下配置不一致
- 数据问题 脏数据 数据库变更问题
- 环境问题 服务端与客户端
- 功能问题 开发中的功能干扰 奇奇怪怪的功能执行路径
回归的内容
- 可能被影响的功能
- 核心链路
- 红线
- 历史故障
回归的时机
- 预防性回归:预发布环境
- 验证性回归:线上环境
单测
自动化测试
- 工具自动化
- 平台自动化
- 利用流量回放进行回归
价值:
- 测试场景的沉淀
- 效率up
不足:
- 迭代的变化快 维护成本高 需求一变 脚本就没用了
研发体系
变更 -> 准入 -> 发布 -> 灰度 -> 生产
- 围绕研发与测试
约束与管控
变更流程管控
变更
- 狭义:问题修复 功能实现
- 广义:对系统的任何变动操作(数据修改、配置、开关)
- 研发变更:周期性、代码性、确定性、可回滚
- 线上变更:不确定性、回滚不确定性
风险
- 分级:高中低 根据影响用户使用 造成故障区分
- 管控
- 变更前 影响评估 执行、回滚预案设计
- 变更中 测试 按预案执行
- 变更后 监控 验收或者回滚
人员
- 变更需求方
- 变更开发方
- 变更执行人
- 验收方
准入体系
作用:
- 控制风险
- 确保相关人员信息触达
- 相关信息记录
准入范围
- 软件质量足够健康安全
- 代码扫描
- [代码评审](/软件工程/软件设计/代码质量/代码审查.html)
- 风险扫描
- 流程协同是否已经走完 确保发布正确合规 并让相关人员触达信息传递充分
- 自动测试与检查
- 封版
- 流程审批
- 灰度发布 流量切换
灰度发布
工单体系&RPA
- 固化的流程是业务的沉淀
工单能将业务流程防错防偏,标准化流程,也能记录流程中的信息
现阶段使用的一些RPA智能助手:
- 智能客服
- 智能运维
- 智能调度
监控体系
日常化建设
全链路压测
目标:
- 发现承载极限 保障抗压能力
流程建设:压测流程、影响通知、预案、复盘
工具建设:场景拆解、数据生产、链路压测
文化建设:宣讲培训分享竞赛
单点压测
- 发现模块本身的极限
预案
问题预案
预案设定 -> 线上问题 -> 报警 -> 预案执行(手动或自动) -> 止血 -> 恢复
预案无法解决全部问题,执行后需要人进行确认,自动化的预案可以降低人力投入成本,自动化的预案拥有一定风险,根据问题的不断积累发展新预案
日常预案
预案设定 -> 指标变化 -> 预案执行 -> 线上调整 -> 线上恢复
- 动态扩缩容
- ...
故障演练
- 借事修人
快速恢复
- 紧急应急组织
- 问题快速定位
- 工具的沉淀:链路排查 日志分析 运维支撑
- 人的沉淀:心态 技能 经验
- 降低影响
所需能力:
- 问题可发现性
- 问题定位排查
- 系统恢复能力
- 范围爆炸控制
攻防演练
- 红蓝对抗
在攻击中学习防守
情报收集
- 鱼叉攻击 对脆弱点关键点渗透
- 内网渗透
- 漏洞发现利用
- 供应链攻击
据点建立
- 内网渗透
- 通道建立
- 权限提升
横向移动
- 细节情报收集
- 继续提权
- 突破核心系统
防守
高可用
度量
使用指标为目标提供可量化参考,驱动团队迭代进步、文化沉淀
针对于得分进行差异化,以期分辨指标的重要程度
研发
研发流程 -> 得到研发数据(研发质量、产品质量、研发效能) -> 人员成长,质量提升
文化
打造:从实践到案例,从案例到实践
案例是一种文化的共建机制,可以使团队成员自驱,并影响他人,从而沉淀出文化,并能将文化回到实践中去
奖惩:
- 奖:贡献性
- 罚:提示性