【运维】站点可靠性工程介绍:研发,运维,SRE,Devops的关系

文章目录

        • 1、什么是SRE
        • 2、SRE与研发、运维的区别

1、什么是SRE

站点可靠性工程(SRE) 是 IT 运维的软件工程方案。

  • SRE 团队使用软件作为工具,来管理系统、解决问题并实现运维任务自动化。 SRE 执行的任务以前通常由运维团队手动执行,或者交给使用软件和自动化来解决问题和管理生产系统的工程师或运维团队执行。
  • 站点可靠性工程师是一个独特的岗位,要么必须具有系统管理员背景、或有运维经验的软件开发人员;要么必须是有软件开发技能的 IT 运维人员。
  • SRE 团队负责部署、配置和监控代码,以及生产服务的可用性、延迟、变更管理、应急响应和容量管理。

SRE的起源:

  • 10多年前,谷歌出现了一种新的岗位叫做SRE,它重视运维人员的开发能力,要求运维工作在50%以内,另外50%精力开发自动化工具减少人力需求,谷歌的这种模式大获成功,不仅解决了运维和开发之间的矛盾,还降低了人力成本,这个岗位发展到现在有1000名以上的SRE!这就是SRE的历史起源。

  • 谷歌的一名SRE出了一本书叫《SRE:Google运维解密》,通过这本书,我们知道了谷歌SRE的一些方法论:

    1、运维工作50%,另外50%精力用于开发自动化工具;

    2、保障服务的前提下最大化迭代速度,不追求100%可靠性;

    3、通过监控预案缩短平均恢复时间MTTR;

    4、部署变更管理:渐进发布,精确检测,安全回滚;

  • 从这里我们就可以看出传统运维和SRE的区别了:相对传统运维,SRE重视开发,重视效率,追求自动化,专注于整个软件系统的生命周期管理

    总体来说,SRE就是运维开发一体化的一套方法论,而在国内这种运维开发一体化的模式叫做Devops。

    现在国内传统运维都在向Devops转,所以问题描述上说的SRE和传统运维相似度很高其实是没搞明白SRE是什么。

SRE的需求背景有这么几个:

  1. 像 Google 这样大规模线上服务复杂,服务稳定性要求高。
  2. 研发通常更关注把东西做出来上线,但对于后续线上的维护少一个心眼。而且往往为了尽早上线,会忽略上线后的稳定性问题。
  3. 传统运维需要转型。

1 和 2 促使需要一个专门的工种,而 3 则提供了 SRE 的稳定来源。因为 SRE 是在研发和运维之后出现的工种,所以第一批的 SRE 就是从那两个工种里转型而来。又因为 SRE 的很大一部分工作还是保障业务稳定性,所以从运维转型而来的占大多数。

SRE对岗位能力要求较多,一般包括:

  • 研发能力: 软件开发是SRE很重要的一项工作内容。为提高运维的效率和质量,SRE会专注于开发各种自动化的运维工具,因此,对于SRE 对研发能力提出了较高要求。

  • 问题分析能力: SRE要善于分析问题,从问题中提取用户需求,进而将其沉淀为一个运维工具或产品。

  • 项目管理能力: 运维和研发都属于SRE的日常工作范畴,良好的项目管理能力可以帮助SRE合理安排时间,协调资源投入,保证各项工作的顺利进行。

  • 虽然在线各大厂发布的JD各不相同,但是能力要求是类似的
    各一线大厂对 SRE 的工作要求集中在:
    网络层(VPN、专线、防火墙、http协议、Tcp协议、BGP协议等)
    中间件(接入层、消息队列、缓存、文件存储、搜素、大数据等)
    容器(容器编排、容器、容器网络、镜像管理等)
    操作系统(CPU管理、内存管理、磁盘I/O、网络I/O、内核等)
    基础服务(日志、监控、容器云等)
    在这里插入图片描述在这里插入图片描述

2、SRE与研发、运维的区别

下图描绘了研发 (Dev),SRE,运维 (Ops) 的交叉关系。研发和运维基本上是没有交集的,而 SRE 就像前面说的是具备研发能力的运维,但整体还是更偏运维一点。

研发,SRE ,运维是工种,而 DevOps 是体系。如果拿足球来打比方,研发,SRE ,运维对应的就是前锋,中场,后卫这样的位置,而 DevOps 则是诸如 4-3-3 这样的阵型。

在这里插入图片描述

2.1 研发和运维

  • 研发工程师,工程师,Software Engineer (SWE),Software Developer 或者简称 Developer (Dev)。主要职责是写代码,实现软件业务功能。比如打车功能就是研发工程师用代码实现的。研发主要和代码打交道。
  • 运维工程师,Operations (Ops), Production Engineer (PE)。主要负责机房管理,装机,网络,监控报警,故障应急。早期运维很大比例的工作是和物理机器设备打交道,需要大量的手动操作,操作风险也很高,后来逐渐引入软件或者自己写一些脚本,代码来自动化工作。近 10 多年随着云服务逐渐取代物理机,传统运维的职能被大幅度缩减,成为了一个逐渐要消亡的工种。

2.2 运维和SRE

  • 简单来说,SRE 是传统运维的升级版,区别于传统运维的地方:
    1. 不再负责和物理设备打交道,这部分交给云服务了。
    2. 通过体系化的手段来保障业务稳定性,比如构建自动化工具,和研发团队一起制定 SLO (Service Level Objective),让双方有可以一起遵守的契约,来保证服务的健康度。
    3. 工程研发能力。SRE 也可以说是具备研发能力的运维,有些 SRE 还具备很强的研发能力,比如监控软件 Prometheus 的作者就曾是 Google 的 SRE。

2.3 DevOps 和 SRE

  • DevOps 是一种体系,研发 Dev 和运维 Ops 这两个工种是没有交集的,DevOps 就是要把这两个工种融合在一起,更确切的讲,是要让 Dev 去承担 Ops 的工作

  • 在 DevOps 的体系里,是没有传统运维这个角色的,运维的职能可能由研发和 SRE 共同分担,也有可能由研发独自承担,连 SRE 角色都没有。 后一种情况下,研发等于变成了全干工程师。

  • 和 DevOps 一样,SRE 也与团队文化和关系密切相连。SRE 和 DevOps 都致力于搭建开发团队和运维团队之间的互通桥梁,以便加快交付服务。

  • 然而,SRE 与 DevOps 有所不同,因为它依赖于开发团队中的站点可靠性工程师,这些工程师也要有解决通信和工作流程问题的运维背景。 站点可靠性工程师本身要求职责重叠,兼具开发团队和运维团队的技能。

  • DevOps 团队的开发人员常常疲于处理运维任务,需要拥有更专业运维技能,而 SRE 就能派上用场。 在编码和构建新功能时,DevOps 专注于有效通过开发流程,而 SRE 专注于通过创建新功能来平衡站点可靠性。

  • 在这里,基于容器技术、Kubernetes 和微服务的现代化应用平台是落实 DevOps 实践的关键所在,可帮助企业交付安全的创新软件服务。 也是研发支撑软件的搭建。

在这里插入图片描述

参考资料:1,2,3,4,5,6,7,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/692729.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT遭受匿名苏丹组织DDoS攻击:网络安全在AI时代的新挑战

ChatGPT遭受匿名苏丹组织DDoS攻击:网络安全在AI时代的新挑战 最近,全球备受瞩目的AI对话机器人ChatGPT及其开发公司OpenAI遇到了一连串的服务中断和异常错误,这一系列问题背后似乎暗藏了分布式拒绝服务(DDoS)攻击的阴…

Huggingface镜像网站下载语言模型方法

通常通过镜像网站下载https://hf-mirror.com/。 在链接页面有介绍方法,对于不大的模型可以直接下载。这里介绍比较常用且方便的下载方法。 使用huggingface 官方提供的 huggingface-cli 命令行工具 安装(huggingface_hub、hf_transfer安装可以使用-i命…

Elasticsearch:创建自定义 ES Rally tracks 的分步指南

作者:Alejandro Snchez 按照这个综合教程学习如何制作个性化的 Rally tracks ES Rally 是什么?它的用途是什么? ES Rally 是一个用于在 Elasticsearch 上测试性能的工具,允许你运行和记录比较测试。 做出决策可能很困难&#x…

OpenCV统计函数之minMaxLoc和meanStdDev

在OpenCV中,minMaxLoc和meanStdDev是两个用于统计图像或数组中元素的基本特性的函数。这些统计函数对于图像处理、特征提取和数据分析非常有用。 minMaxLoc minMaxLoc函数用于查找数组或图像中的最小值和最大值,并可选地返回这些值的位置。这在处理图像…

Vue模版语法之属性绑定v-bind

双大括号不能在 HTML 属性中使用。想要响应式地绑定一个属性&#xff0c;应该使用 v-bind 指令 1. 使用v-bind绑定属性 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>新建页面</title><sc…

【Java中23种设计模式-单例模式--饿汉式】

加油&#xff0c;新时代打工人&#xff01; 简单粗暴&#xff0c;直接上代码。 23种设计模式定义介绍 Java中23种设计模式-单例模式 Java中23种设计模式-单例模式2–懒汉式线程不安全 Java中23种设计模式-单例模式2–懒汉式2线程安全 package mode;/*** author wenhao* dat…

一个PDF处理利器的.Net开源项目

在项目开发中&#xff0c;处理PDF文件是一个非常常见的需求&#xff0c;之前也推荐几个&#xff0c;今天继续给大家推荐一个强大且易于使用的开源库&#xff0c;专门用于处理PDF文件&#xff0c;它提供了一系列功能强大的工具&#xff0c;帮助开发人员轻松地解析、修改和创建PD…

【蓝桥杯基础】1.7星系炸弹

问题 在X星系的广袤空间中漂浮着许多X星人造“炸弹”&#xff0c;用来作为宇宙中的路标。 每个炸弹都可以设定多少天之后爆炸。 比如&#xff1a;阿尔法炸弹2015年1月1日放置&#xff0c;定时为15天&#xff0c;则它在2015年1月16日爆炸。 有一个贝塔炸弹&#xff0c;2014年…

基于物联网智慧公厕的多功能城市智慧驿站

在现代城市发展中&#xff0c;智慧化已经成为了一个不可或缺的趋势。而多功能城市智慧驿站&#xff0c;作为智慧城市建设的一部分&#xff0c;以物联网智慧公厕为基础&#xff0c;集合了诸多功能于一身&#xff0c;成为了城市中不容忽视的存在。多功能城市智慧驿站也称为轻松的…

Spring Cloud部署篇1——Jar包部署至CentOS云服务器

一、项目介绍 系统模块 com.mingink |--mingink-api // 接口模块 | └──mingink-api-system // 系统接口 |--mingink-common // 通用模块 | └──mingink-common-core // 系统接口 |--mingink-gateway…

shapely 笔记:STR TREE

数据结构笔记&#xff1a;R树-CSDN博客 1 基本介绍 使用Sort-Tile-Recursive (STR) 算法创建的仅查询的R-tree空间索引该树索引每个几何图形的边界框。树在初始化时直接构建&#xff0c;且一旦创建后不能添加或移除节点所有操作返回输入几何图形的索引边界框限于二维并且是轴…

前端常见面试题之vue2

文章目录 一、vue2中父子组件嵌套时的生命周期执行顺序是怎样的1. 挂载阶段2. 更新阶段3. 销毁阶段 二、vue组件通讯方式有哪些1. 父子组件通讯方式(1). Props 和 Events&#xff1a;父组件通过props向子组件传递数据&#xff0c;子组件通过事件向父组件传递数据。(2). $parent…

[word] word定时自动保存功能的作用是什么 #知识分享#学习方法#媒体

word定时自动保存功能的作用是什么 word定时自动保存功能的作用是什么 这是word提供的一个保护用户文档的功能&#xff0c;一般情况下是为了预防在未知原因的情况下&#xff0c;用户电脑关闭&#xff0c;或者不小关掉Word&#xff0c;导致正在使用的文档丢失&#xff0c;给用户…

nginx的功能以及运用

nginx与apache的对比 nginx优点 nginx使用场景 编译安装nginx过程 1.先清空opt文件夹 2.关闭防火墙&#xff0c;关闭防护 3 安装依赖包&#xff0c;可以通过本地yum去安装 首先就是挂载&#xff0c;随后切换到配置文件中修改 4本地配置文件配置内容 5 随后安装环境包 yum -y …

洛谷 P1241 括号序列 (Java)

洛谷 P1241 括号序列 (Java) 传送门&#xff1a;P1241 括号序列 题目&#xff1a; 括号序列 题目描述 定义如下规则&#xff1a; 空串是「平衡括号序列」若字符串 S S S 是「平衡括号序列」&#xff0c;那么 [ S ] \texttt{[}S\texttt] [S] 和 ( S ) \texttt{(}S\textt…

uniapp运动课程健身打卡系统微信小程序

考虑到实际生活中在我来运动管理方面的需要以及对该系统认真的分析,将系统分为小程序端模块和后台管理员模块&#xff0c;权限按管理员和用户这两类涉及用户划分。 (a) 管理员&#xff1b;管理员使用本系统涉到的功能主要有&#xff1a;首页、个人中心、用户管理、课程类别管理…

Python爬虫之图形验证码的识别

爬虫专栏&#xff1a;http://t.csdnimg.cn/WfCSx 前言 目前&#xff0c;许多网站采取各种各样的措施来反爬虫&#xff0c;其中一个措施便是使用验证码。随着技术的发展&#xff0c;验证码的花样越来越多。验证码最初是几个数字组合的简单的图形验证码&#xff0c;后来加入了英…

Java学习25--自定义异常

自定义异常class 自定义异常通常要配合 override “toString”命令&#xff0c;其实质是一个会报错的method,像一个交通违章通报LED&#xff0c;但何时被触发&#xff0c;如何算是违反交通&#xff0c;并不会在此class定义。 自定义异常class的步骤&#xff1a; 自建个异常类…

机械臂目标抓捕学习笔记【1】

基于概率量度的机械臂视觉伺服目标捕获运动规划方法 目录 基于概率量度的机械臂视觉伺服目标捕获运动规划方法期望轨迹序列状态转移函数系统测量值模型线性化卡尔曼滤波状态估计代价函数-闭环反馈轨迹误差方差误差几何化表示到达概率计算 参考文献&#xff1a;《[1]祁若龙,邵健…

直接查看电脑几核芯几线程的方法

之前查看电脑几核芯几线程时都是点击 此电脑->属性->设备管理器->处理器 但是这样并不能判断是否有多线程 譬如这里&#xff0c;是2核芯2线程还是4核芯&#xff1f; 实际上&#xff0c;打开任务管理器后点击性能查看核芯线程数即可 所以示例这台电脑是4核芯而不是2…