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

news/2024/6/15 4:27:39 标签: 后端, 运维开发, devops

在这里插入图片描述

  • 在公司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.niftyadmin.cn/n/5031825.html

相关文章

Flutter快速入门学习(二)

目录 Dart介绍 一些Dart的重要概念 Dart语法学习 变量 内建类型 Number String Boolean List Set Map Symbol 函数 参数类型(可选参数,必选参数) 函数作为另一个函数的参数 匿名函数 运算符 关系运算符 类型判定运算符 赋…

王道数据结构C语言单链表基本操作实现

文章目录 一、头插二、尾插三、查找3.1按序号插3.2按值查 四、任意位置插入五、删除结点 一、头插 头插流程示意图&#xff1a;注意是先连后断 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> //单链表定义 //链表结点 typedef struct {//定义单链表结点类型in…

Spring的 webFlux 和 webMVC

看到一个测评文章&#xff0c;并发在300的时候webMVC 和 webFlux的处理能力不相上下&#xff0c; 当并发达到3000的时候, webFlux明显优于webMVC, 有图有真相&#xff0c; 我信了. webMVC 是 one-request-one thread 堵塞模式, flux是非阻塞模式&#xff0c; 是spring家族系列…

【测试开发】答疑篇 · 什么是软件测试

【测试开发】答疑篇 文章目录 【测试开发】答疑篇1. 生活中的测试2. 什么是软件测试3. 为什么要有测试/没有测试行不行4. 软件测试和软件开发的区别5. 软件测试和软件调试之间的区别6. 软件测试的岗位7. 优秀测试人员具备的素质 【测试开发】答疑篇 软件不一定是桌面应用&#…

【Stable Diffusion】安装 Comfyui 之 window版

序言 由于stable diffusion web ui无法做到对流程进行控制&#xff0c;只是点击个生成按钮后&#xff0c;一切都交给AI来处理。但是用于生产生活是需要精细化对各个流程都要进行控制的。 故也就有个今天的猪脚&#xff1a;Comfyui 步骤 下载comfyui项目配置大模型和vae下载…

【VS Code】根据时间和文件名查看增删改的历史记录

我的 VS Code 已设置为自动保存。 左下角这个 TIMELINE 里面记录着我们使用 VS Code 操作各文件的历史记录。 打开 Local History 可以根据时间和文件名查看增删改的历史记录&#xff0c;比如&#xff1a; 然后我们根据时间和文件名&#xff0c;打开一个文件&#xff1a; 即可…

【深度学习】Pytorch 系列教程(十):PyTorch数据结构:2、张量操作(Tensor Operations):(4)索引和切片详解

目录 一、前言 二、实验环境 三、PyTorch数据结构 0、分类 1、张量&#xff08;Tensor&#xff09; 2、张量操作&#xff08;Tensor Operations&#xff09; 1. 数学运算 2. 统计计算 3. 张量变形 4. 索引和切片 使用索引访问单个元素 使用切片访问子集 使用索引和…

阿里云通义千问大模型正式开放;玩10次ChatGPT就要消耗1升水

&#x1f989; AI新闻 &#x1f680; 阿里云通义千问大模型正式开放&#xff0c;已有超20万企业申请接入测试 摘要&#xff1a;阿里云通义千问大模型已经通过备案并向公众开放。用户可以登录官网体验&#xff0c;企业用户可以通过阿里云调用API。阿里云通义千问在一个月的邀测…