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 需要人工参与处理的,属于不可预见,没有既定方案的

最新文章

  1. SQL SERVER 2008 评估期已过
  2. R You Ready?——大数据时代下优雅、卓越的统计分析及绘图环境
  3. javascript关键字和保留字
  4. Mac 实用工具与问题解决
  5. 网络编程应用:基于UDP协议【实现文件下载】--练习
  6. selenium WebDriver 八种定位方式源码
  7. RxJava(10-操作符原理&自定义操作符)
  8. Python基础:四、python的优缺点
  9. DNS实战--2
  10. go标准库的学习-database/sql
  11. PHP面试准备
  12. VS2010 正在创建“Debug\test2.unsuccessfulbuild”,因为已指定“AlwaysCreate”。
  13. 612.1.002 ALGS4 | Analysis of Algorithms
  14. P4774 [NOI2018]屠龙勇士
  15. JS判断输入值为正整数
  16. 35 、HashSet详解
  17. 读取数据库中timestamp类型去掉毫秒
  18. HDFS集中式的缓存管理原理与代码剖析
  19. (转)DataTable与结构不同实体类之间的转换
  20. C#调用页面中的窗体中的方法,获取窗体的元素。

热门文章

  1. Codeforces Round #198 (Div. 2) E. Iahub and Permutations —— 容斥原理
  2. MYSQL进阶学习笔记十七:MySQL定期维护!(视频序号:进阶_36)
  3. html5--5-1 了解canvas元素
  4. 开发自己的composer包
  5. Asterisk 拨号方案中截取字符串
  6. Spring 事务管理高级应用难点剖析: 第 1 部分
  7. C++日志之获取函数的名字,行号,文件名
  8. Mysql数据库--语句整理/提升/进阶/高级使用技巧
  9. bzoj 4289 PA2012 Tax——构图
  10. Day03:集合、文件处理和函数基础