SRE概览

SRE核心目标:

1、可靠性
2、可扩展性
3、性能
4、自动化
5、监控与告警
6、故障恢复

SRE团队使命

1、可靠性优先
2、自动化运维
3、质量保证
4、快速创新

SRE团队的组成模式

1、中心化 SRE 团队
2、嵌入式 SRE 团队
3、混合模式

不论哪种方式,SRE 的目标都是通过自动化和工程方法提高系统的可靠性和效率

通常 SRE 团队需要承担以下几类职责:监控、事故响应、事后回顾、测试与发布、容量规划、工具开发和可用性改进等。

SRE团队主要程度的责任

1、监控
2、事故响应
3、事后回归
4、测试与开发
5、容量规划
6、工具开发
7、可用性改进

SRE团队合作细分

SRE 产品运维、互联网 SRE 组、AIoT SRE 组、信息技术 SRE 组、业务SRE 组

SRE流程

1、SRE流程-可靠性架构设计

分布式设计、解耦设计、冗余设计 等高可靠性的架构设计方案,以提升系统的可靠性

冗余设计又分为熔断设计、限流设计、降级设计、可观测设计

在进行可靠性架构设计的过程中,SRE 团队需要将应用架构设
计流程完全融入其中,并与研发团队共同参与架构设计和评审工
作。在系统设计阶段,应尽量消除可能出现的单点、容量等潜在风
险,并提前为可能出现的系统架构风险做好应急准备。

分布式设计

1.1.1 分布式设计

在系统中,存在被划分为职责明确、粒度合适且易于管理的组
件,这些组件(如计算资源、业务部分、数据等)都可以进行分布
式的部署和运行。组件之间相互独立、互不干扰,通过分布式设计
可以提高开发效率和可靠性。组件的拆分和分布可以通过复制、根
据功能进行垂直拆分、或根据用户与访问模式水平拆分等形式。
在设计时应该充分考虑到组件间可能存在的相互干扰以及如何
平衡不同组件之间的负载,并将系统所承受的压力进行均匀分配,
以减轻压力对系统整体性能的不良影响。

1.1.2 解耦设计
在架构设计中,可以将各种逻辑功能划分为不同的服务模块,
确保不同模块的故障对其他模块的影响是最小,从而最大限度地降
低模块之间的耦合度。通过这种方式,可以将系统划分为多个相互
独立的功能模块来实现。尤其值得注意的是,业务的主要逻辑与其
他非核心模块是独立的,因此业务非核心模块的故障并不会对业务
的核心功能产生负面影响。

1.1.3 冗余设计
为了确保资源有足够的安全余量,每个组件都需要有足够和合
理的冗余实例,以确保单一组件实例的失效不会对业务的正常运行
造成影响。对于不同类型的组件,我们需要明确地定义冗余量和冗
余类型。在实际应用中,由于设备故障或者操作不当等原因导致服
务器出现性能下降或崩溃现象时,系统会出现异常状态并产生大量
信息。应用程序可能部署多个机房,当这些机房中有数据冗余时,
一个位置的错误可以通过另一个位置的数据进行修正,确保整个系
统的连续性和可靠性。为了提高系统可靠性,通常采用读-写分离的
技术进行数据的冗余管理。读写分离是一种冗余的设计方式,缓存
和数据库之间存在数据冗余,当缓存服务宕机时,可以从数据库回
源到缓存。

1.1.4 熔断设计
熔断机制是应对雪崩效应的一种微服务链路保护机制,如果目
标服务的调用速度较慢或超时次数较多,则此时会熔断该服务的调
用。对于后续的调用请求,不再继续对目标服务进行调用,直接返
回预期设置好的结果,可以快速释放资源。一般来说,熔断需要设
置不同的恢复策略,如果目标服务条件改善,则恢复。

1.1.5 限流设计
限流是一种系统设计技术,用于控制访问应用程序或服务的流
量,防止资源过载。常见的限流策略包括固定窗口、滑动日志、漏
桶和令牌桶算法。这些方法可以帮助系统应对高流量,保持稳定性
和可靠性。在实施时,通常需要结合其他系统保护措施,如队列、
缓存、服务降级和熔断,以实现全面的流量控制和系统保护。
当流量被限制后,系统通常会采取以下措施之一:拒绝多余的
请求、将请求排队等待处理、返回错误码或者提供一个降级的服务响应。这些措施可以缓解服
务器压力。

1.1.6 降级设计
降级机制是当服务器压力剧增的情况下,根据当前业务情况及
流量对一些服务和页面有策略地降级,以此缓解服务器资源的压
力,释放服务器资源以保证核心任务的正常运行。从降级配置方式
上,降级一般可以分为主动降级和自动降级。主动降级是提前配
置,自动降级则是系统发生故障时,如超时或者频繁失败,自动降
级。其中,自动降级可分为超时降级、失败次数降级、故障降级。

1.1.7 可观测设计
为了保证系统的透明性并迅速定位问题,采用可观测的设计方
法变得尤为关键。可观测设计涵盖了日志记录、实时监控、追踪以
及度量等多个方面,从而实现了系统状态和行为的可量化以及可分
析性。在可观测的设计中,日志应当详细地记录所有的关键事件,
监控系统需要能够实时捕获关键的性能指标,跟踪机制应具备跨服
务请求的追踪能力,度量指标则应全方位地反映系统的健康状态。
另外,健康检查机制需要自动地对系统组件状态进行评估,当出现
异常指标时,告警机制会立即告知相关的工作人员。通过这些措
施,我们可以清晰地观察到系统的运行状态,从而为后续的维护和
优化工作奠定了稳固的基础

基础设施保障

1.2.1 机房多活
系统所部署的机器或所在地需具备一定的冗余性。包括同机房
多活、同城多活和异地多活等不同级别。将要建设的机房要求具有
独立性,尤其是网络环境,机房之间通过专线来进行连接。

1.2.2 网络容灾
数据中心之间的互联网络是 DC 之间业务连接的重要载体,对存
储灾备网络的时延要求较低、带宽较大、可靠性较高;业务灾备网
络需要实现链路备份和快速的路由收敛。

数据灾备

1.3.1 数据备份
即对核心数据进行备份和恢复的能力。需对核心数据进行实时
备份,并具备快速容灾切换的能力。需对备份恢复的能力进行周期
性地验证。

1.3.2 数据回滚
在系统出现异常情况下,迅速有效地恢复故障前数据状态,减
少了故障给业务系统带来的冲击。回滚是否有效取决于回滚执行过
程和回滚决策是否及时。

2、SRE流程-开发保障

代码可靠性
代码仓库可靠性
扩建可靠性
制品可靠性

3、SRE流程-入网控制

运行环境适配
运行环境交付
测试策略
变更评审

运行环境交付

1、基础环境的交付
基础资源包括:服务器、存储、网络、数据库、中
间件等。SRE 应推动通过服务化方式交付基础资源。主要需要完善
如下方面的内容:
技术选型、构建,运行环境中进行考虑

2、可观测策略
制定可观测标准化规范。为有效实施可观测性策略,需推动监
控、日志、链路追踪等相关技术规范的制定,确保信息系统满足这些技术要求。

建立可观测工作小组。可观测在生产保障中应用,但具体工作
涉及产品、研发、测试、运维多个团队的协作,SRE 需根据可观测
规范建立以系统或业务为单位的可观测工作小组,以提升协同效
率。SRE 是可观测工作小组的牵头人,负责推动具体系统可观测能
力的持续建设。

可观察性的链路观察工具:
SRE 应构建完善的
数据采集、加工与处理平台,涵盖日志管理(如 ELK)、性能指标
监控(如 Prometheus、Zabbix)、链路追踪(如 Zipkin、Apache
Skywalking),持续性能剖析(如 Pyroscope),eBPF 无埋点观测
等能力。

3、自动化策略
SRE 应尽可能的推动自动化一切的工作期望。自动化策略是将
事件驱动思维模式融入到运维的方方面面,可以从思维、技术两个
角度发力

SRE 工具层面建立以原子脚本、编排任务、任务调度的自动化操作能力;例如,通过编写脚本来自动化日常运维任务,并使用如 Terraform 等工具来实现基础设施即代码(Infrastructure as Code,IaC),确保环境的一
致性和可重用性

SRE 手工操作标准化,编写标准操作手册(SOPs)并将其转化为可执行的代码。

发布流水线是自动化策略落地的关键技术,流水线将一个软件发布环节串联起来,让软件交付过程中不同的角色可以透明地看到整个过程
针对敏态应用,SRE 还要推动蓝绿、灰度/金丝雀、滚动、红黑的自动化部署策略等。

推动故障自愈策略和推动应急预案自动化策略的建立

4、SRE流程-发布管理

发布准备
发布实施
发布总结

5、SRE流程-故障应急

故障发现
故障诊断
故障修复
故障复盘

变更后的持续工作

1、用户体现优化
2、重大技术保障
3、运维琐事管理以及优化
4、业务全生命周期工具开发
5、运营成本分析以及优化
6、混沌工程
7、应用服务SLI/SLO
8、持续改进

平台工程建设

标准平台工程建设
异构平台工程建设

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维螺丝钉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值