我们如何撤离 Yandex 值班

我们如何撤离 Yandex 值班

当工作适合一台笔记本电脑并且可以独立于其他人完成时,那么转移到远程位置就没有问题了 - 早上呆在家里就足够了。 但并不是每个人都这么幸运。

值班人员是服务可用性专家 (SRE) 团队。 它包括值班管理员、开发人员、经理,以及一个由 26 个各 55 英寸 LCD 面板组成的通用“仪表板”。 公司服务的稳定性和解决问题的速度取决于值班的工作。

今天德米特里·梅利科夫 塔尔10n值班负责人将讲述他们如何在几天之内将设备运送到家里并建立新的工作流程。 我请他发言。

- 当你有无限的时间时,你可以轻松地带着任何东西移动到任何地方。 但冠状病毒的迅速传播使我们处于完全不同的境地。 即使在自我隔离制度推出之前,Yandex 员工也是第一批转向远程工作的员工之一。 事情是这样发生的。 12 月 13 日星期四,我被要求评估将团队工作搬回家的可能性。 17 号星期五,有人建议转为远程工作。 XNUMX 月 XNUMX 日星期二晚上,一切都为我们准备好了:服务员在家工作,设备被移动,缺失的软件被编写,流程被重新配置。 现在我将告诉你我们是如何做到的。 但首先您需要记住轮班要解决的任务。

我们是谁

Yandex 是一家拥有数百项服务的大公司。 搜索、语音助手等所有产品的稳定性不仅仅取决于开发者。 数据中心的供电可能会中断。 工人在更换沥青时可能会意外损坏光缆。 或者用户活动可能会激增,这将需要紧急重新分配容量。 此外,我们都生活在一个庞大而复杂的基础设施中,其中一种产品的发布可能会意外地导致另一种产品的退化。

我们开放空间中的 26 个面板包含 XNUMX 个警报以及我们服务的 XNUMX 多个图表和面板。 事实上,这是一个巨大的诊断面板。 经验丰富的值班管理员,通过查看,可以快速了解重要节点的状态,并可以为调查技术问题确定方向。 这并不意味着一个人应该不断地查看所有设备:自动化本身会通过向值班人员的特殊界面发送通知来引起注意,但如果没有可视面板,问题的解决可能会被延迟。

当问题发生时,服务员首先评估他们的优先级。 然后它会隔离问题或最大程度地减少其对用户的影响。

有几种标准方法可以隔离问题。 其中之一是当值班管理员禁用一些用户最不注意的功能时服务的降级。 这使您可以暂时减少负载并弄清楚发生了什么。 如果数据中心出现问题,值班人员会联系运营团队,了解问题,控制解决问题的时间,并在必要时联系相关团队。

当值班管理员无法隔离由于发布而出现的问题时,他会将其报告给服务团队 - 然后开发人员在新代码中查找错误。 如果他们无法弄清楚,那么管理员就会吸引其他产品的开发人员或工程师来获取服务的可用性。

我可以和我们讲很多事情是如何安排的,但我认为我已经传达了本质。 职责轮班协调所有部门的工作并控制全球问题。 对于值班管理员来说,眼前有一个诊断面板非常重要。 这就是为什么当您切换到远程工作时,您不能只给每个人一台笔记本电脑。 图表和警报将无法显示在屏幕上。 该怎么办?

想法

在办公室里,所有十名值班管理员都在同一个仪表板前轮班工作,仪表板包括 26 台显示器、两台计算机、四块 NVIDIA Quadro NVS 810 显卡、两个机架式不间断电源和多个独立的网络接入。 我们需要确保每个人都有机会在家工作。 在公寓里组装这样的墙是不可能的(我的妻子会特别高兴),所以我们决定创建一个便携式版本,可以在家中携带和组装。

我们开始尝试配置。 我们需要将所有设备安装在更少的显示器上,因此对显示器的主要要求是高像素密度。 在我们环境中可用的 4K 显示器中,我们选择了 Lenovo P27u-10 进行测试。

在笔记本电脑中,我们选择了 16 英寸 MacBook Pro。 它具有相当强大的图形子系统,这是在多个 4K 显示器上渲染图像所必需的,以及四个通用 Type-C 连接器。 你可能会问:为什么不是桌面版呢? 用仓库中的一模一样的笔记本电脑更换笔记本电脑比组装和配置相同的系统单元更容易、更快捷。 是的,它的重量更轻。

现在有必要了解我们真正可以将多少台显示器连接到笔记本电脑。 这里的问题不在于连接器的数量,我们只能通过将系统作为一个组件进行测试才能找到答案。

我们如何撤离 Yandex 值班

测试

我们轻松地将所有图表和警报放置在四台显示器上,甚至将它们连接到笔记本电脑,但我们遇到了问题。 在连接的显示器上渲染 4×4K 像素会导致显卡负载过高,以至于笔记本电脑甚至在充电时也会放电。 幸运的是,在 Lenovo ThinkPad Thunderbolt 3 Dock Gen 2 扩展坞的帮助下,问题得到了解决。我们成功地将显示器、电源,甚至您最喜欢的鼠标和键盘连接到扩展坞。

但另一个问题立即浮现出来:GPU 膨胀太大,导致笔记本电脑过热,这意味着电池也过热,从而进入保护模式并停止充电。 一般来说,这是一种非常有用的模式,可以防止出现危险情况。 在某些情况下,问题可以借助高科技设备得到解决——将圆珠笔放在笔记本电脑下方以改善通风。 但这并没有帮助所有人,因此我们还调高了标准风扇的速度。

还有一个令人不快的特点。 所有图表和警报必须放置在严格定义的位置。 想象一下,您正在驾驶一架飞机降落 - 然后速度指示器、高度计、变速计、人工地平线、指南针和位置指示器开始改变大小并在不同的地方跳跃。 因此,我们决定制作一个有助于解决此问题的应用程序。 一天晚上,我们在 Electron.js 上写了它,拿了一个现成的 API 用于创建和管理窗口。 我们添加了配置处理程序及其定期更新,以及对有限数量的监视器的支持。 不久之后,他们添加了对不同设置的支持。

组装及交付

到周一,服务台的向导们已经为我们获得了 40 台显示器、XNUMX 台笔记本电脑和相同数量的扩展坞。 我不知道他们是怎么做到的,但是非常感谢。

我们如何撤离 Yandex 值班

剩下的工作就是将所有这些送到值班管理人员的公寓。 这些是莫斯科不同地区的十个地址:南部、东部、中心,还有距办公室45公里的巴拉希哈(顺便说一下,后来还添加了谢尔普霍夫的实习生)。 有必要以某种方式在人们之间分配所有这些,建立物流。

我在地图上输入了所有地址,仍然有机会优化不同点之间的路线(我使用了该快递工具的免费测试版)。 我们将我们的团队分成四个独立的团队,每组两人,每个团队都有自己的路线。 我的车是最宽敞的,所以我一次为四名员工携带了设备。

我们如何撤离 Yandex 值班

整个运送过程花了创纪录的三个小时。 我们周一晚上 XNUMX 点离开办公室。 凌晨一点,我已经到家了。 当天晚上,我们就带着新设备去值班。

其结果是

我们没有使用大型诊断控制台,而是在每位值班人员的公寓中收集了十个相对便携式的诊断控制台。 当然,还有一些事情需要解决。 例如,之前我们有值班人员的一部“铁”电话用于通知。 在新的条件下,这行不通,所以我们为值班人员想出了“虚拟电话”(实际上是信使中的频道)。 还有其他变化。 但最重要的是,我们在创纪录的时间内不仅成功转移了人员,降低了感染风险,而且还成功转移了我们所有的在家工作,而没有损害流程和产品稳定性。 我们这样做已经一个月了。

下面您将看到我们服务员的真实工作照片。

我们如何撤离 Yandex 值班

我们如何撤离 Yandex 值班

我们如何撤离 Yandex 值班

我们如何撤离 Yandex 值班

我们如何撤离 Yandex 值班

来源: habr.com