读SRE Google运维解密有感(二)
前言
这是读“SRE Google运维解密”有感第二篇,第一篇参见
这本书最近又读了几章,结合自己的经历,有些地方真的能感同身受,有些地方也惊叹SRE充满辩证的思想,总之SRE是好一本好书,会给你很大的启发。
充满辩证的思想
本书主要是讲通过SRE思想进行运维体系的构建,除了技术层面以外,我更关注SRE内在充满辩证的思想。
一个辩证的思想是凡事都有两面性,这个道理很简单,大家一听就说“对啊,这不是废话么”,可是面对具体问题的时候,有时候往往做不到这一点。
服务太稳定不好
“什么?我有没有听错”,一直以来运维人员所追求的不就是稳定的服务么?可是谷歌认为“在内部程序质量没有达到一定标准,服务太稳定会产生盲目的依赖”
它举了一个例子,谷歌的chubby锁服务,它是一个基础服务,做为基础组件很多上层服务依赖于它,但是工程师们认为它还是有缺陷,有问题隐患,而在一段时间内它的表现还异常稳定,这样就给调用方一种错觉,这个服务很好,越来越多的服务依赖于它。
于是,谷歌干了一件“不可思议”的事情,对chubby计划内停止服务,捅破这种稳定的假象,让调用方感受到“原来没有那么稳定”,这样减少了对chubby的过度依赖。
这就是一种辩证的思想,我们一直以来都想追求绝对的稳定,没有辩证的看稳定的系统有好处,也会有坏处,它会被外界过度依赖,大家用的很开心,可是这个系统如果还有隐患,造成了稳定的假象,一旦出了问题,可能就是大地震。
琐事也有好处
工作中的琐事是指那么“无聊”,“无效率”,“流程化”的事情,很多人都很抵触,认为它把你的时间碎片化了,使工作没有效率。 SRE有很大篇幅讨论了琐事(toil)的问题,它认为琐事也有好处,比如可以适当的减压,因为做起来不用过多的思考,可以做为创造性工作的一种调剂,从中也能发现需要优化的问题。
当然SRE还是在尽量减少琐事,它的坏处还是多于好处。
少即是多
谷歌追求一种简单,有效的解决方案,比如监控项不是越多越好,它列出监控的4个黄金指标
- 延迟
- 流量
- 错误
- 饱和度
通过这四个指标,基本可涵盖大部分问题,设置监控项的时候,我们往往生怕漏掉某个项目,设置非常详细的监控策略,这些监控项不一定真的有意义,反而会带来大量的干扰报警。
在代码层面也遵循少即是多的原则,无用的代码,大量冗余的注释都要删除掉,提供简单的api入口,我们常常为了以后的扩展性,预先加入很多冗余功能代码,谷歌反其道而行,鼓励代码的精简。
每一行代码都是负担,所有代码都必须有存在的目的,软件工程少就是多!
自动化的坏处
“什么?我没有听错?自动化会有坏处“,是的,谷歌认为运维自动化是有坏处的。
在运维领域,自动化运维是很多公司的目标,我们认为运维自动化,减少人力,规范操作流程,我们恨不得完全自动化早一天到来,怎么还能有坏处?
自动化的坏处在于,对于一个运维工程师来讲,操作变成黑盒了,他不用明白一个脚本的原理,只要运行就好了,对于他来讲是一件很开心的事,可是带来的副作用是他对于线上的熟悉程度越来越少,他只会执行这个脚本,那么这个脚本一旦出问题,因为缺少对线上环境的了解,无法很快进行修复。
体会到了自动化带来的负面作用,谷歌希望使用自洽的方案解决问题,这样才诞生了Borg系统。
故障演习
谷歌会定期举行故障演习,而且他们是真的在线上演练。
书中的一个例子是随机的关闭一个数据库实例,看看会有什么问题,然后真的出现了一些问题,影响了业务的访问,通过这次演习他们发现了流程的问题,问题及时修复,避免了隐患。
所以谷歌的思想是:
你是希望系统在星期六凌晨2点,公司大部分同事还在参加黑森林中的团建时出现故障,还是希望和最可靠和最聪明的同事一起仔细监控着他们上周详细评审过的测试时出现故障呢?
结语
SRE不仅是一些运维的方法论,它的辩证看问题的思想值得我们学习。
先写这么多,我得去搬砖了。
本文链接:https://addops.cn/post/sre-read-and-think-2.html
读SRE Google运维解密有感(二)的更多相关文章
- 读SRE Google运维解密有感(四)-聊聊问题排查
前言 这是读“SRE Google运维解密”有感第四篇,之前的文章可访问www.addops.cn来查看.今天我们来聊聊“问题排查”这个话题,本人到目前为止还在参与一线运维的工作,遇到过很多“稀奇古怪 ...
- 读SRE Google运维解密有感(三)
前言 这是读“SRE Google运维解密”有感第三篇,之前的文章可访问www.addops.cn来查看.我们今天来聊聊“on call”也就是运维值班制度, 本人到目前为止也还在参与一线运维的值班, ...
- 读SRE Google运维解密有感(一)
前言 这几天打算利用碎片时间读了一下"SRE Google运维解密"这本书,目前读了前几章,感觉收获颇多,结合自己的工作经历和书中的要点,写一些感悟和思考 SRE 有关SRE我就不 ...
- google运维解密
1.运维团队与开发团队的矛盾: 运维追求业务的稳定.开发更关注新功能的添加与版本的快速迭代.但是由于业务更新,有很大可能导致故障.从本质上来说,两部门是矛盾的. deops应该是: 1.对重复性工作有 ...
- SRE_ Google运维解密
# 第IV部分 管理 #系统可用性时间表 # 专用术语 SLO:服务等级目标 LCE(Land-Covered Earth):紧急检修登陆艇 # 紧急事故管理 一次流程管理良好的事故 # 东西早晚要坏 ...
- saltstack自动化运维系列⑩SaltStack二次开发初探
saltstack自动化运维系列⑩SaltStack二次开发初探 1.当salt运行在公网或者网络环境较差的条件下,需要配置timeout时间vim /etc/salt/master timeout: ...
- 双态运维分享之二: 服务型CMDB的消费场景
近年来,CMDB在IT运维管理中的价值逐步得到认可,使用CMDB的期望值也日益增长.然而,CMDB实施和维护的高成本却一直是建设者们的痛点.那么今天,我们来探讨一下如何通过消费来持续驱动CMDB的逐步 ...
- Python自动化运维 - Django(二)Ajax基础 - 自定义分页
Ajax基础 AJAX 不是新的编程语言,而是一种使用现有标准的新方法. AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下. 什么是Ajax AJAX = 异步 Java ...
- 提高运维效率(二)桌面显示IP
运维人员远控电脑询问IP时,总要告诉用户找ip的步骤,岂不很烦? 以下方法直观地把ip地址显示在桌面上,再做个入职培训,即可提高运维效率. 1. 下载bginfo.exe软件,放到域控下的netlo ...
随机推荐
- UVALive - 6434 (思维题)
题目链接:https://vjudge.net/contest/241341#problem/A 题目大意,给你n个数字,让你分成m组,每组的花费为每组的最大值-最小值,总的花费就是各组花费相加,要求 ...
- poco
源码安装: 1, ./configure --omit=Data/MySQL,Data/ODBC,Zip,Crypto,NetSSL_OpenSSL --no-samples --no-te ...
- 第一节,TensorFlow基本用法
一 TensorFlow安装 TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tsnsor(张量)意味着N维数组,Flow(流)意味着基 ...
- OSPF基础介绍
OSPF基础介绍 一.RIP的缺陷 1.以跳数评估的路由并非最优路径 2.最大跳数16导致网络尺度小 3.收敛速度慢 4.更新发送全部路由表浪费网络资源 二.OSPF基本原理 1.什么是OSPF a& ...
- python自动化运维之路~DAY5
python自动化运维之路~DAY5 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.模块的分类 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数 ...
- centos7下安装redis的步骤
原贴地址:https://www.cnblogs.com/zuidongfeng/p/8032505.html 我linux服务器上是这样启动的: cd /tool/redis/redis-3.2.8 ...
- Servlet总结(一)
一.Servlet了解 1.Servlet全称Java Servlet,是用java编写的独立于平台和协议的服务器端应用程序,运行于服务器,采用请求-响应模式提供Web服务 2.Servlet实现过程 ...
- datetimepicker bootstrap的时间插件显示位置问题及其他配置
位置问题: 在bootstrap中用 datetimepicker 时默认是在输入框下面弹出的, 但是遇到输入框在屏幕最下面时,日期选择框会有一部分在屏幕下面,显示不了,因此需要能够从上面弹出. 可以 ...
- .Net并行编程之同步机制
一:Barrier(屏障同步) 二:spinLock(自旋锁) 信号量 一:CountdownEvent 虽然通过Task.WaitAll()方法也可以达到线程同步的目的. 但是Countdown ...
- 电脑爱好——PE系统分区工具 分区时函数错误,报000000001错误 解决方法
1.启动硬盘分区软件diskgenius(一般都是这个分区软件,这个PE系统自带的居多) 2.将现有的分区全部删掉 3.选择菜单栏——“硬盘”——“转换分区表类型为MBR格式”——转换完成 4.快速分 ...