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. json Gson

    package com.example.volleylearn; import java.util.ArrayList; import java.util.List; import java.util ...

  2. Mapper3中Example的高级使用方法

    http://zhuangxiaoda.leanote.com/post/Mapper3%E4%B8%ADExample%E7%9A%84%E4%BD%BF%E7%94%A8%E6%96%B9%E6% ...

  3. 追求代码质量: 用 AOP 进行防御性编程

    原文出处: IBM中国 开发人员测试的主要缺点是:绝大部分测试都是在理想的场景中进行的.在这些情况下并不会出现缺陷 —— 能导致出现问题的往往是那些边界情况. 什么是边界情况呢?比方说,把 null  ...

  4. ansible-playbook初始化服务器

    hosts ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [test] 0.0.0.0 ansible_ssh_us ...

  5. WPF-初始屏幕(SplashScreen)

    本主题介绍如何将启动窗口(也称为“初始屏幕”)添加到 Windows Presentation Foundation (WPF) 应用程序. 添加现有图像作为初始屏幕 创建或查找要用于初始屏幕的图像. ...

  6. SSL handshake_decode_error

    查看布署在Amazon服务器上的日志时,发现如下错误: generated SERVER ALERT: Fatal - Handshake Failure - handshake_decode_err ...

  7. <编译>条件编译——判断当前使用的编译器及操作系统

    有时候编译需要多平台运行的代码,需要一些条件编译,经常忘记,这里专门记录一下,方便下次查找.   编译器 GCC #ifdef __GNUC__ #if __GNUC__ >= 3 // GCC ...

  8. [SCOI 2014] 方伯伯的玉米田

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=3594 [算法] 首先有一个结论 : 每次选择的区间右端点一定是n 根据这个结论 , ...

  9. vue 表单验证省市县三联动

    <el-col :span="24"> <el-form-item label="所在地区" prop="region" ...

  10. TFS独占签出代码

    最近发现微软给我们提供了免费的TFS,地址:http://tfs.visualstudio.com/, 就注册了一个,但是我发现没办法独占签出. 在公司里,TFS有服务端,所以很好设置,但是注册微软的 ...