[每周一更]-(第62期):SRE 是什么?

news2024/11/23 19:11:40

在这里插入图片描述

  • 在公司Devops平台搭建,采用了Jenkins+Git+Gitlab+Docker,进行了自动化构建和部署代码,解放了繁杂的代码更改到test/prod环境的问题;
    这部分更多是运维比例极大,少量的开发操作,基本都是配置命令行以及yml配置、docker搭建平台调整参数等等;
  • SRE有点开发和运维结合的意味;
    • wiki解释:

站点可靠性工程(英语:Site reliability engineering,SRE)是一门将软件工程应用于基础设施以及运营的学科,该概念由Google于2003年提出。
站点可靠性工程主要目标是创建可扩展和高可用性的软件系统。

职责
站点可靠性工程师要花50%的时间来参与与软件运营相关的工作,如解决问题、随叫随到和人工干预。由于站点可靠性工程师所负责的软件系统需要高度自动化和自我修复,
所以站点可靠性工程师要将另外50%的时间用于开发工作,如增加新功能等工作

概念

站点可靠性工程(SRE)是 IT 运维的软件工程方案。SRE 团队使用软件作为工具,来管理系统、解决问题并实现运维任务自动化。

SRE是"Site Reliability Engineering"(站点可靠性工程)的缩写,是一种将软件工程和系统运维结合起来的角色和方法论。SRE的主要目标是确保在线服务的稳定性、可靠性和性能,以提供高质量的用户体验。

SRE团队的成员通常是具备软件工程和系统运维技能的专业人士,他们的工作不仅仅是维护和管理系统,还包括编写自动化工具、设计监控系统、优化性能、处理故障和紧急情况等。SRE倡导以软件工程的方式来管理和运维基础设施,通过代码来实现自动化运维、监控和故障恢复,以降低人工操作带来的风险。

SRE的一些核心原则和实践包括:

  • 服务水平指标(SLI)和服务水平目标(SLO):明确量化服务的性能指标和可靠性目标,通过监控来确保这些目标的达成。
  • 自动化:使用代码和自动化工具来管理基础设施,降低人工操作的风险。
  • 容错和故障恢复:设计系统以容忍故障,实现自动的故障恢复机制,保障系统的可用性。
  • 持续改进:通过持续监控、数据分析和迭代优化来不断提升系统的性能和可靠性。

SRE模式的引入,旨在解决传统运维与开发之间的鸿沟,以及保障在线服务的高可用性和稳定性。Google是最早倡导并实践SRE模式的公司之一,其经验和方法论在业界引起了广泛的关注和应用。随着云计算和大规模在线服务的发展,SRE作为一种新型的运维和工程角色,逐渐成为许多技术公司的常见职位和团队。

什么是站点可靠性工程师?

站点可靠性工程师是一个独特的岗位,要么必须具有系统管理员背景、或有运维经验的软件开发人员;要么必须是有软件开发技能的 IT 运维人员。

SRE 团队负责部署、配置和监控代码,以及生产服务的可用性、延迟、变更管理、应急响应和容量管理。

SRE 团队根据服务水平协议(SLA)确定新功能的推出,并利用服务水平指标(SLI)和服务水平目标(SLO)定义系统所需的可靠性。

SLI 测量所提供服务水平的特定方面。关键 SLI 包括请求延迟性、可用性、错误率和系统吞吐量。SLO 基于根据 SLI 而指定的服务水平的目标值或范围。

然后,根据确定可接受的停机时间,确定所需系统可靠性的 SLO。这个停机时间称为误差量,即出错和中断的最大允许阈值。

SRE 并不是要实现 100% 可靠性,而是针对故障做好计划并妥善应对。

一旦建立,开发团队就可以在发布新功能时允许出现这一定量的误差。利用 SLO 和误差量,团队随后可确定产品或服务是否能够在可用误差量的基础上启动。

如果某个服务在运行时处于误差量以内,则开发团队可在任何时间发布它,但是,如果系统当前有太多错误或停机时间超过误差量的允许范围,则必须使错误数减少至误差量以内后才能发布。

开发团队可执行自动化运维测试以验证可靠性。

站点可靠性工程师的时间要均衡分配给运维任务和项目工作。根据 Google 的 SRE 最佳实践,站点可靠性工程师最多只能将一半的时间花在运维上,所以应该监控确保不会超过这个时间。

他们剩余的时间应专注于开发任务上,比如创建新功能,扩展系统,以及实施自动化。

额外的运维工作和表现欠佳的服务应重新指定给开发团队,这样站点可靠性工程师就不用将太多时间花在应用或服务的运维上。

自动化是站点可靠性工程师的重要工作部分。如果他们一直在反复处理同一个问题,就会努力实现解决方案自动化。

保持运维和开发工作之间的平衡是 SRE 的重要组成部分。

DevOps 和 SRE

DevOps 是指对企业文化、业务自动化和平台设计等方面进行全方位变革,从而实现迅捷、优质的服务交付,提升企业价值和响应能力。SRE 可视为 DevOps 的实施。

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

DevOps 和 SRE 实践都可以实现更快的应用开发生命周期、改进的服务质量和可靠性,以及缩短的 IT 应用开发时间等优势。

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

站点可靠性工程师本身要求职责重叠,兼具开发团队和运维团队的技能。

DevOps 团队的开发人员常常疲于处理运维任务,需要拥有更专业运维技能,而 SRE 就能派上用场。

在编码和构建新功能时,DevOps 专注于有效通过开发流程,而 SRE 专注于通过创建新功能来平衡站点可靠性。

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

参考:

  • https://www.redhat.com/zh/services/training/transitional-approach-implementing-pragmatic-site-reliability-engineering-sre-technical-overview
  • https://zhuanlan.zhihu.com/p/22354002
  • https://github.com/singgel/Study-Floder/blob/master/SRE%20%20Google%E8%BF%90%E7%BB%B4%E8%A7%A3%E5%AF%86.pdf

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

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

相关文章

【LeetCode75】第五十三题 猜数字大小

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 题目就是让我们猜数字,要猜中的数字为1~n,并且给我们提供一个api,传入一个数字表示是我们猜的数&…

ABB UF C911B108 3BHE037864R010控制主板模块

ABB UF C911B108 3BHE037864R010 控制主板模块通常用于ABB的工业自动化和控制系统中,作为关键组件之一,用于执行控制、监测和通信任务。以下是通常情况下控制主板模块的一些产品功能: 高性能处理器:ABB UF C911B108 3BHE037864R01…

使用ExcelJS快速处理Node.js爬虫数据

什么是ExcelJS ExcelJS是一个用于处理Excel文件的JavaScript库。它可以让你使用JavaScript创建、读取和修改Excel文件。 以下是ExcelJS的一些主要特点: 支持xlsx、xlsm、xlsb、xls格式的Excel文件。可以创建和修改工作表、单元格、行和列。可以设置单元格样式、字…

C++之构造函数初始化列表()与{}区别(一百九十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

物资管理系统数据分析报告

目 录 1.需求分析 1.1系统目标与要求 1.2系统分析 1.3业务流程图 2.系统逻辑方案 2.1数据流程图(DFD): 2.2数据字典(简称DD) 3系统总体结构设计 3.1软件系统总体结构设计 3.2数据存储的总体设计…

【Spark的五种Join策略解析】

join基本流程 Spark将参与Join的两张表抽象为流式遍历表(streamIter)和查找表(buildIter),通常streamIter为大表,buildIter为小表,我们不用担心哪个表为streamIter,哪个表为buildIter,这个spark会根据join语句自动帮我…

硬不硬你说了算!近 40 张图解被问千百遍的 TCP 三次握手和四次挥手面试题

前言 不管面试 Java 、C/C、Python 等开发岗位, TCP 的知识点可以说是的必问的了。 任 TCP 虐我千百遍,我仍待 TCP 如初恋。 遥想小林当年校招时常因 TCP 面试题被刷,真是又爱又狠…. 过去不会没关系,今天就让我们来消除这份恐…

hadoop运行WordCount时,Input path does not exist错误原因

修改配置文件core-site.xml 为如下所示 vim /usr/local/hadoop/etc/hadoop/core-site.xmlxml文件改为 <configuration></configuration>如果将core-site.xml文件变动为原来的内容&#xff0c;则程序将不再去hdfs://localhost:9000下寻找input文件&#xff0c;而是…

解决uniapp局部页面(scrollview)下拉刷新出现不能复位的问题

问题所在&#xff1a;&#xff08;困扰了我一天&#xff09; 局部页面自定义刷新出现下拉页面不能复位的问题 看下解决后的效果 废话不多说直接上代码 <view class"content"><scroll-view class"section" :style"{height:300px}" :re…

IDEA设置方法分割线

IDEA设置方法分割线 最近在学习视频教程的时候&#xff0c;总是能看到一些大佬用的IDEA与自己的仿佛不是一个软件&#xff01; 如下图&#xff1a; 看到一些老师用IDEA时&#xff0c;方法上都会有一条横线。感觉这样很方便&#xff0c;于是乎自己设置了一下。现在分享给大家&…

react处理跨域

如果是新建的react项目&#xff0c;没有将webpack的配置文件释放出来的话&#xff0c;请先运行 npm run eject 根目录会出现config文件夹&#xff0c;找到path.js就可以看到proxy的配置&#xff0c;默认读取的是src/setupProxy.js 那么我们可以在src目录下新建setupProxy.js…

快解析内网穿透如何帮你轻松实现外网远程连接?

外网相信大家多少了解一点&#xff0c;其实就是连接不同地区局域网&#xff0c;或者是城域网计算机通信的远程网&#xff0c;因此被称为广域网或者公网。在这个互联网信息时代&#xff0c;很多用户还是不知道怎么连接外网&#xff1f;外网远程桌面连接的步骤是怎样的&#xff1…

【Samba】win 11 不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接

win11 遇到不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接 原因 之前使用两个用户登录过&#xff0c;没有释放 解决方案1 1、打开cmd命令窗口&#xff1a; net use * /del /y 命令中断开所有连接. 2、重新登录 解决方案2 删除后重启

【Linux问题】日期校准

问题 请求阿里云对象存储返回 The difference between the reguest time and the current time is too large. 规定时间和当前时间之间的差异太大。 由于虚拟机出现问题导致服务器时间不准 正常的服务器时间 异常的服务器时间 设置一下时间就好 校准时间 安装 yum insta…

winscope怎么实现user版本上导出方案设计探讨-千里马android framework车载车机手机系统开发

背景 在马哥给讲解怎么用winscope来分析各种闪黑&#xff0c;黑屏等问题后&#xff0c;很多买课的同学都开始使用这个工具用于实际公司的项目了&#xff0c;但是很多同学又开始发现有一个问题&#xff0c;那就发现在user版本的手机设备上发现无法抓取相关的winscope&#xff0…

在 CentOS 7 上安装中文字体

在 CentOS 7 上安装中文字体 1. 安装中文字体包&#xff1a;2. 配置字体&#xff1a;3. 更新字体缓存&#xff1a; 在 CentOS 7 上安装中文字体可以按照以下步骤进行&#xff1a; 1. 安装中文字体包&#xff1a; sudo yum install -y fontconfig sudo yum install -y cjkuni-…

MobaXterm-Chinese中文版本安装及简单使用

项目原地址&#xff1a; https://mobaxterm.mobatek.net/download.html 1.开源中文版 项目地址&#xff1a; https://github.com/RipplePiam/MobaXterm-Chinese-Simplified?loginfrom_csdn 本仓库旨在对 MobaXterm Home Edition &#xff08;Portable edition&#xff09; 进…

新闻轮播图

一、效果图 二、vue中html部分 <div class"swiper-container" ref"swiperDom"><div class"swiper-wrapper"><div class"swiper-slide" v-for"(item,index) in newsImageList" :key"index"><…

【语义分割 01】Open MMLab介绍

1 Tutorial https://github.com/TommyZihao/MMSegmentation_Tutorials https://github.com/TommyZihao/Train_Custom_Dataset https://github.com/TommyZihao/aidlux_tutorial OpenMMLab是一个由中国开发者主导的具有世界影响力的人工智能计算机视觉开源算法体系, 至今已经开…

剪辑的视频太大怎么办?一分钟学会压缩视频

当我们剪辑视频时&#xff0c;常常会遇到视频文件过大&#xff0c;导致传输不变、存储空间不足等问题&#xff0c;那么如何解决这个问题呢&#xff1f;下面就给大家分享几个压缩视频文件大小的方法&#xff0c;轻松解决剪辑视频太大的问题~ 一、使用视频压缩工具 这边给大家分…