zoukankan      html  css  js  c++  java
  • 我对 SRE 的理解

    前言

    面试的时候经常问到的一个点就是怎么保障线上的稳定性。这里就按照我的经历结合看过的一些书总结一下。

    SRE 的定义

    SRE 本身就是要用软件工程的方法论来解决运维领域的问题。我觉得作为一个职场人,很多时候我们不能把自己局限在自己职位的视角,要以更多的角度去看问题,才能更好的解决问题。我对自己的定位就一个软件工程从业者。就 SRE 来说,要能从整个软件生命周期来看待运维所面临的问题。
    下面就来说说保障稳定性,主要从以下的方面入手:

    软件生命周期管理

    • SRE 在项目初期就参与进去,在设计阶段就应该把高可用,可扩张性等非功能性需求考虑进去
    • 产品的不同阶段对可用性要求不同,不能一概而论,我们工作的首要目标是辅助业务成功

    CICD

    问题越早发现,解决的成本就越低

    • 做好 CI,并且严格执行,比如单元测试通过率,代码重复率等必须明确标准
    • 将部署和发布解耦,比如金丝雀,灰度,蓝绿等
    • 功能开关

    请求的全生命周期

    也可以称之为端到端的请求监控

    • 客户端打点的监控
    • 后端全链路的服务治理
      • 服务分级,不能太多,google 之前是 4 级,最近看的是 6 级,不是越多越好
      • 防止连锁故障
        • 限流,降级
        • 超时,重试
        • 各级缓存,区分容量缓存和延迟缓存

    标准化

    因为我做的运维工作大部分是从 0 到 1 或者从 1 到 10 的这种,所以对标准化的体会很深。标准先行,是一个很重要的原则,标准定义的对不对、好不好其实不太重要,关键是一定要有,并且要能落地,符合这两点就可以开始做了。然后要尽量符合精益的原则,有问题可以用改。

    监控和告警

    这里说几个点吧

    • 过度追求 100% 的可用性是没有实际价值的,要定义一个产品、研发等所有利益干系人都认可的 SLO
    • 告警要分级,我比较推崇 Google SRE workbook 中的做法。这里面把告警分了三级
    • 所有的告警都应该有人跟进,做得好的话,对应的告警要有工作手册

    还有就是监控分为:

    • 基础设施监控,CPU,内存等
    • 应用监控,流量,延迟,负载,错误四个黄金指标
    • 业务监控

    变更管理

    • 管控规范流程定义,所有变更可监控、可灰度、可回滚
    • 所有变更可追溯、可评审
    • 变更自动化

    自动化

    我觉得对自动化总结的比较好的就是,事情做第一遍的时候手动就搞了,第二遍的时候就开始发现重复性了,要开始想怎么自动化,第三次就要做的时候就要把这个事情自动化掉。

    简单性

    简单性,架构的稳定性一定是对简单性不断追求的结果。软件工程的第一要务就是控制其复杂度。

    事后总结

    无指责的回顾会议

    SRE 的道

    上面说的都是具体方法,也就是术的部分,有句话我印象比较深刻“有道无术,术尚可求也。有术无道,止于术。”就是做事情的时候不要只是去做,而是要明白我们这么做背后的原则,下面是我觉得比较重要的道:

    • 任何一个运维对象的添加,我们都应该谨慎
    • 胆大心细,做事情要敢做并且要思考全面
    • 取势明道优术,要弄清楚具体的背景,方案要能落地
    • 尽量给别人解决问题,不要给别人添加问题
    • 优先做重要的事情,识别出紧急但不重要的事情,想明白怎么做 20% 的事情,解决 80% 的问题。

    链接

    TOP 互联网公司都在用,为什么 SRE 比传统运维更抢手?
    Google SRE books

  • 相关阅读:
    进程池,线程池,协程,gevent模块,协程实现单线程服务端与多线程客户端通信,IO模型
    线程相关 GIL queue event 死锁与递归锁 信号量l
    生产者消费者模型 线程相关
    进程的开启方式 进程的join方法 进程间的内存隔离 其他相关方法 守护进程 互斥锁
    udp协议 及相关 利用tcp上传文件 socketserver服务
    socket套接字 tcp协议下的粘包处理
    常用模块的完善 random shutil shevle 三流 logging
    day 29 元类
    Django入门
    MySQL多表查询
  • 原文地址:https://www.cnblogs.com/WisWang/p/15388766.html
Copyright © 2011-2022 走看看