为什么需要为数据管道设置sla

对于今天的数据工程团队来说, 对实时的需求, 准确的数据从未如此之高, 然而, 数据停机时间 这是一个非常普遍的现实吗. 那么,推荐一个正规滚球网站如何打破这个恶性循环,获得可靠的数据呢? 

就像推荐一个正规滚球网站20年前的软件工程师一样, 21世纪20年代初的数据团队面临着一个重大挑战: 可靠性

与以往相比,企业正在吸收越来越多的运营和第三方数据. 来自整个企业的员工都在与其生命周期的所有阶段的数据进行交互, 包括那些非数据团队. 与此同时,数据源、管道和工作流正变得越来越复杂.

虽然软件工程师已经用专门的领域(如DevOps和站点可靠性工程)解决了应用程序停机问题, 框架(如服务水平协议), 指标, 和目标), 以及大量的缩略语(SRE, sla, 学校图书馆, 和SLOs, 分别), 数据团队尚未进行治疗 数据停机时间 带着它应得的勤奋. 

是时候让数据团队做同样的事情了:优先级、标准化和度量 数据的可靠性. 我设想这将在未来十年实现, 数据质量或可靠性工程将发展成为自己的专业, 负责此关键业务功能. 

在此之前,推荐一个正规滚球网站将探讨什么是数据可靠性sla、它们为什么重要以及如何创建它们.

什么是SLA?

Slack的SLA保证99.999服务正常运行时间. 如果违反,他们会申请服务信用. 图片由Slack提供.

简单地说, 服务水平协议(sla)是许多公司用来定义和度量给定供应商的服务水平的方法, 产品, 或者内部团队会交付——如果他们未能交付,也会提供潜在的补救措施. 

例如, 松弛的面向客户的SLA 99年承诺.每个财政季度99%的正常运行时间, 停机时间不超过10小时, 适用于Plus计划及以上的客户. 如果金额不足,受影响的客户将获得其账户上的服务信用,以备将来使用. 

客户使用sla来确保他们从供应商那里得到了他们所支付的:一个健壮的, 可靠的产品. 对于许多软件团队来说也是如此, sla是为内部项目或用户开发的, 不仅仅是终端客户. 

为什么sla很重要?  

让推荐一个正规滚球网站以内部软件工程sla为例. 为什么要经过编纂sla的过程呢, 如果没有客户向你施压,要求你遵守合同中的某些门槛? 为什么不指望每个人都尽最大努力,争取尽可能接近100%的正常运行时间呢? 这不是在引入不必要的繁文缛节吗?

一点也不. 定义的实践, 同意在, 度量构成可靠软件的关键属性不仅非常有用,而且为内部涉众设定了明确的期望. 

sla可以帮助工程, 产品, 并且业务团队在他们的应用程序中真正最重要的事情上保持一致,并对传入的请求进行优先级排序. 与sla, 不同的软件工程团队及其涉众可以确信他们说的是同一种语言, 关注相同的指标, 分享对明确记录的期望的承诺. 

设定非100%正常运行时间的预期也为增长留下了空间. 如果可以容忍零停机风险,那么创新的空间也就为零. 另外,这是不可行的. 即使拥有世界上所有的最佳实践,系统偶尔也会出现故障. 但是要有好的sla, 当有些东西出了问题, 工程师将知道何时以及如何进行干预. 

为什么数据可靠性sla很重要

图片由imgflip提供.com. 

类似的, 数据团队和他们的数据消费者定义数据已经成为一个关键的需求, 测量, 并在整个生命周期中跟踪数据的可靠性. 

设置数据可靠性sla有助于建立信任并加强数据之间的关系, 你的数据团队, 和下游消费者, 无论是你的客户还是公司的跨职能团队. 没有这些明确定义的度量, 对于您的数据平台的可靠性和可信赖性,消费者可能会做出有缺陷的假设或依赖于坊间证据. 换句话说,数据sla帮助您的组织在数据方面更加“数据驱动”. 

sla还规范和简化了沟通, 确保您的团队和涉众使用相同的语言并引用相同的指标. 因为定义sla的过程可以帮助数据团队更好地理解业务的优先级, 当事件发生时,他们将能够迅速确定优先次序,并加快反应时间.

如何创建数据可靠性sla

创建数据可靠性sla并遵守它们是协作和专一性方面的练习. 

让推荐一个正规滚球网站先来了解一些词汇. 根据谷歌的服务水平 协议 (sla)要求明确定义服务水平 指标 (学校图书馆),服务质量的量化措施,和商定的服务水平 目标 (SLOs),每个指标应满足的目标值或值范围. 例如, 许多工程团队将可用性作为站点可靠性的指标来衡量, 并设定一个目标,以保持至少99%的可用性. 

通常, 数据团队, 创建可靠性sla的过程遵循三个关键步骤:定义, 测量, 和跟踪. 

步骤1:使用sla定义数据可靠性

第一步是就可靠数据对您的组织意味着什么达成一致并明确定义. 

我建议从设置基线开始. 首先对你的数据做一个清单,它是如何被使用的,被谁使用的. 评估数据的历史性能,以获得可靠性的基线度量.

您还需要从数据消费者那里获得关于“可靠性”的反馈. 即使对数据沿袭有很好的理解, 数据工程师通常可以从他们的同事的日常工作流程和用例中移除. 当与内部团队达成可靠性协议时, 理解消费者实际上是如何与数据交互的至关重要, 什么数据最重要, 哪些潜在的问题需要最严格的要求, 及时关注.

此外,你要确保相关的利益相关者——所有人 数据的领导人 或者在可靠性方面有既得利益的商业消费者也加入了进来, 和买了, 关于可靠性的定义. 

一旦理解了(1)要处理的数据, (2)如何使用, (3)使用者, 这样你就能理清头绪了, 可操作的sla. 

(如果您仍然不清楚这些sla是什么样子的,我强烈建议您阅读这篇文章 本地乐观 系列 设置数据仓库sla. 布鲁克林数据有限公司.该公司的Scott Breitenother提供了一个非常可靠的入门模板, 以及就与持份人沟通服务标准提供实用建议).

步骤2:使用sli测量数据可靠性

一旦你有了一个彻底的了解和基线, 您可以开始专注于将成为您的服务水平可靠性指示器的关键指标. 

根据经验, 数据sli应该表示您在步骤1中定义的数据的相互同意的状态, 提供如何使用和不使用数据的边界, 并具体描述数据停机的情况. 这可能包括丢失、重复或过时的数据等情况. 

您的sli将取决于您的特定用例,但这里有一些常用的度量标准 量化数据健康:

  • 特定数据资产的数据事件数(N). 虽然这可能超出了你的控制, 假设您可能依赖于外部数据源, 它仍然是数据停机的重要驱动因素,通常值得衡量. 
  • Time-to-detection(运输大亨): 当出现问题时,这个指标将量化您的团队收到警报的速度. 如果您没有适当的检测和警报方法, 这可以用几周甚至几个月的时间来衡量. 由错误数据造成的“无声错误”可能导致昂贵的决策, 对你的公司和你的客户都有影响.
  • 解决问题的时间(竞技场队伍): 当您的团队收到问题的警报时,这将度量您能够多快地解决该问题.

步骤3:使用SLOs跟踪数据可靠性

在设置可靠性仪表板时,数据团队应该更加明确. 图片由蒙特卡罗提供. 

在您确定数据可靠性的关键指标(学校图书馆)之后, 你可以设定目标, 可接受的数据停机时间范围. 

这些SLOs应该是现实的,并基于您的现实环境. 例如, 如果你决定将TTD作为一个度量标准, 但是您不使用任何自动监视工具, 你的SLO应该低于拥有全面数据可观察性工具的成熟组织.

在这些范围上达成一致,可以使您创建一个统一的框架,根据严重程度对事件进行评级, 当问题出现时,沟通和反应都很简单.

一旦您设置了这些目标并将其纳入您的sla, 您可以创建一个仪表板来跟踪和报告进度. 一些数据团队创建了他们自己的特别仪表板, 而其他人则使用专用的数据可观察性工具. 

实际数据可靠性

为数据设置sla、SLOs和sli只是这个难题的第一部分. 当数据事件发生时, 推荐一个正规滚球网站还需要一种方法来分类和管理事件,以免它们成为下游消费者的巨大头痛.

为此,推荐一个正规滚球网站可以再次向DevOps的朋友们寻求灵感. 大多数工程组织分配整个站点可靠性团队进行识别, 解决, 和防止停机时间. 在今天的现代数据组织中, 当管道破裂或仪表盘不稳时,数据工程师往往首当其冲.

使事件解决过程更容易、更无缝, 推荐一个正规滚球网站可以借鉴SRE手册,在数据问题出现时进行有效沟通和分类. 

例如,假设你的一位主管的批评报告中提到了陈旧的数据. 从一开始就, 你不知道管道是怎么断的, 但你需要告诉他们,它已经坏了,你的团队正在处理这件事. 在你解决这个问题的时候, 您不仅需要不断更新其他数据停机侦探,还需要更新事件解决过程中的关键涉众. 

以下是一些从一些最好的数据工程团队收集的有用的表情符号及其对应的含义,它们便于沟通: 

图片由蒙特卡罗提供.

还有一些图标表示事件的严重程度: 

图片由蒙特卡罗提供.

而获取可靠数据的方法最终取决于您的业务需求, 有一个良好的沟通策略将使您的sla更容易执行. (Blinkist分享了他们处理数据停机的路线图, 在这里).

开始

推荐一个正规滚球网站很高兴看到这个专业领域 数据可靠性工程 发展. sla, 学校图书馆, 和SLOs是一个很好的起点:它们为度量数据停机时间提供了一个有用的框架, 并且可以帮助建立信任, 协作, 贯穿整个组织的数据驱动文化.

就像SREs一样,通过自动支持系统确保应用程序正常运行, 数据团队应该拥有自己的专用工具. 最好的数据平台不只是测量数据停机时间, 但最终将有助于预防它首先通过 端到端数据可观测性-为您的团队提供最高标准的数据可靠性.

有兴趣了解更多关于设置sla和实现可靠数据管道的信息? 接触 巴尔可以玩滚球的正规app团队的其他成员!