读书笔记(SRE:Google运维解密):第27章 可靠地进行产品的大规模发布

  • 发布协调工程师(Launch CoordinationEngineering,LCE),LCE
    (a)广泛的经验
    (b)跨职能的视角
    (c)客观性
     
  • 好的发布流程具有的一些特征:
    • 轻量级:占用很少的开发时间
    • 鲁棒性:能够最大限度地避免简单的错误。
    • 完整性:完整地、一致地在各个环节内跟踪重要的细节问题。
    • 可扩展性:可以应用在很多简单的发布上,也可以用在复杂的发布过程中。
    • 适应性:适用于大多数常见的发布

这些需求是互相有冲突的。例如,想要设计一个流程来同时满足轻量级和完整性是很困难的,在这些参数中取舍平衡需要持续不断地投入。可以采用以下几种手段来达到目的:

  • 简化:确保基本信息正确。不需要为所有的可能性做准备。
  • 高度定制:有经验的工程师会针对每次发布定制流程。
  • 保证通用路径快速完成

 

  • 发布检查列表
    • 架构与依赖
    • 集成:建立新服务器、配置新服务、设置监控、与负载均衡集成
    • 容量规划
    • 故障模式:能够承受单独物理机故障?单数据中心故障?网络故障?如何应对无效或者恶意输入,是否有针对拒绝服务攻击(DoS)的保护?如果某个依赖组件发生故障,该服务是否能够在降级模式下继续工作?该服务在启动时能否应对某个依赖组件不可用的情况?在运行时能否处理依赖不可用和自动恢复情况?
    • 客户端行为
    • 流程与自动化:自动化永远不是完美的,每个服务都有需要人工执行的流程:构建一个新版本,迁移服务到另外一个数据中心中,从备份中恢复数据等。为了保障可靠性,应该尽量减少流程中的单点故障源,包括人在内。
    • 开发流程:开发流程都和版本控制系统深度整合?
    • 外部依赖:
    • 发布计划:
  • 推动融合和简化
     
  • 可靠发布的方法论
    • 灰度和阶段性发布
    • 功能开关框架
    • 应对客户端滥用行为
    • 过载行为和压力测试
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值