我们如何疏散Yandex的职责转移



当工作适合放在一台笔记本电脑中并且可以由其他人自主执行时,则转移到远程位置就没有问题-早上就呆在家里。但是并不是每个人都那么幸运。

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

今天德米特里·梅里科夫tal10n,值班主管将在几天之内讨论他们如何将设备运送到家中并建立新的工作流程。我请他发言。



-当您有无尽的时间时,您可以随处随处舒适地移动任何物品。但是,冠状病毒的迅速传播使我们处于完全不同的状况。Yandex的员工是最早转向远程工作的人之一-甚至在采用自我隔离制度之前。就是这样 3月12日,星期四,我被要求评估将团队的工作转移到家里的机会。在13日(星期五),有一项建议切换到远程工作。3月17日星期二晚上,一切都准备就绪:服务员在家工作,运输设备,编写缺少的软件,重新配置流程。现在,我将告诉您我们是如何做到的。但是首先,您需要记住那些因值班而解决的任务。

我们是谁


Yandex是一家提供数百项服务的大型公司。搜索,语音助手和所有其他产品的稳定性不仅取决于开发人员。数据中心可能会中断电源。更换沥青时,工人可能会意外损坏光缆。否则,用户活动可能激增,这将需要紧急重新分配电源。而且,我们所有人都生活在庞大,复杂的基础架构中,其中一种产品的发布可能会偶然导致另一种产品的性能下降。

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

出现问题时,服务员首先评估他们的优先级。然后,他将问题隔离出来或将其对用户的影响降到最低。

有几种解决问题的标准方法。其中之一是服务降级,当值班管理员禁用用户最不注意的某些功能时。这使您可以暂时减少负载并找出发生了什么情况。如果数据中心存在问题,那么服务员将与操作团队联系,了解问题,控制解决方案的时间,并在必要时连接配置文件命令。

当值班管理员无法隔离由于发布而引起的问题时,他将其报告给服务团队-开发人员将在新代码中查找错误。如果他们无法解决问题,那么管理员会吸引其他产品或工程师的开发人员来提供服务。

关于我们如何安排一切,我可以进行很长的讨论,但是我认为我已经传达了实质。职责转移负责协调所有服务的工作并控制全局问题。对于值班的管理员而言,在眼前安装诊断面板非常重要。这就是为什么当切换到远程工作时,您不能随身带给所有人一台笔记本电脑。图表和警报无法显示在屏幕上。该怎么办?

理念


在办公室中,所有十名值班管理员都在一个仪表盘后面轮班工作,该仪表盘包括26个监视器,两台计算机,四个NVIDIA Quadro NVS 810视频卡,两个不间断电源设备以及几个独立的网络访问权限。但是我们需要为每个人提供在家工作的机会。根本不可能在公寓中组装这样的墙(我的妻子对此特别高兴),因此我们决定创建一种便携式版本,您可以在家中携带和组装。

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

他们从笔记本电脑上购买了16英寸MacBook Pro。它具有相当强大的图形子系统,是在多个4K显示器上渲染图片所必需的,还具有四个通用的Type-C接口。您可能会问:为什么不使用台式机?与组装和配置相同的系统单元相比,用仓库中的笔记本电脑替换完全相同的笔记本电脑要容易得多,而且速度也快得多。是的,而且重量更轻。

现在有必要了解我们实际上可以连接到笔记本电脑的显示器数量。而且这里的问题不是连接器的数量,我们只能通过测试整个系统才能找到。



测试中


我们非常舒适地将所有图表和警报放在四台显示器上,甚至将它们连接到笔记本电脑上,但遇到了问题。在所连接的显示器上渲染4×4K像素时,​​视频卡已加载,即使在充电时笔记本电脑也已放电。幸运的是,在Lenovo ThinkPad Thunderbolt 3 Dock Gen 2扩展坞的帮助下,该问题得以解决,我们设法将显示器,电源甚至带有键盘的喜爱的鼠标连接到了扩展坞。

但是立即出现另一个问题:GPU膨胀过多,导致笔记本电脑过热,这意味着电池也过热,因此进入保护模式并停止充电。通常,这是一种非常有用的模式,可防止发生危险情况。在某些情况下,借助高科技设备-放置在笔记本电脑下方的圆珠笔可以改善通风,从而解决了该问题。但这并不能帮助所有人,因此我们也改变了常规风扇的速度。

还有另一个令人不快的功能。所有图表和警报应放置在严格定义的位置。想象一下,您正在驾驶一架飞机降落-此处的速度指示器,高度表,变速表,水平指示器,指南针和位置指示器开始调整大小并跳到不同的地方。因此,我们决定制作一个对此有帮助的应用程序。在一个晚上,我们在Electron.js上编写了该代码,并使用了现成的API来创建和管理窗口。我们添加了配置处理程序及其定期更新,并支持有限数量的监视器。稍后,我们增加了对各种设置的支持。

组装与交付


到星期一,服务台向导已经为我们配备了40台显示器,10台笔记本电脑和许多扩展坞。我不知道他们是怎么做到的,但是非常感谢。



剩下的一切都需要运到值班行政人员的公寓里。这些是莫斯科不同地区的十个地址:南部,东部,中部以及Balashikha,距办公室45公里(顺便说一下,后来还增加了来自Serpukhov的实习生)。必须以某种方式在人与人之间分配所有物品,以建立物流。

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



整个交付过程花费了创纪录的三个小时。我们星期一晚上十点离开办公室。早上一时,我已经在家。那天晚上,我们用新设备值班。

结果是什么


我们没有一个大型的诊断控制台,而是在每个值班人员的公寓里收集了十个相对便携的控制台。当然,它仍然可以解决一些小问题。例如,之前我们有一个值班人员的“铁”电话来进行通知。在新的条件下,这是行不通的,因此我们为值班人员(实际上是信使中的频道)提供了“虚拟电话”。还有其他变化。但是最主要的是,在创纪录的时间内,我们设法不仅转移了人员,减少了感染的风险,而且转移了我们在家里的所有工作,而没有损害产品的流程和稳定性。在这种模式下,我们已经工作了一个月。

您将在下面找到我们服务员实际工作的照片。










All Articles