前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >【可靠性工程】GCP 可靠性核心原则

【可靠性工程】GCP 可靠性核心原则

作者头像
架构师研究会
发布于 2022-09-26 08:25:53
发布于 2022-09-26 08:25:53
7900
举报
文章被收录于专栏:超级架构师超级架构师

Google Cloud Architecture Framework 中的这份文档解释了在云平台上运行可靠服务的一些核心原则。这些原则有助于您在阅读架构框架的其他部分时达成共识,这些部分向您展示了一些 Google Cloud 产品和功能如何支持可靠的服务。

关键术语

在架构框架可靠性类别中,使用了以下术语。这些术语提供了对如何运行可靠服务的关键理解。

服务水平指示器 (SLI)

服务水平指标 (SLI) 是对正在提供的服务水平的某些方面进行仔细定义的定量测量。它是一个指标,而不是一个目标。

服务水平目标 (SLO)

服务级别目标 (SLO) 指定服务可靠性的目标级别。SLO 是 SLI 的目标值。当 SLI 等于或优于该值时,该服务被认为是“足够可靠”。由于 SLO 是制定有关可靠性的数据驱动决策的关键,因此它们是站点可靠性工程 (SRE) 实践的焦点。

错误预算

错误预算计算为 100% – SLO 在一段时间内。错误预算会告诉您,您的系统在特定时间窗口内是否比所需的可靠性更高或更低,以及在此期间允许停机多少分钟。

例如,如果您的可用性 SLO 为 99.9%,则 30 天期间的错误预算为 (1 - 0.999) ✕ 30 天 ✕ 24 小时 ✕ 60 分钟 = 43.2 分钟。每当系统不可用时,系统的错误预算就会被消耗或烧毁。使用前面的示例,如果系统在过去 30 天内有 10 分钟的停机时间,并且在 43.2 分钟的全部预算未使用的情况下开始了 30 天的周期,则剩余的错误预算将减少到 33.2 分钟。

我们建议在计算总错误预算和错误预算消耗率时使用 30 天的滚动窗口。

服务水平协议 (SLA)

服务水平协议 (SLA) 是与您的用户签订的明示或隐含合同,其中包括您遇到或错过合同中引用的 SLO 时的后果。

核心原则

Google 的可靠性方法基于以下核心原则。

可靠性是您的首要功能

新产品功能有时是您短期内的首要任务。但是,从长远来看,可靠性是您的首要产品功能,因为如果产品速度太慢或长时间不可用,您的用户可能会离开,从而使其他产品功能变得无关紧要。

可靠性由用户定义

对于面向用户的工作负载,衡量用户体验。用户必须对您的服务执行方式感到满意。例如,衡量用户请求的成功率,而不仅仅是 CPU 使用率等服务器指标。

对于批处理和流式工作负载,您可能需要衡量数据吞吐量的关键性能指标 (KPI),例如每个时间窗口扫描的行数,而不是服务器指标,例如磁盘使用情况。吞吐量 KPI 有助于确保按时完成用户所需的每日或季度报告。

100% 的可靠性是错误的目标

你的系统应该足够可靠,让用户满意,但又不能过于可靠,以至于投资不合理。定义设置所需可靠性阈值的 SLO,然后使用错误预算来管理适当的变化率。

仅当该产品或应用程序的 SLO 证明成本合理时,才将该框架中的设计和操作原则应用于产品。

可靠性与快速创新相辅相成

使用错误预算在系统稳定性和开发人员敏捷性之间取得平衡。以下指南可帮助您确定何时快速或慢速移动:

  • 当有足够的错误预算可用时,您可以快速创新并改进产品或添加产品功能。
  • 当错误预算减少时,放慢速度并专注于可靠性功能。

设计和操作原则

为了最大限度地提高系统可靠性,以下设计和操作原则适用。在架构框架可靠性类别的其余部分中详细讨论了这些原则中的每一个。

定义您的可靠性目标

架构框架的这一部分涵盖的最佳实践包括以下内容:

  • 选择适当的 SLI。
  • 根据用户体验设置 SLO。
  • 迭代改进 SLO。
  • 使用严格的内部 SLO。
  • 使用错误预算来管理开发速度。

有关详细信息,请参阅在架构框架可靠性类别中定义您的可靠性目标。

在您的基础架构和应用程序中构建可观察性

架构框架的这一部分涵盖了以下设计原则:

  • 检测您的代码以最大限度地提高可观察性。

有关更多信息,请参阅架构框架可靠性类别中的在基础架构和应用程序中构建可观察性。

为规模和高可用性而设计

架构框架的这一部分涵盖了以下设计原则:

  • 创建冗余以提高可用性。
  • 跨区域复制数据以进行灾难恢复。
  • 设计多区域架构以应对区域中断。
  • 消除可扩展性瓶颈。
  • 过载时优雅地降低服务级别。
  • 防止和缓解流量高峰。
  • 清理和验证输入。
  • 以保留系统功能的方式进行故障保护。
  • API 调用和操作命令设计为可重试。
  • 识别和管理系统依赖项。
  • 最小化关键依赖。
  • 确保每次更改都可以回滚。

有关详细信息,请参阅架构框架可靠性类别中的规模和高可用性设计。

创建可靠的操作流程和工具

架构框架的这一部分涵盖了以下操作原则:

  • 为应用程序和服务选择好的名称。
  • 通过金丝雀测试程序实施渐进式部署。
  • 分散流量以进行定时促销和发布。
  • 自动化构建、测试和部署过程。
  • 防止操作员错误。
  • 测试故障恢复程序。
  • 进行灾难恢复测试。
  • 练习混沌工程

有关详细信息,请参阅架构框架可靠性类别中的创建可靠的操作流程和工具。

建立有效的警报

架构框架的这一部分涵盖了以下操作原则:

  • 优化警报延迟。
  • 警惕症状,而不是原因。
  • 警惕异常值,而不是平均值。

有关详细信息,请参阅架构框架可靠性类别中的构建高效警报。

建立协作事件管理流程

架构框架的这一部分涵盖了以下操作原则:

  • 分配明确的服务所有权。
  • 通过精心调整的警报缩短检测时间 (TTD)。
  • 通过事件管理计划和培训缩短缓解时间 (TTM)。
  • 设计仪表板布局和内容以最小化 TTM。
  • 记录已知中断情况的诊断程序和缓解措施。
  • 使用无可指责的事后分析从中断中学习并防止再次发生。

有关详细信息,请参阅架构框架可靠性类别中的构建协作事件管理流程。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 首席架构师智库 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
银行运维SRE转型:挑战与应对策略
摘要:本文探讨了银行运维团队实施SRE(站点可靠性工程)转型的路径,涵盖了从组织架构、制度流程到工具的全面实施方案。银行面临着由传统单体架构向分布式架构转型的挑战,SRE通过引入自动化、可观测性和持续改进机制,帮助银行提升系统可靠性、稳定性以及业务连续性。文章还探讨了实施过程中可能面临的文化、技术和人才挑战,并提出了具体的应对策略。
嘉为蓝鲸
2025/02/08
1800
「DevOps 转型与实践」沙龙回顾第一讲
9 月 19 日,CODING 和中国 DevOps 社区联合举办的深圳第九届 Meetup 在腾讯大厦 2 楼多功能圆满结束。本次沙龙以 「DevOps 转型与实践」 为主题,4 位来自互联网、金融、零售行业的知名世界 500 强企业技术大咖,在现场分享了他们对于 DevOps 转型实践的见解和经验。80 多位观众与讲师们也进行了深入的技术探讨,共同探讨在 DevOps 潮流下,企业可能面临的新机遇和挑战。
腾讯云 CODING
2020/10/10
5360
「DevOps 转型与实践」沙龙回顾第一讲
【可靠性工程】GCP 定义您的可靠性目标
Google Cloud 架构框架中的这份文档提供了最佳做法,用于定义适当的方法来衡量您的服务的客户体验,以便您可以运行可靠的服务。您将了解如何迭代您定义的服务级别目标 (SLO),并使用错误预算来了解如果发布其他更新,可靠性可能会受到影响。 选择合适的 SLI 选择适当的服务水平指标 (SLI) 以充分了解您的服务执行情况非常重要。例如,如果您的应用程序具有多租户架构,这是由多个独立客户使用的典型 SaaS 应用程序,请在每个租户级别捕获 SLI。如果您的 SLI 仅在全局聚合级别进行测量,您可能会错过
架构师研究会
2022/08/26
6850
【可靠性工程】GCP 定义您的可靠性目标
站点可靠性工程师(SRE)为什么那么重要?
目前越来越多的企业开始重视SRE,SRE 的实施具有明显的优势:平均修复时间(MTTR)和平均故障间隔时间(MTBF)减少、更快地交付产品更新和错误修复、降低由于自动化导致的人为错误风险、随着 Ops 任务的改进而不是消防工作量的减少,员工的倦怠、开发人员和 SRE 团队之间的工作一致,因为他们将共享相同的目标 、增强安全性和合规性、平衡的业务需求等。
DevOps时代
2021/04/20
1.5K0
站点可靠性工程师(SRE)为什么那么重要?
可用性、可维护性、可靠性有什么区别?
我们生活在一个用户依赖于对服务的一致访问的可靠性时代。在相互竞争的服务之间进行选择时,对用户来说,没有比可靠性更重要的特性了。但是可靠性是什么意思呢?
陈哥聊测试
2020/11/11
3.6K0
可观测性之旅的4个演进阶段
在进行可观测性之旅时,每个公司都会经历几个具体的阶段。了解这些阶段是如何随着可观测性实践的成熟而展开和形成的,可以帮助您识别何时会遇到某些类型的挑战,以及何时会真正需要某些工具和实践来帮助应对这些挑战。
云云众生s
2024/10/13
1300
《SRE google 运维解密》读书笔记 (一)
新财年换了领导,管理风格也有一些区别。在团队内增加了一个 SRE 的职位。这一财年我将会承担一部分 SRE 的工作。
用户2060079
2022/05/25
1.6K0
从日志和指标构建更好的SLO
为了帮助管理运营和业务指标,Elastic Observability 在 8.12 版本中引入了 SLO(服务级别目标)功能。本博客将回顾这一功能,并介绍如何使用 Elastic 的 AI 助手来实现 SLO。
点火三周
2024/05/23
2600
从日志和指标构建更好的SLO
Opentelemetry——Observability Primer
Observability lets us understand a system from the outside, by letting us ask questions about that system without knowing its inner workings. Furthermore, it allows us to easily troubleshoot and handle novel problems (i.e. “unknown unknowns”), and helps us answer the question, “Why is this happening?” 可观测性是指我们可以从外部,在不了解其内部工作原理的情况下,可以向系统提出(诊断)问题(的特性)。(可以理解为医生没有进入我们血管,但是可以问我们“血压多少”)此外,它还使我们能够轻松排查和处理新问题,并帮助我们回答”为什么会发生这种情况?之类的问题。
方亮
2024/05/24
1180
Opentelemetry——Observability Primer
SRE最佳实践
站点可靠性工程(SRE)的概念起源于谷歌。这个想法与DevOps的原则密切相关。它是It运营的一种方法。SRE团队使用软件来管理系统、解决问题和自动化操作任务。
用户5166556
2023/03/18
1.2K0
SRE最佳实践
谷歌可靠性工程的设计经验
如今,随着Cloud Native,SRE,以及DevOps的发展,大规模软件系统的高可用、可扩展、可伸缩、系统管理、高效运维等似乎正在被一个新的词汇所代替,那就是:可靠性工程。
用户9624935
2022/04/02
5470
谷歌可靠性工程的设计经验
七步成诗-快速创建有效 SLO
之前的文章- 如何配置 SLO - 东风微鸣技术博客 (ewhisper.cn)[1] 介绍了一些常用的各类 SLO, 但是在实际制定 SLO 过程中,并不一定适合实际业务需求。本次介绍 SLO 的最佳实践 - 如何 7 步创建有效的 SLO.
东风微鸣
2022/12/01
5940
SRE转型:银行 SRE 转型与 SLO 管理的深度融合
摘要:本文探讨了银行在SRE转型中如何通过SLO管理提升系统可靠性与业务连续性。随着金融行业数字化转型,传统运维模式已无法满足高可用性需求,SLO管理成为提高服务稳定性和优化运维效率的核心实践。文章比较了SLO管理与传统业务连续性管理的差异,详细阐述了SLO定义、监控、故障响应和持续改进的实施步骤,并分析了银行在落实SLO管理过程中面临的挑战及应对策略。最终,文章总结了SLO管理对提升银行系统稳定性、资源优化和跨部门协作的积极作用。
嘉为蓝鲸
2025/02/13
850
SRE转型:银行 SRE 转型与 SLO 管理的深度融合
衡量直播系统的可靠性
关于直播的挑战时不仅与系统的技术复杂性有关,还与必须支持的各种产品用例和功能有关。从普遍角度来看,每个直播可以看作一种广播的形式,其面临的主要问题有以下几个方面,首先是平台直播数量众多,每天的观看时长高达数百万小时;其次,同时观看的人数变化范围很大,可能在较短的时间内从几个用户增长到数百万,例如体育赛事;再者,平台除了需要支持自己的客户端,还需要给予一些第三方应用的支持;最后,终端用户的设备和网络情况都是各不相同的。
用户1324186
2022/04/11
7520
衡量直播系统的可靠性
SRE转型:不同团队规模下的银行SRE团队组建策略
摘要:本文分析了银行在不同规模团队下的SRE转型策略。小型团队应优先解决核心系统的稳定性挑战;中型团队通过SLO/SLI管理及跨团队协作初步实践SRE方法;大型团队则推动运维平台智能化。进一步明确了基础架构SRE、工具SRE、业务SRE的具体职责,以灵活适配团队规模和技术水平,逐步实现技术驱动与文化协作的可靠性提升。通过技术与文化的双重进化,银行能够实现可靠性与创新的动态平衡,持续提升业务价值。
嘉为蓝鲸
2025/02/13
660
SRE转型:不同团队规模下的银行SRE团队组建策略
「译文」常见的SLO陷阱以及如何避免它们
如今,在线服务需要接近 100% 的正常运行时间。这种需求使 DevOps 团队越来越需要维护关键业务应用程序的性能和可靠性。构建服务水平目标 (SLO)以及服务水平协议和服务水平指标,是团队评估和衡量错误预算范围内的软件性能的好方法。但是存在SLO陷阱。因此,在创建SLO时,避免这些常见错误非常重要,这些错误可能会给您的DevOps团队带来更多麻烦。
东风微鸣
2022/12/01
6730
服务可用性的一知半解
谈到高并发和高可用往往引起很多人的兴趣,有时候成为框架选择的噱头。实际上,它们往往和框架关系不大,而是跟架构息息相关。在很多时候,老码农会直面一个问题:
半吊子全栈工匠
2020/03/12
3.4K1
软件可靠性度量和分析方法
可靠性数据来源包括两类:可以通过软件主动上报(事件、指标、Trace、日志等)等技术方法自动完成数据采集和分析;也可以通过接收或汇总来自用户的报告(包括软件提供的反馈渠道、客服渠道报告、弹幕报告、App市场评论、微博微信等社交媒体反馈),在后台通过一定机制形成故障报告单,供后续分析。
穿过生命散发芬芳
2025/01/15
1210
SLA、SLO与SLI的区别
探索 SLA、SLO 和 SLI 之间的区别。了解它们的重要性、Checkly 如何与它们协同工作,以及 SLA 的关键概念。
云云众生s
2024/06/13
7510
平台工程与 DevOps 和 SRE 有何不同
随着平台工程话题热度上升,人们对它是什么以及它与SRE 和 DevOps 等有何不同存在很多困惑。事实上,随着许多 SRE 和 DevOps 专业人士进入平台工程角色,很容易将他们误认为是相同的。
灵雀云
2022/11/29
9980
平台工程与 DevOps 和 SRE 有何不同
相关推荐
银行运维SRE转型:挑战与应对策略
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文