1、百度服务可用性工程建设服务可用性问题回顾基于故障和经验驱动的可用性管理百度服务可用性工程解决方案落地示例项目一:变更分级发布落地示例项目二:故障盲测近几年业界发生的新闻级服务可用性故障影响8914110510152015年2016年2017年2018年数据来源:业界公开报道的互联网上市公司服务可用性故障,包括:BATJ、美团、新浪、网易、携程、Google、Amazon、Apple、Microsoft、Facebook 对用户的伤害 对公司的伤害影响衣食住行财产损失PV、GMV损失商业赔付公司信誉下降给竞品机会通常的可用性管理方式:基于故障和经验驱动降级防攻击快速回滚灾备建设流量调度权限隔离过
2、载保护分级发布网络Qos管理。各种各样的可用性改进措施百度历史上可用性故障经验借鉴业界历史上可用性故障经验借鉴 2015.03:骨干网络故障 2015.07:大促服务容量不足 2016.01:程序变更核心模块大面积出core。2015.05:光纤被挖断,服务因网络故障 2015.05:整个站点被误删,服务异常 2016.01:网络变更,云服务大面积不可用。问题:逐个解决故障,效率低下,代价惨重!l 效率极低!l 代价惨重!(黑天鹅事件)A业务踩过的坑,B业务重复踩 成熟业务线踩过的坑,新兴业务线重复踩 都未踩过的坑,大家一起踩已发生的故障潜在的故障隐患规模产品线数量众多平台数量几十机器规模故障
3、数/年庞大几百百度可用性工程解决方案可用性影响因素攻击服务基础设施状态变化系统异常访问服务应用服务用户研发工程师黑客运维工程师第三方公司/平台基础设施管理工程师程序/数据/配置更新执行运维操作可用性工程需求攻击服务执行运维操作系统异常基础设施状态变化访问服务应用服务用户研发工程师黑客运维工程师基础设施管理工程师第三方公司/平台程序/数据/配置更新容量管理安全管理发布管理故障管理灾难管理监控管理预案管理变更管理容错管理可用性工程需求预防发现止损灾难恢复变更管理容量管理安全管理监控管理故障管理灾难管理预案管理发布管理容错管理可用性工程技术标准服 务 可 用 性 能 力预防故障发生能力灾难恢复能力n
4、 程序代码、测试、变更规范n 操作操作规范、操作审计n 运营容量规划n 防攻击防攻击能力n 平台/第三方服务服务SLAn 基础设施基础设施SLAn 程序调度调度容错n 资源隔离流量成份隔离核心服务资源优先n 部署隔离逻辑服务单元拆分核心功能逻辑独立关联解耦部署网段打散分级发布单点消除n 权限隔离登录隔离信任关系管控n 内部关键服务感知n 外部关键依赖感知关键上游服务感知平台依赖感知网络故障感知第三方服务感知n 故障定位智能故障定位n 流量调度外网流量调度内网流量调度n 流控n 降级n 回滚/修复n 重启n 冻结变更n 数据备份恢复n 应用备份恢复n 基础平台备份恢复n 灾难恢复预案n 灾难恢复
5、技术支持人员百 度 服 务 可 用 性 工 程 能 力 模 型预防故障扩散能力故障快速发现能力故障定位止损能力可用性工程落地框架无新闻级故障,服务整体可用率99.995%用户端接入层基础平台应用服务预防发现定位/止损分级发版端监控端流量调度外网监控防攻击外网流量调度内网监控应用监控智能故障定位分级发布分级操作容量压测内网流量调度单机房故障自动止损服务降级统一备份恢复服务隔离过载保护弹性伸缩快速回滚平台化服务能力输出机制可用性技术标准可用性能力审计故障盲测CaseStudy灾难恢复项目1:变更分级发布多机房故障是可用性损失的重灾区变更是导致多机房故障的“头号杀手”94.70%多机房故障总损失单机
6、房故障总损失74%变更引发其他引发监控系统Stage1IDC1单实例Stage2IDC1m%实例(m=5)Stage3IDC1100%实例Stage4IDC2/3/4各m%实例(m=5)Stage5IDC2/3/4100%实例每级stage自动检查(pvlost/core/平响)变更系统部署信号反馈、决策(停止/继续?)问题技术方案变更检查遇到的问题387792879513511095726010002000300040005000模块1模块2模块3模块4监控项变更检查项检查指标覆盖不全检查指标阈值难以精确设置0204060800710162023491