0

SRE 的 7 个基本工具

 2 years ago
source link: http://dockone.io/article/2434508
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

SRE 的 7 个基本工具


掌握可靠性核心概念是成为 SRE 的第一步。但是您还需要工具来将这些概念付诸实践。

SRE 需要哪些类型的工具来完成他们的工作?每个类别中最好的工具是什么?本文通过讨论 SRE 在构建工具箱时应该考虑什么来回答这些问题。它介绍了 SRE 可以利用的关键工具类别,并在每个工具中提出了具体选项。
混沌工程,这意味着对系统进行试验以发现和评估您可能无法预见的问题,自从大约十年前 Netflix 将其普及以来,它已成为 SRE 世界中的一个关键概念。

尽管根据定义,混沌工程听起来像是您会以临时方式进行的事情,但实际上有几种工具可以帮助 SRE 系统地有效地执行混沌工程。混沌工程工具让 SRE 定义他们想要在他们的系统上运行的实验。然后这些工具会自动执行这些实验并帮助团队记录结果。

Chaos Monkey 是 Netflix 使用的开源混沌工程工具,是该类别中的一种流行工具。另一个是Gremlin ,它具有更广泛的功能集,并且比开源替代品更用户友好。

监控和警报

混沌工程可以帮助 SRE 找到其环境中的可靠性弱点,但它不能替代对这些环境的持续监控和警报。跟踪堆栈所有层并发送有关问题警报的工具,例如应用程序对用户请求的响应变得缓慢,或基础设施似乎接近容量,尽快通知 SRE 有关生产环境中的问题。反过来,即使在生产中发生中断时,它们也可以帮助 SRE 维护 SLA。

一些监控工具还允许团队执行综合监控和测试,这意味着运行模拟事务并评估环境如何处理它们。综合监控和测试是另一种在问题成为严重中断之前发现问题的方法。它们与真实用户监控相反,真实用户监控是上述涉及实际用户交易的生产环境监控类型。

市场上有数十种监控和警报平台。例如,SRE 可能会选择使用Datadog,它在单个包中提供综合监控和真实用户监控。
关于监控与可观察性是否以及如何不同,存在着持续的大辩论。我们不会在这里讨论它,但大多数观点似乎是,虽然监控侧重于发现问题,但可观察性通过帮助团队调查它们而更进了一步,(尤其是在表面级事务监控不具备的复杂分布式环境中)并不总是清楚地暴露问题的根本原因。

与监控一样,市场上有多种可观察性工具(许多平台将自己标榜为适合这两个类别)。一个流行的例子是Honeycomb,这是一种相对较新的可观察性工具,从一开始就构建用于帮助 SRE 和 DevOps 团队管理云原生环境。
当您有多个监控系统时,您也会有多个警报源。

这使得实现分页和警报平台(例如PagerDuty )变得非常重要,它允许您从工具中收集警报并将它们转发给合适的工程师。它们还有助于管理待命时间表,这样您就不会不必要地打扰下班的团队成员,并且它们会自动升级警报,这有助于确保正确的人员响应每个警报。

SLO管理

您如何知道您的可靠性性能符合您的企业承诺的 SLO?

如果您只有少量 SLA 需要管理,您可以手动评估 SLO 性能。但是,当您处理数十个或更多 SLA(每个都具有不同的 SLO)时,您需要一个工具来自动化将可靠性结果与 SLO 承诺进行比较的过程。

满足这一需求的工具占据了一个相对较小但不断增长的利基市场。一个需要考虑的例子是Nobl9 ,它不仅可以衡量 SLO 性能,还可以帮助 SRE 了解不同 SLO 的业务影响,以便他们知道哪些是最需要满足的。

基础设施即代码(以及一切即代码)

基础设施即代码(IaC)在这一点上已成为一个几乎无聊的类别。但这对于大多数 SRE 来说也是必不可少的。

IaC 工具让 SRE 和其他工程师通过编写定义环境应该如何设置的配置文件来自动配置软件环境。通过使供应高效且一致,IaC 大大帮助团队将可靠性融入到他们的应用程序部署和配置流程中。

大多数云提供商提供与其平台兼容的 IaC 工具。还有像Terraform这样的第三方解决方案,适用于大多数环境。

然后是像Open Policy Agent或 OPA这样的工具,它让团队可以将其环境或交付链的任何方面定义为代码。像 OPA 这样的工具本身并不是 IaC 解决方案;它们是一些分析师开始称之为“一切即代码”工具的一部分,这些工具扩展了 IaC 概念以解决 IT 环境的所有层和方面。

如果您是 SRE,喜欢将可靠性要求定义为代码并在整个交付链中自动实施,那么您至少需要利用 IaC 工具。也可能值得探索像 OPA 这样的解决方案。

自动化事件响应

尽管 SRE 一直在投资于测试、监控和优化他们的系统以提高可靠性——当出现问题时,找到一种有效协作的方式至关重要。

像 Rootly 这样的自动化事件响应平台满足了这一要求。通过与监控系统集成、自动将警报与正确的团队对齐、简化虚拟作战室的创建并让所有利益相关者保持持续沟通直到问题得到解决,事件响应平台可确保 SRE 在出现问题时能够快速、一致地做出反应。

最重要的是,响应平台还帮助 SRE 进行事后分析和跟踪行动项目,以帮助从事件中学习。

结论:构建最好的 SRE 工具集

从监控和可观察性,到 SLO 管理等,SRE 需要各种工具才能有效地完成工作。本文建议了一些可靠的工具选项来满足这些需求,但您也可以找到各种其他出色的工具。

原文链接:https://mp.weixin.qq.com/s/u6bS-Uq5n1H89YwJWUjceQ

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK