作者:焦振清
时间:2018-10-22
重大调整的标准
- 线上10%以上的机器或者模块可能会受到影响(如机器初始化策略,操作系统升级等)
- 线上流量可能受到影响(如数据库,缓存,DNS,接入层等的调整)
标准流程
- 责任明确:首先需要明确本次操作的最终负责人是谁?谁对操作失败的后果承担全部责任?
- 线下测试:在线下环境进行相关操作以及预案的模拟,确认影响面和风险
- 提前通告:提前邮件告知研发以及相关人员的邮件组,并且邮件正文需要明确说明快速回滚和紧急预案分别是什么
- 数据备份:在操作线上的环境前,将环境进行全量备份,避免灾难场景下无法进行恢复
- 避开高峰期:安排在全天流量低峰时间段,即使出现问题,也不会造成重大影响
- 灰度发布:通过时间间隔,确保所有集群不在同一时间段内被操作而避免全局崩溃的风险
- 灰度的强制流程
- 第一阶段(停留至少一小时,至多一天):1%流量或者最多一台机器,两者取最小值
- 第二阶段(停留至少两小时,至多一天):10%流量或者最多两台机器,两者取最大值
- 第三阶段(停留至少两小时,至多一天):50%流量或者最多四台机器,两者取最大值
- 第四阶段:100%流量
- 灰度的强制流程
- 效果检查:基于业务功能和核心指标进行效果检查,不能仅仅检查错误日志和端口状态
- 监控预警:监控系统应该介入变更的全过程,从而发现潜在的问题,错误和隐患,避免问题流入线上造成重大影响
- 快速回滚:发现任何异常,应该立即基于修改内容的备份进行快速回滚,不要等待原因定位
- 紧急预案:基于全量的数据备份进行重建
- 其他要求
War-room:活动保障以及非常重要的线上操作,涉及人员(运维/研发/测试等)均需要到公司以war-room的形式现场开展工作,如主要人员时间冲突必须顺延