Як мы эвакуіравалі дзяжурную змену Яндэкса

Як мы эвакуіравалі дзяжурную змену Яндэкса

Калі праца змяшчаецца ў адным ноўтбуку і можа выконвацца аўтаномна ад іншых людзей, то няма праблем перабрацца на аддаленне - дастаткова застацца раніцай дома. Але так пашанцавала не ўсім.

Дзяжурная змена - гэта каманда спецыялістаў па даступнасці сэрвісаў (SRE). Яна ўключае ў сябе дзяжурных адміністратараў, распрацоўшчыкаў, менеджэраў, а таксама агульную "прыборную панэль" з 26 ВК-панэляў па 55 цаляў кожная. Ад працы дзяжурнай змены залежыць стабільнасць сэрвісаў кампаніі і хуткасць рашэння праблем.

Сёння Дзмітрый Мелікаў tal10n, кіраўнік дзяжурнай змены, раскажа аб тым, як за лічаныя дні ім удалося перавезці абсталяванне дадому і наладзіць новыя працэсы работы. Перадаю яму слова.

- Калі ў вас бясконцы запас часу, то можна камфортна пераехаць з чым заўгодна куды заўгодна. Але імклівае распаўсюджванне каранавіруса паставіла нас у зусім іншыя ўмовы. Супрацоўнікі Яндэкса перайшлі на выдаленую працу аднымі з першых - яшчэ да ўвядзення рэжыму самаізаляцыі. Адбывалася гэта так. У чацвер 12 сакавіка мяне папрасілі ацаніць магчымасць перавесці працу каманды дадому. У пятніцу 13-га з'явілася рэкамендацыя перайсці на выдаленую працу. У ноч на аўторак 17 сакавіка ў нас усё было гатова: дзяжурныя працуюць дома, абсталяванне перавезена, не хапае софт напісаны, працэсы перанастроены. А зараз я раскажу, як мы гэта пракруцілі. Але для пачатку трэба ўспомніць аб тых задачах, якія вырашае дзяжурная змена.

Хто мы такія

Яндэкс - вялікая кампанія з сотнямі сэрвісаў. Стабільнасць пошуку, галасавога памочніка і ўсіх астатніх прадуктаў залежыць не толькі ад распрацоўшчыкаў. У дата-цэнтры можа парушыцца энергазабеспячэнне. Рабочы падчас замены асфальту можа выпадкова пашкодзіць аптычны кабель. Ці можа адбыцца ўсплёск актыўнасці карыстальнікаў, з-за чаго спатрэбіцца тэрмінова пераразмеркаваць магутнасці. Больш за тое, мы ўсё жывем у вялікай, складанай інфраструктуры, і рэліз аднаго з прадуктаў можа выпадкова прывесці да дэградацыі іншага.

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 манітораў, дзесяць наўтбукаў і столькі ж док-станцый. Не ведаю, як ім гэта ўдалося, але дзякуй ім вялікі.

Як мы эвакуіравалі дзяжурную змену Яндэкса

Заставалася развезці ўсё гэта па кватэрах дзяжурных адміністратараў. А гэта дзесяць адрасоў у розных кутках Масквы: поўдзень, усход, цэнтр, яшчэ і Балашыха, да якой ад офіса 45 кіламетраў (дарэчы, пазней дадаўся яшчэ і стажор з Серпухава). Трэба было неяк размеркаваць усё гэта між людзьмі, выбудаваць лагістыку.

Убіў усе адрасы на нашых Картах, там яшчэ ёсць магчымасць аптымізаваць маршрут паміж рознымі кропкамі (скарыстаўся бясплатнай бэта-версіяй прылады для кур'ераў). Разбілі нашу каманду на чатыры незалежныя брыгады па два чалавекі, кожная атрымала свой маршрут. У мяне машына аказалася найбольш умяшчальнай, таму ўзяў да сябе абсталяванне адразу для чатырох супрацоўнікаў.

Як мы эвакуіравалі дзяжурную змену Яндэкса

На ўсю дастаўку пайшлі рэкордныя тры гадзіны. Выехалі з офіса а дзесятай вечара панядзелка. У гадзіну ночы я ўжо быў дома. Гэтай жа ноччу мы выйшлі на дзяжурства ўжо з новым абсталяваннем.

Што ў выніку

Замест аднаго вялікага дыягнастычнага пульта мы сабралі дзесяць адносна партатыўных у кватэры ў кожнага дзяжурнага. Вядома ж, заставалася яшчэ ўтрэсці некаторыя дробязі. Напрыклад, раней у нас быў адзін "жалезны" тэлефон дзяжурнага для апавяшчэнняў. У новых умовах гэта не працавала, таму мы прыдумалі "віртуальныя тэлефоны" для дзяжурных (па сутнасці, каналы ў мэсэнджэры). Былі і іншыя змены. Але галоўнае, што ў рэкордныя тэрміны нам удалося перавесці не проста людзей, знізіўшы рызыку іх заражэння, а ўсю нашу працу на дом без шкоды для працэсаў і стабільнасці прадуктаў. У такім рэжыме мы працуем ужо месяц.

Ніжэй за вас чакаюць фатаграфіі рэальных працоўных месцаў нашых дзяжурных.

Як мы эвакуіравалі дзяжурную змену Яндэкса

Як мы эвакуіравалі дзяжурную змену Яндэкса

Як мы эвакуіравалі дзяжурную змену Яндэкса

Як мы эвакуіравалі дзяжурную змену Яндэкса

Як мы эвакуіравалі дзяжурную змену Яндэкса

Крыніца: habr.com