我們如何撤離 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 值班

來源: www.habr.com