B. Google SRE指导思想 - 拥抱风险

B. Google SRE指导思想 - 拥抱风险
    概述
        目标:快速创新和高效的服务运营业务之间的风险的平衡
        提升可靠性的成本
            冗余的物理服务器/计算资源的成本
            机会成本
        度量服务的风险
            基于时间的可用性
                系统正常运行时间 / (系统正常运行时间 + 计划外停机时间)
            合计可用性
                成功请求数 / 总请求数
    服务的风险容忍度
        辨别消费者服务的风险容忍度
            风险评估因素
                需要的可用性水平
                不同类型的失败对服务有不同的影响吗?
                我们如何使用服务成本来帮助在风险曲线上定位这个服务
                有哪些其他重要的服务指标需要考虑
                等等
            可用性目标
                用户期望的服务水平是什么
                这项服务是否直接关系到收入(我们的服务还是我们的客户的收入)
                这是一个有偿服务,还是一个免费服务
                如果市场上有竞争对手,那些竞争对手提供的服务水平如何
                这项服务是针对消费者和企业的
                等等
            故障类型
                给定服务的故障预期:不同类型的服务能够接受的故障不一样
            成本
                可量化的:直接计算,比如说广告系统
                不可量化:低于背景(各种协议)误差率,基本上在0.01% ~ 1%
            其他服务目标
                响应延迟时间
                等等
        基础设施服务的风险容忍度:以Bigtable为例
            概述:有多个用户,每个用户有很多不同的需求
            关键战略:明确划分服务水平,从而是客户能够在构建系统时正确的风险和成本平衡
            可用性目标
                消费终端团队:低延时,高可靠
                离线数据分析团队:高吞吐量
            故障类型
                低延时用户:请求队列为空
                离线分析用户:队列总是满,Bigtable应该避免处于空闲状态
            成本
                针对不同的目标部署多套系统,比如说低延时集群和高吞吐量集群
                    低延时集群:资源冗余度高
                    高吞吐量集群:资源冗余度低
    错误预算
        问题:系统可靠性和产品创新速度之间的矛盾
            软件对故障的容忍度:做的太少,产品脆弱无用,做的太多,失去市场机会
            测试
            发布频率:每一次发布都是有风险的
            金丝雀测试的持续时间和大小
        步骤
            产品管理层定义一个SLO,确定一项服务在每个季度预计的正常运行时间
            实际在线时间是通过一个中立的第三方来测算的:我们的监控系统
            这两个数字的差值就是这个季度剩余的不可靠性预算
            只要测算出的正常在线时间高于SLO,也就是说,只要仍然有剩余的错误预算,就可以发布新版本
        好处:统一产品和SRE的目标

猜你喜欢

转载自blog.csdn.net/micklongen/article/details/89739585
今日推荐