我在亚马逊AWS云On Call的体验


从2020年到2021年,我在亚马逊(AWS云)担任软件开发工程师(SDE)。有人说SDE代表”Someone Does Everything”(什么都做的人),这相当准确。在亚马逊,每位SDE软件工程师都负责从设计、编码到测试的所有工作,还需要定期轮值紧急响应任务。大多数亚马逊团队由6-8名工程师和一名软件开发经理(SDM)组成,遵循“两个披萨团队” (Two Pizza Team)的原则。

每位SDE软件工程师通常每6-7周需要轮值一次Oncall(紧急响应任务),持续一整周24/7待命。在此期间,你需要处理和解决业务上出错的问题(比如服务器宕机,原因可能:程序出错崩溃、硬盘空间不足、CPU温度过高等)。为此,你需要在手机上安装紧急响应软件(Pong),以接收与团队产品相关的警报。当警报响起时,你必须在15分钟内确认工单。如果没有及时确认,问题会逐级上报,甚至可能报告到CEO姐夫贝佐斯 Jeff Bezos,这可能会对你的绩效评估产生负面影响。

我听说有个软件工程师下班后和同事到酒吧里喝两杯,然后警报响了,他淡定的拿起笔记本就处理起来了。

amazon 我在亚马逊AWS云On Call的体验 2021年 Amazon 程序员

亚马逊 Amazon

亚马逊的理念是你拥有自己的代码/You own your code。这意味着即使在半夜,警报响了,你也得爬起来解决问题。你的首要任务是恢复服务/Mitigation,其次是调查原因和解决。如果警报在凌晨3点响起,您可以临时重启服务器来解决问题,详细调查可以第二天起床后再进行。如果你在半夜被警报唤醒,第二天可以多休息,不用担心早晨的站会(敏捷开发每天都有例会)。

程序也需要Oncall就会促使他们尽可能的写出高质量的代码,避免BUG日后找麻烦。

这里顺便说一下,我在亚马逊S3的那个组,敏捷开发是2周一个短跑(Sprint),轮到oncall的工程师需要专注于Oncall DevOps,相当于是一个任务(多少点我忘记了),如果不太需要处理警报,则可以适当做一些其它开发任务。对我来说,压力最大的是在Oncall完的第二周,需要写报告,并在每周大会上给大家讲每个警报的原因和处理方案。

这个Oncall非常让人有压力,但它们有效地训练了软件工程师的DevOps技能。由于高灵敏度设置,新产品往往会生成更多警报。亚马逊以其99.99%的服务水平协议(SLA)而自豪,这要归功于SDE的紧急响应文化。

以下是我在2021年担任亚马逊SDE期间最后一次轮值时收到的警报示例。警报声可能非常刺耳,类似空袭警报,不过也有一些不那么刺耳甚至更愉快的铃声可供选择。

我在Oncall那周,我媳妇都不愿意和我睡,因为大晚上的被警报吵醒是件很吓人并且让人很不爽的事情。当我离开亚马逊来到微软剑桥研究院后,立马压力就小很多,而且人也开心很多,朋友圈状态都比较频繁了。

英文:The Experience of On-call (Paging) for Amazon Software Engineers

GD Star Rating
loading...
本文一共 904 个汉字, 你数一下对不对.
我在亚马逊AWS云On Call的体验. (AMP 移动加速版本)
上一篇: HTX火币交易所上的DeFi之Flexi Maxi (最大活期)

扫描二维码,分享本文到微信朋友圈
4a8dbcbe7a3d51bddd1d93abe84cd829 我在亚马逊AWS云On Call的体验 2021年 Amazon 程序员

一条回应

  1. 向阳而生

评论