SRE体系建设指南

sre体系建设指南

一、团队建设

指导思想

拥抱风险:容忍风险、度量风险、管理风险、研究当前高频故障原因和主要风险;演进式、SLO目标内允许故障

工作准则:专注改进设计、专注研发工作;把可靠性工作纳入软件各阶段、简单化、减少琐事

工作方法

Google Sre具体方法:紧急响应、有效告警、Oncall轮值;事后总结、故障管理、有效排障;应对过载、测试可靠性、故障跟踪;可靠性管理、处理连锁故障

Mikey金字塔:容量规划、开发工作、用户体验、监控、事故响应、事后回顾、测试与发布;沟通与协作

工作目标

确定可靠性工作对象:强依赖服务、核心系统/服务、核心业务

目标与度量:确定合理目标、服务质量目标、SLI/SLO/SLA、目标一致性(上下游强依赖关系的服务目标对齐)、Error Budget错误预算

代码质量:回归策略、测试有效、研发过程、性能压力测试、联调测试

软件可靠性-长期关注研发工作

业务架构:强弱依赖、核心链路、用户旅程、资损防控、攻防演练;数据对账(隔天对账、实时对账)

应用架构:微服务架构、分层架构、可熔断可降级、调用方式

系统架构:资源隔离、服务隔离、业务隔离

基础设施架构:双活、主备冗余、反亲和、流量调度、两地三中心

标准规范

优秀实践、标准作业流程SOP、组织红线、通用标准

SRE文化

自驱、精进、担当、开放、协作、共享(团队文化关键字);业界倡导/宣言(研发效能宣言、敏捷宣言、DevOps八荣八耻)

人才培养

岗位互备、技术分享、学习小组、新人辅导

二、工具链打造

可观测性

包含内容:聚合度量指标、链路追踪(StackTrace、RUM、NPM、APM)、事件日志

优秀实践:黄金指标/北极星指标(业务核心指标识别)、监控大盘、灭火图

能力要求:故障发现、定界与定位、故障诊断

全链路压测

流量回放压测、单链路压测、单机或单应用压测

故障修复

故障报告、协同平台、预案平台

持续交付

持续测试/验证、持续部署、持续集成、持续构建

混沌工程

Chaosmesh、ChaosBlade

Aiops

舆情监控、自动决策、根因推荐、无阈值告警、智能告警

三、工作流程

可靠性变更&发布

变更管理:自动化发布、有计划地发布、变更记录、变更通知、变更审批、变更终止、变更回滚

发布策略:灰度发布、蓝绿部署、金丝雀部署、A/B Test

变更要求:可灰度、可监控、可终止、可回滚

巡检:系统巡检、功能巡检、人工巡检

立体式监控覆盖:APM、NPM、RUM、应用日志、服务端指标、服务端调用链路

拨测:链路质量:连通性、路由、时延、丢包、DNS;服务质量:页面性能、API性能、文件下载

通知:报警、巡检通知、大盘分析

应急事件通知

开关预案:风险盘点、预案梳理、预演推演、预案制定、预案演练

故障干预:隔离、回滚、降级、熔断、重启

事故管理

应急协同:故障通知与升级、故障追踪、应急响应机制(WarRoom/电话会议、现场指挥、职责分工、进度信息披露)

故障治理

故障复盘:原则:五条归零(过程清楚、机理清楚、影响清楚、整改到位、举一反三);复盘过程(回顾、分析、总结、行动)流程闭环

故障判定:故障定级、故障定性、故障定责(故障报告、故障评审、定期回顾)

容量管理

资源部署:混合云、多云、Buffer池

资源评估:性能压测、历史运营数据挖掘、流量预估(节假日、重大运营活动)

弹性调度:无状态化、自动扩缩容

效率与性能

性能分析与优化、在质量达标情况下效率优先

持续运维/持续运营

稳定性运营报告:巡检日报、运营周报、运营月报、季度/年度总结

重大活动保障:重保活动评估、容量评估/工作负载评估、资源保障、安全防护、风险梳理及预案、后勤保障、OnCall值守

接手运维新工作:全新项目启动、中途接管现有项目、团队内新人接手运维、重点项目-准备SRE覆盖

必备知识库

云原生技术

云原生DevOps:CI持续集成、CD持续部署、容器编排、弹性伸缩

云原生架构:Service Mesh、MicroServices、IAC、Serverless

容器技术:容器网络、容器存储、资源隔离(CPU、内存、磁盘、网络)

公有云:常用云产品、多云差异、多云协同、云工具链建设(基于公有云提供的API)

应用软件高可用

架构模式:SOA、MicroService、ServiceMesh

微服务通信:通信协议、异步通信、分布式事务

集群容错设计:容错设计、过载保护、超时重试

服务治理:服务发现、负载均衡

应用软件框架与可靠性

开源框架:Springcloud、MVC、GIN、Dubbo

数据库与中间库可靠性

数据库:关系型数据库、NOSQL、中间件(队列、缓存)

软件基础设施可靠性

发布流水线、研发环境与可靠性、数据流水线、周期任务系统、分布式锁系统、共识系统、DNS、负载均衡、监控与报警系统、统一元数据(资源元数据、业务元数据)

Linux技术与可靠性

linux基础操作、系统及应用性能调优、脚本编程能力、常见高可用技术和方案、系统及应用安全加固、Linux内核调优

服务器可靠性

计算服务器、存储(对象存储、文件存储、块存储)、网络

网络可靠性

核心网、接入网、专线网、骨干网、无线网

数据中心可靠性

网络、电力、制冷、消防、IT设备

运维安全与可靠性

DevSecOps、代码静态扫描、入侵检测、AntiDDOS

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

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

相关文章

怎样将Halcon导出的数据显示在textBox中

其中textBox1是文本框的名字,hv_Row时一个数组,.D.我的理解是DATA,即数据的意思,“0.00”是显示的数值保留两位小数点的意思。

Java 实现解压 .tar.gz 这种格式的压缩包,递归文件夹,找到tar.gz 格式的压缩包,并且进行解压,解压到这个压缩包所在的文件夹下

目录 1 问题2 实现 1 问题 Java 实现解压 TR_2023063012.tar.gz 这种格式的压缩包 递归文件夹,找到tar.gz 格式的压缩包,并且进行解压,解压到这个压缩包所在的文件夹下 2 实现 public static void main(String[] args) {String depth &qu…

数据库系统概述之数据库优化

为什么需要进行优化? 数据库性能瓶颈 数据库服务器的性能受许多因素影响,包括硬件能力、系统规模、业务模型及架构、代码设计、数据库表设计、系统环境等。 因此,可以从几个方面进行数据库优化 喜欢点赞收藏,如有疑问&#xff…

Google Earth Engine——如何批量下载海洋盐度温度数据

简介: 之前写过一篇关于海洋温度数据集的博客Google Earth Engine ——HYCOM 数据子集包含变量海洋温度数据集_此星光明的博客-CSDN博客 混合坐标海洋模式(Hybrid Coordinate Ocean Model,HYCOM)是一个数据同化混合等值-Σ-压力(广义)坐标海洋模式。EE 中的 HYCOM 数据…

RabbitMQ快速学习之WorkQueues模型、三种交换机、消息转换器(基于SpringBoot)

文章目录 前言一、WorkQueues模型消息发送消息接收能者多劳 二、交换机类型1.Fanout交换机消息发送消息接收 2.Direct交换机消息接收消息发送 3.Topic交换机消息发送消息接收 三、编程式声明队列和交换机fanout示例direct示例基于注解 四、消息转换器总结 前言 WorkQueues模型…

关键词挖掘软件-免费批量挖掘关键词的工具

在当今数字化时代,网站的曝光和排名对于吸引流量至关重要。而在这个大数据的背后,SEO(Search Engine Optimization,搜索引擎优化)成为许多网站主和创作者们追逐的关键。在SEO的世界里,关键词的选择和优化是…

mybatis(mybatis-plus)报invalid bound statement (not found)或者找不到xml文件(各种情况)

情况1:查看yml文件是否添加mybatis配置 mybatis-plus:# Mapper.xml 文件位置 Maven 多模块项目的扫描路径需以 classpath*: 开头# 实现接口绑定mapperLocations: classpath*:mybatis/xml/*Mapper.xml情况2:区分使用的的版本是mybatis还是mybstis-plus&a…

spring security 艰苦学习中

一、初次感知 1.jwt工具类 密钥secret 有点意思。 2.PasswordEncoder 对密码进行加密,在配置类中返回bean. 下面这个关于加密和解密的东西是有误导性的。

用customize-cra+react-app-rewired配置less+css module

1. 安装 npm i less less-loader -D npm i customize-cra-less-loader -D2.添加配置项 //config-overrides.js const { override } require(customize-cra); const addLessLoader require("customize-cra-less-loader");module.exports {webpack: override(addL…

maven的package和install命令有什么区别以及Maven常用命令与GAV坐标与Maven依赖范围与Maven依赖传递与依赖排除与统一声明版本号

maven的package和install命令有什么区别以及Maven常用命令与GAV坐标与Maven依赖范围与Maven依赖传递与依赖排除与统一声明版本号 一: maven的package和install命令有什么区别 一般都与clean命令结合使用 mvn package 生成target目录,编译、测试代码,…

锚索测力计与振弦采集仪组成桥梁安全监测

锚索测力计与振弦采集仪组成桥梁安全监测 在桥梁工程中,安全监测一直是一个重要的方面。桥梁安全监测可以及时发现桥梁的变形、裂缝、位移等问题,为及时修复或维修提供重要的依据。而锚索测力计和振弦采集仪作为桥梁安全监测的两个主要工具,…

内衣洗衣机和手洗哪个干净?内衣洗衣机便宜好用的牌子推荐

单纯的用手清洗内衣,是很难的清洁到内衣物上的每一个角落的污渍。另外,手洗时所用的水以及香皂并不能彻底杀死衣物上的细菌,反而会在内衣物上滋生细菌。长时间穿这种内衣,对身体有潜在的危害。相比较而言,专用的内衣洗…

Mysql基础补偿篇:创建主键索引、唯一索引、普通索引、联合索引、前缀索引,删除索引。

Mysql索引基础篇:什么是聚簇索引什么是非聚簇索引、索引的最左前缀原则、索引下推、索引覆盖、回表 主键索引 在创建表时,指定主键,数据库会自动生成主键主键索引 CREATE TABLE student (id INT(10) UNSIGNED AUTO_INCREMENT ,age INT(10)…

pg 数据库实现 sql 语句批量更新表里面一个字段里面的某几个字

目录 1 问题2 解决 1 问题 一个表里面的一个字段的值里面的数据比较长,比如是一段话,想要将这个字段里面值的 某几个字 改成其他的,如何批量操作 2 解决 要批量更新表中一个字段的某几个字,你可以使用 SQL 的 UPDATE 语句结合字…

Flutter加固原理及加密处理

​ 引言 为了保护Flutter应用免受潜在的漏洞和攻击威胁,加固是必不可少的措施之一。Flutter加固原理主要包括代码混淆、数据加密、安全存储、反调试与反分析、动态加载和安全通信等多个方面。通过综合运用这些措施,可以提高Flutter应用的安全性&#xf…

LeetCode(36)旋转图像【矩阵】【中等】

目录 1.题目2.答案3.提交结果截图 链接: 48. 旋转图像 1.题目 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在** 原地** 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 …

springboot项目之获取维护微信公众号accesstoken

引言 基于微信公众号开发时候会用到accessToken,且这个参数两个小时内有效,需要服务器端存储并维护。 方案 springboot通过定时任务更新 Scheduled(initialDelay 10000,fixedRate 6600000)public void creatAccessToken() {String url "http…

日志监控(确保日志在你这台计算机上面)

如果你希望在Linux上面实时监控日志文件的变化并动态刷新,可以考虑使用一些外部工具,如 tail 命令: tail -f your_log_file.logWindows可以使用Notepad:

jdk动态代理和CGLIBE代理

静态代理:由程序员创建或特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。 动态代理:在程序运行时,运用反射机制动态创建而成。 使用jdk的反射机制,创建对象的能力&…

STM32通讯设计

STM32通讯设计 通讯流程STM32程序 通讯流程 1.使用HT2202芯片配置为主机接收(轮询模式)。 2.将STM32芯片配置为从机发送,中断模式下发送固定数据。 3.如果HT2202芯片能够收到STM32发送的数据则通讯成功,否则通讯失败。 STM32程序…