blog

SRE 技术简报 20191222

Author: ninehills
Labels: blog
Created: 2019-12-22T05:18:04Z
Link and comments: https://github.com/ninehills/blog/issues/73

SRE 技术简报 20191222

前沿进展

0x00. Poetry - Python dependency management and packaging made easy.

Python 的依赖管理一直被人诟病,Poetry 类似于 PHP 的 composer 或者 Ruby 的 cargo,值得尝试。

0x01. Hubble - Network, Service & Security Observability for Kubernetes

可以理解为是基于 eBPF 和 Ciium 的看板,可以看K8s的服务依赖图以及根据eBPF监控的实时网络性能。

优秀文章

0x10. The Art of SLOs Workshop

Google 提供的 SLO 相关的 Workshop,可以配合在 Coursera的免费课程 一起动手实践,其中使用了真实的各种服务模型进行 SLO 的抽象。

0x11. Shrinking the time to mitigate production incidents - CRE life lessons

通过灾难演练等方法,提高工程师处理故障事件的效率。做这种事情的前提是故障模式非常复杂,复杂故障依然需要工程师介入处理。随着系统越来越成熟,故障的绝对数量肯定是越来越少,那么如何保证团队里所有Oncall的工程师(特别是新工程师)都有足够的能力处理突发故障,就需要从故障的上层管理、组织机制、日常演练等方式入手。

0x12. Journey into Observability: Reading material

Observability(可观测性)相关资料的汇总。顺便一提,可观测性是控制论的一个名词,随着IT行业的发展,需要逐渐引入很多传统行业的理论,控制论我认为是最应该学习的理论之一。

0x13. Seven tips to improve live streaming

流媒体服务可靠性的一些心得。

0x14. Are you ready? New starters journey to production.

新人 SRE 的培训路线,包括服务培训&问答(在某厂称之为服务串讲)、跟随值班(大约持续一个月)、正式毕业(需要有仪式感)。

0x15. Algorithms Behind Modern Storage Systems

存储系统中的算法,包括B-Tree和LSM-Tree等。

0x16. Manual Work is a Bug

消除手动工作的四个步骤:

  1. 将手动工具用文档描述;
  2. 文档中的每个步骤使用脚本或者命令行替代;
  3. 自动化工具,工具必须在代码库中,并且有足够好的测试。选择合适的语言(Bash不能超过100行,Python不能超过1000行,复杂脚本用Golang实现);
  4. 用自治的自动化系统取代自动化工具,该系统应该就是服务的一部分。

0x17. Why SRE Documents Matter: How documentation enables SRE teams to manage new and existing services

SRE 工作中,文档的重要性毋庸置疑,那么应该写那些文档,如何写这些文档?文中提供了很多模版供参考。

业界故障

0x20. 2019年支付宝和微信支付的故障复盘

据小道消息,微信支付故障原因为程序BUG,支付宝故障原因是变更中存在误操作或者配置错误,应该不是官方声称的某处机房网络抖动(如果是单机房网络抖动,支付宝有足够的能力进行切换)。支付宝故障持续大约二三十分钟,证明蚂蚁金服曾经 PR 的 三地五中心,28秒切换的解决方案 也只是理想情况,服务故障的模式无法穷尽。