Kaip mes evakavomės iš „Yandex“ darbo pamainos

Kaip mes evakavomės iš „Yandex“ darbo pamainos

Kai darbas telpa viename nešiojamajame kompiuteryje ir gali būti atliktas autonomiškai nuo kitų žmonių, tada nekyla problemų persikraustyti į nuošalią vietą – tiesiog pabūti namuose ryte. Tačiau ne visiems taip pasiseka.

Budinti pamaina yra paslaugų prieinamumo specialistų (SRE) komanda. Tai apima budinčius administratorius, kūrėjus, vadybininkus, taip pat bendrą „prietaisų skydelį“ iš 26 LCD ekranų, kurių kiekvienas yra 55 colių. Nuo budinčios pamainos darbo priklauso įmonės paslaugų stabilumas ir problemų sprendimo greitis.

Šiandien Dmitrijus Melikovas tal10n, budinčios pamainos vadovas, kalbės apie tai, kaip per kelias dienas pavyko nugabenti techniką į namus ir nustatyti naujus darbo procesus. Suteikiu jam žodį.

— Kai turite begalę laiko, galite patogiai judėti bet kur su bet kuo. Tačiau spartus koronaviruso plitimas pavertė mus visiškai kitokiomis sąlygomis. „Yandex“ darbuotojai vieni pirmųjų pradėjo dirbti nuotoliniu būdu – dar prieš įvedant saviizoliacijos režimą. Tai atsitiko taip. Kovo 12 d., ketvirtadienį, buvau paprašytas įvertinti galimybę kolektyvo darbus perkelti į namus. Penktadienį, 13 d., pasirodė rekomendacija pereiti prie nuotolinio darbo. Naktį į antradienį, kovo 17 d., viską buvome paruošę: budintieji dirbo iš namų, vežė įrangą, parašė trūkstamą programinę įrangą, perkonfigūravo procesus. O dabar papasakosiu, kaip mums pavyko. Tačiau pirmiausia turite prisiminti užduotis, kurias išsprendžia darbo pamaina.

Kas mes esame

„Yandex“ yra didelė įmonė, teikianti šimtus paslaugų. Paieškos, balso asistento ir visų kitų produktų stabilumas priklauso ne tik nuo kūrėjų. Duomenų centre gali sutrikti maitinimas. Keisdamas asfaltą darbuotojas gali netyčia sugadinti optinį kabelį. Arba gali padidėti vartotojų aktyvumas, todėl reikia skubiai perskirstyti pajėgumus. Be to, mes visi gyvename didelėje, sudėtingoje infrastruktūroje, o vieno produkto išleidimas gali netyčia sugadinti kitą.

26 skydai mūsų atviroje erdvėje yra pusantro tūkstančio įspėjimų ir daugiau nei šimtas mūsų paslaugų diagramų ir skydelių. Iš esmės tai yra didžiulis diagnostikos skydelis. Patyręs budintis administratorius, žiūrėdamas į jį, gali greitai suprasti svarbių komponentų būseną ir nustatyti technologinės problemos tyrimo kryptį. Tai nereiškia, kad žmogus turėtų nuolat dairytis į visus įrenginius: dėmesį atkreips pati automatika, išsiųsdama pranešimą į specialią budinčiojo sąsają, tačiau be vizualinio skydelio problemos sprendimas gali užtrukti.

Iškilus problemoms, budintis pareigūnas pirmiausia įvertina jų prioritetą. Tada ji išskiria problemą arba sumažina jos poveikį vartotojams.

Yra keli standartiniai problemos išskyrimo būdai. Vienas iš jų – paslaugų degradavimas, kai budintis administratorius išjungia kai kurias funkcijas, kurias vartotojai mažiausiai pastebi. Tai leidžia laikinai sumažinti apkrovą ir išsiaiškinti, kas atsitiko. Jei iškyla problemų su duomenų centru, budintis pareigūnas susisiekia su operacijų komanda, supranta problemą, stebi jos sprendimo laiką ir, jei reikia, įtraukia specializuotas komandas.

Kai budintis administratorius negali išskirti problemos, atsiradusios dėl išleidimo, jis apie tai praneša serviso komandai – ir kūrėjai ieško klaidų naujame kode. Jei jie negali to išsiaiškinti, administratorius pritraukia kūrėjus iš kitų produktų arba paslaugų prieinamumo inžinierius.

Galiu ilgai kalbėti apie tai, kaip čia viskas veikia, bet manau, kad jau perteikiau esmę. Budėjimo pamaina koordinuoja visų tarnybų darbą ir stebi pasaulines problemas. Budinčiam administratoriui svarbu, kad diagnostikos skydelis būtų prieš akis. Štai kodėl, pereidami prie nuotolinio darbo, negalite visiems duoti nešiojamojo kompiuterio. Diagramos ir įspėjimai netilps ekrane. Ką daryti?

Idėja

Biure visi dešimt budinčių administratorių dirba pamainomis už vieno prietaisų skydelio, kuriame yra 26 monitoriai, du kompiuteriai, keturios NVIDIA Quadro NVS 810 vaizdo plokštės, du ant stovo montuojami nepertraukiamo maitinimo šaltiniai ir kelios nepriklausomos tinklo prieigos. Turėjome užtikrinti, kad kiekvienas turėtų galimybę dirbti namuose. Tokios sienos bute surinkti tiesiog neįmanoma (žmona tuo ypač apsidžiaugs), todėl nusprendėme sukurti nešiojamą variantą, kurį būtų galima atsinešti ir surinkti į namus.

Pradėjome eksperimentuoti su konfigūracija. Turėjome visus įrenginius sutalpinti į mažiau ekranų, todėl pagrindinis monitoriaus reikalavimas buvo didelis pikselių tankis. Iš mūsų aplinkoje esančių 4K monitorių testavimui pasirinkome Lenovo P27u-10.

Iš nešiojamųjų kompiuterių paėmėme 16 colių MacBook Pro. Jis turi gana galingą grafikos posistemį, reikalingą vaizdams pateikti keliuose 4K ekranuose, ir keturias universalias C tipo jungtis. Galite paklausti: kodėl gi ne darbalaukyje? Nešiojamąjį kompiuterį pakeisti lygiai tokiu pat iš sandėlio yra daug lengviau ir greičiau nei surinkti ir sukonfigūruoti identišką sistemos bloką. Ir sveria mažiau.

Dabar mums reikėjo suprasti, kiek monitorių iš tikrųjų galime prijungti prie nešiojamojo kompiuterio. Ir čia problema yra ne jungčių skaičius; tai galėjome sužinoti tik išbandę surinktą sistemą.

Kaip mes evakavomės iš „Yandex“ darbo pamainos

Bandymai

Mes gana patogiai išdėstėme visas diagramas ir įspėjimus keturiuose monitoriuose ir netgi prijungėme juos prie nešiojamojo kompiuterio, tačiau susidūrėme su problema. 4x4K taškų atvaizdavimas prijungtuose monitoriuose taip apkrauna vaizdo plokštę, kad nešiojamas kompiuteris išsikrovė net kraunant. Laimei, problema buvo išspręsta padedant Lenovo ThinkPad Thunderbolt 3 Dock Gen 2. Prie doko stotelės pavyko prijungti monitorių, maitinimo šaltinį ir net mėgstamą pelę bei klaviatūrą.

Tačiau iš karto išryškėjo kita problema: GPU taip stipriai knibždėte knibždėjo, kad nešiojamasis kompiuteris perkaito, o tai reiškia, kad perkaito ir baterija, dėl kurios perėjo į apsauginį režimą ir nustojo įkrauti. Apskritai tai labai naudingas režimas, apsaugantis nuo pavojingų situacijų. Kai kuriais atvejais problema buvo išspręsta pasitelkus aukštųjų technologijų įrenginį – tušinuką, padėjusį po nešiojamuoju kompiuteriu ventiliacijai pagerinti. Tačiau tai padėjo ne visiems, todėl padidinome ir standartinio ventiliatoriaus greitį.

Buvo dar viena nemaloni savybė. Visos diagramos ir įspėjimai turi būti išdėstyti griežtai apibrėžtoje vietoje. Įsivaizduokite, kad pilotuojate lėktuvą, kad nusileistumėte – tada greičio indikatoriai, aukščiamačiai, variometrai, padėties indikatoriai, kompasai ir padėties indikatoriai pradeda keisti dydį ir šokinėti į skirtingas vietas. Taigi nusprendėme sukurti programą, kuri tai padės. Per vieną vakarą mes jį parašėme Electron.js, paimdami paruoštą API apie langų kūrimą ir valdymą. Pridėjome konfigūracijos procesorių ir jų periodinį atnaujinimą, taip pat palaikymą ribotam monitorių skaičiui. Šiek tiek vėliau jie pridėjo įvairių sąrankų palaikymą.

Surinkimas ir pristatymas

Iki pirmadienio pagalbos tarnybos burtininkai mums gavo 40 monitorių, dešimt nešiojamųjų kompiuterių ir tiek pat dokų. Nežinau, kaip jiems tai pavyko, bet labai jiems ačiū.

Kaip mes evakavomės iš „Yandex“ darbo pamainos

Liko visa tai pristatyti į budinčių administratorių butus. Ir tai yra dešimt adresų įvairiose Maskvos vietose: pietuose, rytuose, centre, taip pat Balašichoje, kuri yra 45 kilometrai nuo biuro (beje, vėliau buvo pridėtas stažuotojas iš Serpuchovo). Reikėjo kažkaip visa tai paskirstyti tarp žmonių, kurti logistiką.

Įvedžiau visus adresus mūsų Žemėlapiuose, dar yra galimybė optimizuoti maršrutą tarp skirtingų taškų (naudojau nemokamą kurjeriams skirtą įrankio beta versiją). Savo komandą suskirstėme į keturias nepriklausomas dviejų žmonių komandas, kurių kiekviena turi savo maršrutą. Mano automobilis pasirodė pats erdviausias, todėl iš karto paėmiau įrangą keturiems darbuotojams.

Kaip mes evakavomės iš „Yandex“ darbo pamainos

Visas pristatymas užtruko rekordiškai tris valandas. Pirmadienio vakarą išėjome iš biuro dešimtą. Vieną valandą nakties jau buvau namie. Tą pačią naktį išėjome į pareigas su nauja įranga.

Todėl

Vietoj vienos didelės diagnostikos pulto kiekvieno budinčiojo bute surinkome dešimt sąlyginai nešiojamų. Žinoma, dar reikėjo išsiaiškinti kai kurias detales. Pavyzdžiui, anksčiau turėjome vieną „geležinį“ telefoną budėtojui pranešimams. Naujomis sąlygomis tai nepasiteisino, todėl sugalvojome budintiems pareigūnams skirtus „virtualius telefonus“ (iš esmės kanalus pasiuntinyje). Buvo ir kitų pakeitimų. Tačiau svarbiausia, kad per rekordiškai trumpą laiką pavyko perkelti ne tik žmones, sumažinant jų užsikrėtimo riziką, bet ir visą savo darbą nepakenkiant procesams ir produkto stabilumui. Šiuo režimu dirbame jau mėnesį.

Žemiau rasite mūsų budinčių pareigūnų tikrų darbo vietų nuotraukas.

Kaip mes evakavomės iš „Yandex“ darbo pamainos

Kaip mes evakavomės iš „Yandex“ darbo pamainos

Kaip mes evakavomės iš „Yandex“ darbo pamainos

Kaip mes evakavomės iš „Yandex“ darbo pamainos

Kaip mes evakavomės iš „Yandex“ darbo pamainos

Šaltinis: www.habr.com