1 规模效应

业务越庞大,服务器就越多,服务越多,就越需要拆分成分布式架构。架构越复杂,对运维的能力要求就越高、出错的概率就越大,运维的工作量就越大。因此就要更多开发提升效率的工具。

而在小企业,业务没有那么庞大,公司没有能力也不需要sre,只需要几个初级的linux系统管理员,做些手动的操作就可。

所以,sre在小企业是无法诞生的,因为没有起因。

2 SRE出身

2.1 做什么

软件工程师专注于软件系统的设计和实现。

需要另一个职业,专注于软件系统在整个生命周期中的保持稳定运行、发现问题,和软件工程师沟通甚至参与、约束他们的开发,以改进整个软件系统。

这个职业,google称之为站点可靠性工程师(SRE)。

他们要做什么?

1 参与软件系统的设计和改进,防止他们开发一些很容易在基础架构层面出bug的东西。

2 开发运维平台,比如软件工程师设计组件状态抛出接口,SRE从接口拉取数据并设计组件运行状态图表。

3 强化软件系统可靠性。比如所有组件的监控以及自动化反应、处理任何潜在的性能瓶颈。

2.2 会什么

1 传统运维技能

2 用软件技术自动化手动运维操作的开发能力

3 懂开发人员的部分技术

2.3 前身

1 运维学开发

2 开发学运维

2.4 工作目标

单元部署、业务变更、故障处理也许都是手动操作的,这些工作也许花掉了运维很多时间。

第一步,就是保证足够的时间来编程,自动化某些人工流程。

第二步,继续编程,开发详尽的监控功能,并使程序能自动处理故障。

第n步,还是编程,以消灭所有人为操作为目标。

然后把web界面直接开放给运营或者开发,让他们自己去部署。这样应用运维就可以从部署中解放出来。

3 可靠性

用户不满意服务,就意味着玩家流失,就意味着业务的估值下降。

考虑几个问题

1 我现在的业务,在用户的使用习惯中,可靠性要达到多少才算满意?

2 在业务运行的过程中,哪些不完善的机制导致了业务出现问题,如何才能在机制层面解决这些问题?

3 可靠性、人力成本和设备成本之间的平衡点在哪?

4 错误预算:运维的目标不是保证100%的可靠性,多少量的生产事故是可接受的?我需要设定目标。

4 监控系统

一个系统不可能不出故障,重点是可以快速定位故障,快速解决故障。所以需要监控系统。监控系统是保证系统可靠性的核心手段之一。

主要有几类监控

1 可以自动化分析处理的,属于可预见、既定方案的

2 需要人工参与处理的,属于不可预见,没有既定方案的

SRE思想的更多相关文章

  1. 读SRE Google运维解密有感(二)

    前言 这是读“SRE Google运维解密”有感第二篇,第一篇参见 这本书最近又读了几章,结合自己的经历,有些地方真的能感同身受,有些地方也惊叹SRE充满辩证的思想,总之SRE是好一本好书,会给你很大 ...

  2. 强大的Grafana k8s 插件

    原文参考: https://i4t.com/4152.html 参考:https://blog.csdn.net/mailjoin/article/details/81389700 插件链接:http ...

  3. Kubernetes 监控--Prometheus

    在早期的版本中 Kubernetes 提供了 heapster.influxDB.grafana 的组合来监控系统,在现在的版本中已经移除掉了 heapster,现在更加流行的监控工具是 Promet ...

  4. 读SRE Google运维解密有感(一)

    前言 这几天打算利用碎片时间读了一下"SRE Google运维解密"这本书,目前读了前几章,感觉收获颇多,结合自己的工作经历和书中的要点,写一些感悟和思考 SRE 有关SRE我就不 ...

  5. SRE学习笔记:分布式共识系统、Paxos协议

    最近阅读了<SRE Google运维解密>的第23章,有一些感触,记录一下. 日常工作中,我们经常需要一些服务分布式的运行.跨区域如跨城.跨洲部署运行分布式系统往往是容易的,但是如何保证各 ...

  6. Google SRE 读书笔记 扒一扒SRE用的那些工具

    写在前面 最近花了一点时间阅读了<SRE Goolge运维解密>这本书,对于书的内容大家可以看看豆瓣上的介绍.总体而言,这本书是首次比较系统的披露Google内部SRE运作的一些指导思想. ...

  7. JavaWeb之Servlet、拦截器、监听器及编程思想

    本文包含的内容有: Servlet的理解 自定义Servlet.监听器和过滤器 三者的一点点编程设计思想 后续的学习 JavaWeb是Web开发的重要基础,对Servlet.监听器和过滤器等知识的掌握 ...

  8. 数学思想:为何我们把 x²读作x平方

    要弄清楚这个问题,我们得先认识一个人.古希腊大数学家 欧多克索斯,其在整个古代仅次于阿基米德,是一位天文学家.医生.几何学家.立法家和地理学家. 为何我们把 x²读作x平方呢? 古希腊时代,越来越多的 ...

  9. 可爱的豆子——使用Beans思想让Python代码更易维护

    title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...

随机推荐

  1. javascript Date对象的介绍及linux时间戳如何在javascript中转化成标准时间格式

    1.Date对象介绍 Date对象具有多种构造函数.new Date()new Date(milliseconds)new Date(datestring)new Date(year, month)n ...

  2. UVA1025 A Spy in the Metro —— DP

    题目链接: https://vjudge.net/problem/UVA-1025 题解: 详情请看紫书P267. 与其说是DP题,我觉得更像是模拟题,特别是用记忆化搜索写. 递推: #include ...

  3. MySQL学习笔记(三)——计算字段及常用函数

    拼接字段-Concat()函数        将值连接在一起构成单个值.注意:大多数DBMS使用+或者||来实现拼接,mysql则使用Concat()函数来实现. 去空格函数-Trim函数       ...

  4. Android记录程序崩溃Log写入文件

    将导致程序崩溃的堆栈调用Log写入文件,便于收集bug.在调试安卓程序,由于某些原因调试时手机不能连接PC端,无法通过IDE查看程序崩溃的Log,希望log能够写入文件中,对于已经发布的App可以通过 ...

  5. 谈谈javaScript

    谈谈javaScript  (杰我学习) 一. 什么是JavaScript       人们通常所说的JavaScript,其正式名称为ECMAScript.这个标准由ECMA组织发展和维护.ECMA ...

  6. coeforces 665D D. Simple Subset(最大团orsb题)

    题目链接: D. Simple Subset time limit per test 1 second memory limit per test 256 megabytes input standa ...

  7. python之yield和Generator

    首先我们从一个小程序导入,各定一个list,找出其中的素数,我们会这样写 import math def is_Prims(number): if number == 2: return True / ...

  8. ROM的分类

    转载自:http://www.ic37.com/htm_tech/2012-5/82774_23811.htm ROM(只读存储器)按其内容写入方式,一般分为3种:固定内容ROM:可一次编程PROM: ...

  9. 增加,删除GMS包

    1. device/hiteq/vtab_1050_standard/httek.mk BUILD_GMS:=yes GMS_VARIANT:=mini 2. rm out/target/produc ...

  10. 微信小程序把玩(三十)wx.request(object) API

    这里通过干活集中营的API接口真实请求下数据.如果提示URL 域名不合法,请在 mp 后台配置后重试修改asdebug.js两行代码即可可看下面图 百牛信息技术bainiu.ltd整理发布于博客园 定 ...