抖音技术能力大揭密!钜惠大礼、深度体验,尽在火山引擎增长沙龙,就等你来! 立即报名>> 了解详情
写点什么

阿里巴巴国际环境下的 SRE 体系实践

2017 年 8 月 03 日

AliExpress 是阿里巴巴国际电商平台,海外买家覆盖 200+ 国家,分布广且离散,国际架构、网络体系复杂,为了提升全球用户体验面临诸多技术挑战。从 2016 年开始,AliExpress 就开始落地 SRE 相关的实践,并且收效颇丰。为了了解 AliExpress 全球架构体系下的可用性解决方案及具体实践,InfoQ 记者采访了阿里巴巴高级技术专家周志伟。另外,周志伟也将会在 9 月 10 日举行的 CNUTCon 全球运维技术大会上分享相关话题。

InfoQ:针对新时代的运维,目前有三个比较火的理解,分别是 DevOps、SRE、AIOps,你是如何理解这些理念的?

周志伟:DevOps,我认为是让研发参与 Ops 的运维活动,为自己负责的应用生命周期负责。在 DevOps 理念中,开发不是说写完代码然后交付就完事了,同时,他也要对线上的运维负责。对于互联网商业公司来说,我认为推行 DevOps 是对客户的尊重,也是对稳定性负责。因为研发人员能更快的解决由于运维过程出现的问题并修复,更高效准确的参与和修复线上问题,从而提升用户体验。当然现在的应用过于庞大、依赖过于复杂,单纯的让 Ops 团队运维很难做到万无一失。

在 AliExpress,我认为 SRE 是一个组织,它为网站可用性买单。SRE 由多位领域专家组成,可以解决生产环境发生的各种问题。我们通过大数据分析发现网站问题或者可能存在的风险,当问题发生时能快速有效的止血,恢复问题,同时又有一套工具体系能定位问题的根因。当然这个组织会制定一套围绕稳定性机制运作的规范,让大家来遵守。

AIOps,我觉得 AliExpress 现在走的路应该是往这个方向靠的。现在 AliExpress 正在做的是通过大数据驱动 SRE,把 SRE 关心的系统信息、访问信息等数据进行模型计算,通过机器学习进行问题识别和诊断,这个过程我认为就是 AI 的过程。问题识别和诊断之后会给出一些自动恢复问题指令,机器再通过实时数据检测指令的有效性,符合预期,继续执行更大范围的恢复,直到全面恢复。如果不符合预期则会尝试其他恢复手段。这套体系还在实验和摸索,从方案和部分实验上看是可行的,已经贴近人的判断甚至有些方面更客观。但也有很多不足之处,这取决于算法模型的准确性。我想这是我们要走的路。

InfoQ:AliExpress 是什么开始实践 SRE 理念的?可否介绍下目前你们的一些基本情况?

周志伟:AliExpress 的 SRE 是 2016 年开始摸索的,核心思想是分层治理,在最重要的一层用红线确保实施到位。

在红线的基础上建立一系列配套规范(包括监控规范、发布规范、线上运维规范等等),让全员参与学习。

建设 SRE 运作体系(故障演练、作战演习、快速响应),让我们的 SRE 工具、团队成员在平时都能得到基本的训练,确保在问题发生时都能在最短的时间恢复(实时也证明通过日常的作战训练非常有效,响应速度以及对于工具的信心)。

这些基础的保障之外我们会更多的参与基础数据采集和分析,通过大数据的方式运作 SRE,通过大数据发现更多维度的问题,使用损失最小的方式恢复问题,或者说是通过更有效的手段恢复问题。特别是面对国际复杂互联网时,尤其需要通过大数据来帮助定位是哪个国家哪个地区出现的网络瘫痪。

InfoQ:你认为 SRE 主要解决了 AliExpress 哪些问题?

周志伟:提高 AliExpress 的可用性,事实也说明了这一点,这个组织让整个 AliExpress 多了一个横切面去保障,大家相互了解互相学习,解决的不仅仅是线上问题,我认为是预防了很多线上问题发生的可能。同时 SRE 通过大数据的方式进行问题的发现,以及解决。特别是国际互联网的问题上,我们有多种异地多活和优化机制,更大力度的解决早些年碰到国际网络问题无从下手的尴尬局面。

InfoQ:可否介绍下 AliExpress 的 SRE 方法?

周志伟:首先,我们有 KPI 核心红线,从组织的角度去确保实施到位,解决了因为有工作量而不执行的难题。

然后,我们有稳定性规范,脱离规范很多事情无从下手,再多的防御手段也无法防御来自不遵守规则的破坏。

再者,我们在统一环境标准,应用标准,日志标准上做了很多工作,这对 SRE 的标准化运作帮助很大。在标准化的前提下,很多自动化工具都可以顺畅的开展。

随后,对于 SRE 组织来说,我们会有常态化的训练,SRE 成员的应急作战训练以及 SRE 恢复工具的训练(通过故障模拟等手段确保工具的可用性)。

最后,大数据采集,利用大数据驱动 SRE,工具的完善配套,让整个 SRE 体系智能化起来。(同样用故障模拟的方式训练大数据模型的准确性)

从两个维度推进 SRE 的进步,一个是培养研发人员的“SRE 素质”,另一个就是训练我们的工具,在需要时不掉链子。

InfoQ:可否介绍下你们的分层自动化实践?

周志伟:我们的分层自动化有几个切面,从研发过程来看:

  • 研发阶段:有持续集成的单元测试保障方法粒度的质量。
  • 测试阶段:有接口测试保障接口粒度的质量,然后集成测试确保一套逻辑的完整可靠,当然也会有用户体验式的进行交互类的 UI 自动化测试。
  • 发布阶段:有预发布自动化,针对 UI、接口层的自动化保护,对上线版本的质量保护。
  • 生产阶段:有线上监控、SRE 大数据分析进行问题的跟进保护,出现问题自动报警。

这一套自动化过程是针对整个研发生命周期和线上运维生命周期的,分层自动化越早介入,风险越低。

InfoQ:在 CNUTCon 全球运维技术大会上,你将会为大家重点分享哪些技术点?

周志伟:简单来说,主要有以下几点:

  1. 全球网络体系复杂,互联互通问题诸多,如何应对由此带来的网站可用性问题?
  2. 国际架构体系下,全球物理距离使得网络传输时间成为技术难点之一,如何解决可用性和提升全球用户体验?
  3. 如何实现全球多 IDC 下的异地多活?
  4. 全球多 IDC 下的数据一致性问题。
2017 年 8 月 03 日 01:212889
用户头像
郭蕾 关注我视频号:极客时间小盖

发布了 218 篇内容, 共 117.4 次阅读, 收获喜欢 147 次。

关注

评论

发布
暂无评论
发现更多内容

揭开500亿“区块链”骗局

CECBC区块链专委会

法律 传销

手把手教你:将 ClickHouse 集群迁至云上

小小的一朵云

大数据 Clickhouse

架构师训练营第三周作业

文智

极客大学架构师训练营

用go语言实现快排

Sean

go 算法 快速排序

架构师训练营第三周作业

邓昀垚

极客大学架构师训练营

第二周-学习总结-框架设计原则

莫森

极客大学架构师训练营

LeetCode题解:641. 设计循环双端队列,使用双向链表,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

jdk 源码系列之StringBuilder、StringBuffer

sinsy

Java jdk 源码解析

持续引领大数据行业发展,腾讯云发布全链路数据开发平台WeData

小小的一朵云

大数据

智能体的奇幻漂流之“成都折叠”篇

脑极体

【FastDFS】SpringBoot整合FastDFS实战,我只看这一篇!!

冰河

springboot fastdfs

区块链带来的技术创新和变革

CECBC区块链专委会

区块链技术 经济

联邦计算:不暴露真实数据如何完成合作建模?

小小的一朵云

大数据

c++杂谈4

菜鸟小sailor 🐕

原创 | 使用JPA实现DDD持久化-JPA,Hibernate与Spring Data JPA

编程道与术

Java hibernate Spring C Data jpa

原创 | 使用JPA实现DDD持久化-O/R阻抗失配(2/2)

编程道与术

Java hibernate DDD JDBC jpa

原创视频 | 架构漫谈—如何创造复杂而有序的软件系统【含课件下载】

编程道与术

Java 编程 架构 软件开发 软件架构

你在开发过程中使用Git Rebase还是Git Merge?

华为云开发者社区

git 华为 管理 代码

第二周-命题作业

莫森

极客大学架构师训练营

致谢!华为全联接2020精彩回顾

华为云开发者社区

华为 华为云 智能 hdc

高中生写LOL外挂1年狂赚五百万,落网前刚买下120万保时捷

Java架构师迁哥

数字货币视域下的金融安全实现路径

CECBC区块链专委会

区块链 数字货币

Greenplum 性能优化之路 --(一)分区表

小小的一朵云

大数据

鲲鹏播种于时代,花开五色中原

脑极体

【架构笔记之设计模式】架构师训练营第1期第3周

业哥

极客大学架构师训练营

Greenplum 性能优化之路 --(二)存储格式

小小的一朵云

大数据

腾讯云副总裁刘煜宏:大数据平台算力弹性资源池达500万核,国内最强

小小的一朵云

大数据

腾讯云大数据发布最新产品矩阵,助力企业整合打通海量数据

小小的一朵云

大数据

架构师训练营第1期第3周作业

业哥

极客大学架构师训练营

原创 | 正确区分属性和字段

编程道与术

Java hibernate 编程 软件开发 jpa

原创 | 使用JPA实现DDD持久化-JPA vs MyBatis

编程道与术

Java hibernate 编程 mybatis jpa

Study Go: From Zero to Hero

Study Go: From Zero to Hero

阿里巴巴国际环境下的SRE体系实践-InfoQ