国际化的SRE

【写作目的】

SRE在AE的定义仅仅指与可用性相关,当它指一种技术方面时,是指原来的稳定性的概念;当它用来指团队时,是指各技术团队负责稳定性的同学组成的虚拟团队,类似于原来的稳定性小组。

AliExpress的Alexa排名50名内,甚至超过bing的网站;App也在接近上百国家购物类App下载量排名第一。在AE的整个发展过程中,在稳定性治理方面踩过很多坑,积累了丰富的经验。

因此写作目的有两个:
一、随着集团国际化的必然趋势,以及国际化的共同技术特点,期望能将经验输出给集团,甚至是SRE的一些工具直接赋能集团国际化。
二、部分工作还处于初期阶段,也想在AE内部统一思想,大家朝一个方向努力。

【国际化SRE面临的主要挑战】

A. 可用性是要求724所有国家*所有时区的可用性。而我们的技术团队主要是在杭州
B. 全球互联网互联互通质量低,复杂度也很高
C. 效率、成本与稳定如何平衡,如何跑得又快又稳定又小投入?(所以国际化BU都面临解决问题基础设施的投入成本巨大的问题)

【治理策略】

可用性治理是一组矛盾存在。需要处理好成本、效率、可用性三者之间的平衡,才能以最小的成本取得最大的回报。因此必须分析清楚从哪儿投入,先做什么后做什么不做什么。

1)可用性的追求是会降低研发效率的
2)可用性的追求是会增加研发和技术成本的
3)通过流程规范的建设是可以提升可用性的,但是会极大降低研发效率
4)通过工具化和智能化实现可用性,对效率提升有帮助,也对成本节省有帮助

A. 分级治理介绍

由于可用性的追求是有成本的,因此,对稳定性治理工作进行分级,高ROI的优先级高,先投入做。ROI就是指可用性回报/(成本投入与效率降低)。
目前AE在可用性方面重点投入在ROI最高的基础治理级别。将在下一章详细介绍基础治理的内容。但之所以选择对应的内容作为基础治理,是因为涉及团队最少,涉及流程最少,而可用性的回报最高。除了相关的工具建设和流程建设外,AE内部还通过KPI红线保证基础治理得到执行。

B. 迭代方向

由于工具化和智能化的对效率和成本有正向作用,因此我们的目标是要实现工具化和智能化,来做到最大的ROI。但是工具化和智能化往往需要一次性的大投入,而这个投入如果没有找准方向或出现偏差,则会大大浪费成本,因此在实现工具化和智能化前,先通过规范和流程进行确保,一方面可以验证可行性,另一方面将工具和智能化的原理摆在大家面前,可以让大家更理解对应的原理。
因此我们的迭代思路是:先流程和规范试水,验证通过后,通过工具化和智能化实现

C. 总结

考虑ROI。通过ROI区分分级治理,高优先级治理先执行;执行过程是规范先行,向工具智能化迭代的方式。

【基础治理介绍】


基础治理包括如下几项:
1)容量建设:确保有大于2个机房作为灾备机房,可以承担全局容量,通过区域化部署分流技术与常态化压测技术进行日常压测,确保各机房满足相应的容量要求
2)容灾建设:通过跨区域的容灾切换实现更高的可用性
3)变更管理:通过灰度发布以及分机房发布,当发生问题时进行容灾切换的方式确保变更过程所带来的问题及早发现并解决
4)网络治理:通过大数据手段实时获取不同网络链路的时延及可用情况,进行精细化实时的网络链路切换

【工具化智能化探索】

目前AE技术对这块儿还处于探索阶段,部分功能已实现,欢迎共建。

基于大数据技术构建SRE治理,实现工具化及智能化
1)分析集团各监控工具的数据,识别出有用的字段,并且基于Springboot微服务体系定制一些数据字段
2)通过对历史故障的分析,业内成功经验,以及集体智慧讨论,确认思路及模型。可能采用分类模型或回归模型,甚至是规则驱动的模型来按需对数据进行加工
3)实现模型的实时化并且将结果回流到实时服务中
4)基于实时服务构建实时工具
5)工具的分类紧贴稳定性治理工具。除了基础治理和应用治理等基本分类外,我们还强调通过小而美的工具集来实现可用行治理及日常运维工作
6)探索实时智能的问题诊断

好的工具平台需要运营和规范保证,举例当从不出现故障时,故障处理工具是否会生疏呢,那就演习吧。工具开发的同时我们会思考这个问题并确保工具的持续运营。

智能化还没有成型的工具,都在开发中,但工具化方面我们已经有比较好的工具分享给大家:
飞虎队作战处理协作平台
飞虎队作战处理协作平台是规范的工具化,由于规范运行较良好,因此向工具化方向进行了迭代
当我们在钉钉中沟通故障的处理过程时,肯定面临信息标准化,信息可见性,信息时效性等等问题带来的问题处理效率下降问题。飞虎队故障处理协作平台是故障处理的沟通平台,目前功能很简单,就是将处理过程标准化及更好的可视化,使得信息传递高效,使SRE成员快速进行问题定们一状态以及思考更加全面。
未来通过智能化手段,将其中的处理过程由人工干预改造为系统自动处理。举例容灾切换前先人工CHECK机房状态再人工进行切换,这个过程未来将实现系统自动处理。

【对未来的思考】

相信不久将来AE的可用性将会得到较好的治理,如果文中提到的都能很好的实现,再未来我们在可用性方面要做哪些事情呢?我想我们将redefine可用性,从单纯的订单下跌等数据中,到真正的能够体现用户使用我们网站或APP时"可用性"有多好,进一步拓展可用性的边界,让客户更加可用更加满意。

时间: 2024-10-21 12:25:23

国际化的SRE的相关文章

阿里SRE体系如何支撑24小时峰值压力、220+个国家“剁手党”?

淘宝点亮了全中国,Aliexpress点亮了全球,在近百个国家的购物类app排名第一.但AE国际只有1-2个物流,峰值压力一度导致多个国家的银行系统.物流系统瘫痪,可以想象,作为Aliexpress的SRE压力多大. 究竟阿里工程师是如何解决这一难题?今天我们通过AliExpress SRE负责人周志伟的分享,揭开这个谜题. 阿里巴巴高级技术专家.AliExpress SRE负责人周志伟 Aliexpress是阿里巴巴集团跨境及国际消费业务,国内大家都知道淘宝,但是走出国门,知道Aliexpre

JavaWeb 后端 <十三> 之 监听器 JSTL国际化

1. 监听器 1.1   概述 监听器: 主要是用来监听特定对象的创建或销毁.属性的变化的!                     是一个实现特定接口的普通java类! 对象:          自己创建自己用 (不用监听)          别人创建自己用 (需要监听)   Servlet中哪些对象需要监听?          request / session / servletContext          分别对应的是request监听器.session相关监听器.servletCo

背靠中台实现基于大数据驱动的国际化电商架构(二)

一.背景 老生常谈国际化的技术挑战: 1)国际电商面临的是全球消费者,天然延时大: 2)面临国际互联互通的网络质量问题: 3)国际电商技术还将面临如何快速应对合规.政策等问题: 4)需要发展本地化业务来补足消费者需求,而本地化将面临与全球各地的第三方Service Provider对接: 5)全球范围内的灾备: 6)全球数据一致性: 7)竞争环境及很多的不确定性,需要我们快速迭代试错 这些挑战需要我们用智能高效的技术解决方案.另外我们又是一个基于微服务的较轻量级的技术体系,我们容易做架构上的调整

全球买全球卖 国际化的技术挑战

改变世界的不是技术,而是技术背后的梦想.2015财年阿里巴巴中国零售平台实现了3万亿人民币交易额首次超越沃尔玛成为全球最大经济体,而这只是一个新的起点,我们的下一个目标是到2020年全球零售平台交易额达到6万亿.AliExpress(阿里速卖通)技术总监郭东白在ATF电商论坛上和大家分享了电商国际化的技术挑战和探索. 郭东白(阿白),AliExpress技术总监 以下是郭东白的演讲实录.   阿白:我很小就来清华上过课,当时应该是响应国家提出的口号叫"计算机从娃娃抓起"(笑),今天很高

qt-QT国际化动态转换:为什么转换不了呢

问题描述 QT国际化动态转换:为什么转换不了呢 #include ""mainwindow.h""#includeMainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) b_1(NULL) b_2(NULL) translator(NULL){ translator=new QTranslator; b_1=new QPushButton(this); b_2=new QPushButton(thi

新的jQuery国际化插件的原型

网页制作Webjx文章简介:新发布的jQuery国际化插件. jQuery国际化插件可以让你在JavaScript代码中轻松地处理不同文化之间的数字.货币和日期格式.例如,你可以使用这个插件正确地显示一个国家的货币符号 上个月,我写了一篇关于微软如何在向jQuery贡献代码的文章,也谈到了在第一批贡献的代码中的一些功能:jQuery模板和数据链接支持. 今天,我们发布了一个新的jQuery国际化插件的原型,你可以在你的JavaScript程序中引用这个插件添加国际化功能.插件涵盖了超过350种文

Java高级日期概念 (献给那些要国际化时间及SQL时间的兄弟)

概念|高级 Java高级日期概念 如果你的Java 程序向处在不同时区或者不同国家的用户显示时间和日期,那么你需要了解Java日期类的一些更加高级的方面 .本文中讨论的类将包含java.text.DateFormat,以及java.util.TimeZone和java.util.Locate.我们还将讨论如何使用一个java.util.Date的子类java.sql.Date来从Oracle数据库里提取和保存Java日期数据.地区的问题在我们国际化我们的日期数据以前,我们需要进一步的学习Loca

JSF的中文化与国际化的简便方法

js|中文     对于各种不同的Java应用,国际化的问题总会给我们非英文用户带来一些麻烦,在JSF中也一样,在实践中碰到了一系列不容易解决的问题,最终解决的大部分的问题,也完成了一个可以运行的小项目,我把我的一些经验拿出来和大家分享一下,希望能让大家在这些地方少走一些弯路. Java中的国际化是由 java.util.Locale 类支持的,中文对应的代码是"zh",所以我们要在JSF中使用中文的话,需要在我们的 faces-config.xml 中做一些简单的配置了,加入对中文的

如何使用JSTL标签做页面资源国际化

js|页面 1 Web应用开发,如何使用JSTL 标签做页面资源国际化需解决问题描述:1 项目中的文本要实现国际化 2 希望达到按模块分开编写国际化资源文件解决方案: JSTL 标签支持国际化的标签为 <fmt:bundle> <fmt:message> <fmt:setBundle><fmt:param> <fmt:bundle> 功能:指定消息资源使用的文件 <fmt:message>功能:显示消息资源文件中指定key的消息,支持