Cum am evacuat tura de serviciu Yandex

Cum am evacuat tura de serviciu Yandex

Când munca încape într-un laptop și poate fi efectuată autonom față de alte persoane, atunci nu există nicio problemă cu mutarea într-o locație îndepărtată - este suficient să stai acasă dimineața. Dar nu toți sunt atât de norocoși.

Schimbul de serviciu este o echipă de specialiști în disponibilitatea serviciilor (SRE). Include administratori de serviciu, dezvoltatori, manageri, precum și un „tablou de bord” comun de 26 de panouri LCD de 55 de inci fiecare. Stabilitatea serviciilor companiei și viteza de rezolvare a problemelor depind de munca schimbului de serviciu.

Astăzi, Dmitri Melikov tal10n, șeful de tură de gardă, va vorbi despre cum în câteva zile au reușit să transporte echipamentele la domiciliu și să stabilească noi procese de lucru. îi dau cuvântul.

- Când aveți o rezervă infinită de timp, vă puteți deplasa confortabil cu orice oriunde. Dar răspândirea rapidă a coronavirusului ne-a pus în condiții complet diferite. Angajații Yandex au fost printre primii care au trecut la munca de la distanță, chiar înainte de introducerea regimului de autoizolare. S-a întâmplat așa. Joi, 12 martie, mi s-a cerut să evaluez posibilitatea de a muta locul de muncă al echipei acasă. Vineri, 13, a existat o recomandare de a trece la lucrul de la distanță. În noaptea de marți, 17 martie, totul era pregătit pentru noi: însoțitorii lucrau acasă, echipamentul a fost mutat, s-a scris software-ul lipsă, procesele au fost reconfigurate. Și acum vă voi spune cum am făcut-o. Dar mai întâi trebuie să vă amintiți despre sarcinile pe care le rezolvă schimbarea de serviciu.

Cine suntem noi

Yandex este o companie mare cu sute de servicii. Stabilitatea căutării, a asistentului vocal și a tuturor celorlalte produse depinde nu numai de dezvoltatori. Sursa de alimentare poate fi întreruptă în centrul de date. Un muncitor în timpul înlocuirii asfaltului poate deteriora accidental cablul optic. Sau poate exista o creștere a activității utilizatorilor, care va necesita o realocare urgentă a capacității. Mai mult, toți trăim într-o infrastructură mare, complexă, iar lansarea unuia dintre produse poate duce accidental la degradarea altuia.

26 de panouri din spațiul nostru deschis reprezintă o mie și jumătate de alerte și mai mult de o sută de diagrame și panouri ale serviciilor noastre. De fapt, acesta este un panou de diagnostic uriaș. Un administrator de serviciu cu experiență, privindu-l, înțelege rapid starea nodurilor importante și poate stabili direcția pentru investigarea unei probleme tehnologice. Acest lucru nu înseamnă că o persoană ar trebui să se uite în mod constant la toate dispozitivele: automatizarea în sine va atrage atenția trimițând o notificare către interfața specială a ofițerului de serviciu, dar fără un panou vizual, soluția problemei poate fi întârziată.

Când apar probleme, însoțitorul le evaluează mai întâi prioritatea. Apoi izolează problema sau minimizează impactul acesteia asupra utilizatorilor.

Există mai multe modalități standard de a izola o problemă. Una dintre ele este degradarea serviciilor, atunci când administratorul de serviciu dezactivează unele dintre funcțiile pe care utilizatorii le observă cel mai puțin. Acest lucru vă permite să reduceți temporar sarcina și să vă dați seama ce s-a întâmplat. Dacă există o problemă cu centrul de date, ofițerul de serviciu contactează echipa de operare, înțelege problema, controlează momentul soluționării acesteia și, dacă este necesar, conectează echipele relevante.

Când administratorul de serviciu nu poate izola problema apărută din cauza lansării, o raportează echipei de service - iar dezvoltatorii caută erori în noul cod. Dacă nu reușesc să-și dea seama, atunci administratorul atrage dezvoltatori de la alte produse sau ingineri pentru disponibilitatea serviciilor.

Pot să vorbesc mult timp despre modul în care totul este aranjat cu noi, dar cred că deja am transmis esența. Schimbul de serviciu coordonează activitatea tuturor serviciilor și controlează problemele globale. Este important ca administratorul de gardă să aibă un panou de diagnostic în fața ochilor. De aceea, atunci când treceți la lucrul de la distanță, nu puteți pur și simplu să luați și să oferiți tuturor un laptop. Graficele și alertele nu vor încadra pe ecran. Ce să fac?

Idee

La birou, toți cei zece administratori de serviciu lucrează în ture la același tablou de bord, care include 26 de monitoare, două computere, patru plăci video NVIDIA Quadro NVS 810, două surse de alimentare neîntreruptibilă montate în rack și mai multe accesări independente la rețea. Trebuia să ne asigurăm că toată lumea are posibilitatea de a lucra de acasă. Pur și simplu nu este posibil să asamblați un astfel de perete într-un apartament (soția mea va fi deosebit de fericită), așa că am decis să creăm o versiune portabilă care poate fi adusă și asamblată acasă.

Am început să experimentăm configurația. Trebuia să potrivim toate dispozitivele pe mai puține afișaje, așa că principala cerință pentru monitor a fost o densitate mare de pixeli. Dintre monitoarele 4K disponibile în mediul nostru, am ales Lenovo P27u-10 pentru teste.

De pe laptopuri, am luat un MacBook Pro de 16 inchi. Are un subsistem grafic destul de puternic, care este necesar pentru redarea imaginilor pe mai multe ecrane 4K și patru conectori universali de tip C. Vă puteți întreba: de ce nu desktop? Înlocuirea unui laptop cu exact același din depozit este mult mai ușoară și mai rapidă decât asamblarea și configurarea unei unități de sistem identice. Și da, cântărește mai puțin.

Acum era necesar să înțelegem câte monitoare ne putem conecta cu adevărat la un laptop. Iar problema aici nu este numărul de conectori, am putea afla doar testând sistemul ca ansamblu.

Cum am evacuat tura de serviciu Yandex

Testarea

Am plasat confortabil toate diagramele și alertele pe patru monitoare și chiar le-am conectat la un laptop, dar am întâlnit o problemă. Redarea pixelilor 4×4K pe monitoarele conectate a încărcat placa video atât de mult încât laptopul a fost descărcat chiar și în timpul încărcării. Din fericire, problema a fost rezolvată cu ajutorul stației de andocare Lenovo ThinkPad Thunderbolt 3 Dock Gen 2. Am reușit să conectăm un monitor, alimentare și chiar mouse-ul și tastatura preferate la stația de andocare.

Dar imediat a apărut o altă problemă: GPU-ul s-a umflat atât de mult încât laptopul s-a supraîncălzit, ceea ce înseamnă că s-a supraîncălzit și bateria, care ca urmare a intrat în modul de protecție și a încetat să mai ia încărcare. În general, acesta este un mod foarte util care protejează împotriva situațiilor periculoase. În unele cazuri, problema a fost rezolvată cu ajutorul unui dispozitiv de înaltă tehnologie - un pix plasat sub laptop pentru a îmbunătăți ventilația. Dar acest lucru nu a ajutat pe toată lumea, așa că am mărit și viteza ventilatorului standard.

Mai era o caracteristică neplăcută. Toate diagramele și alertele trebuie plasate într-un loc strict definit. Imaginați-vă că pilotați un avion pentru a ateriza - și apoi indicatoarele de viteză, altimetrele, variometrele, orizonturile artificiale, busolele și indicatorii de poziție încep să își schimbe dimensiunea și să sară în diferite locuri. Așa că am decis să facem o aplicație care să ne ajute în acest sens. Într-o seară, am scris-o pe Electron.js, luând un ready-made API pentru crearea și gestionarea ferestrelor. Am adăugat un handler de configurare și actualizarea periodică a acestora, precum și suport pentru un număr limitat de monitoare. Puțin mai târziu, au adăugat suport pentru diferite setări.

Asamblare si livrare

Până luni, vrăjitorii de la biroul de asistență au obținut pentru noi 40 de monitoare, zece laptopuri și tot atâtea stații de andocare. Nu știu cum au făcut-o, dar mulțumesc foarte mult.

Cum am evacuat tura de serviciu Yandex

A rămas să livreze toate acestea în apartamentele administratorilor de gardă. Și acestea sunt zece adrese în diferite părți ale Moscovei: sud, est, centru și, de asemenea, Balashikha, care se află la 45 de kilometri de birou (apropo, mai târziu a fost adăugat și un stagiar de la Serpukhov). Era necesar să se distribuie cumva toate acestea între oameni, să se construiască logistică.

Am introdus toate adresele pe Hărțile noastre, mai există posibilitatea de a optimiza traseul între diferite puncte (am folosit versiunea beta gratuită a instrumentului pentru curieri). Ne-am împărțit echipa în patru echipe independente de câte două persoane, fiecare a primit propriul traseu. Mașina mea s-a dovedit a fi cea mai spațioasă, așa că am luat echipamente pentru patru angajați deodată.

Cum am evacuat tura de serviciu Yandex

Întreaga livrare a durat un record de trei ore. Am plecat de la birou luni la ora XNUMX. La unu dimineața eram deja acasă. În aceeași noapte am plecat de serviciu cu echipament nou.

Cu rezultat faptul că

În loc de o singură consolă mare de diagnosticare, am adunat zece unele relativ portabile în apartamentul fiecărui ofițer de serviciu. Desigur, mai erau câteva lucruri de rezolvat. De exemplu, înainte aveam un telefon „de fier” al ofițerului de serviciu pentru notificări. În noile condiții, acest lucru nu a funcționat, așa că am venit cu „telefoane virtuale” pentru cei de serviciu (de fapt, canale în messenger). Au fost și alte schimbări. Dar principalul lucru este că în timp record am reușit să transferăm nu doar oameni, reducând riscul de infectare a acestora, ci toată munca noastră de acasă, fără a dăuna proceselor și stabilității produsului. Facem asta de o lună acum.

Mai jos veți găsi fotografii cu lucrările reale ale însoțitorilor noștri.

Cum am evacuat tura de serviciu Yandex

Cum am evacuat tura de serviciu Yandex

Cum am evacuat tura de serviciu Yandex

Cum am evacuat tura de serviciu Yandex

Cum am evacuat tura de serviciu Yandex

Sursa: www.habr.com