Com vam evacuar el torn de servei de Yandex

Com vam evacuar el torn de servei de Yandex

Quan la feina cap a un ordinador portàtil i es pot fer de manera autònoma d'altres persones, aleshores no hi ha cap problema per traslladar-se a una ubicació remota, només quedar-se a casa al matí. Però no tothom té tanta sort.

El torn de guàrdia és un equip d'especialistes en disponibilitat de serveis (SRE). Inclou administradors de servei, desenvolupadors, gestors, així com un "tauler de control" comú de 26 panells LCD de 55 polzades cadascun. L'estabilitat dels serveis de l'empresa i la velocitat de resolució de problemes depenen del treball del torn de servei.

Avui Dmitry Melikov tal10n, el responsable del torn de guàrdia, ens parlarà de com en qüestió de dies van aconseguir transportar material a casa seva i establir nous processos de treball. Li dono la paraula.

— Quan tens una quantitat infinita de temps, pots moure't còmodament a qualsevol lloc amb qualsevol cosa. Però la ràpida propagació del coronavirus ens ha posat en condicions completament diferents. Els empleats de Yandex van ser dels primers a canviar al treball remot, fins i tot abans de la introducció del règim d'autoaïllament. Va passar així. El dijous 12 de març em van demanar que avalués la possibilitat de traslladar la feina de l'equip a casa. El divendres 13, va aparèixer una recomanació per canviar al treball a distància. La nit del dimarts, 17 de març, ho teníem tot a punt: la gent de guàrdia treballava des de casa, es va transportar l'equip, es va escriure el programari que faltava, es van reconfigurar els processos. I ara us explicaré com ho hem aconseguit. Però primer, cal recordar les tasques que resol el torn de treball.

Qui sóm

Yandex és una gran empresa amb centenars de serveis. L'estabilitat de la cerca, l'assistent de veu i tots els altres productes depèn no només dels desenvolupadors. La font d'alimentació al centre de dades pot estar interrompuda. Un treballador pot danyar accidentalment un cable òptic mentre substitueix l'asfalt. O pot haver-hi un augment de l'activitat dels usuaris, provocant una necessitat urgent de reassignar la capacitat. A més, tots vivim en una infraestructura gran i complexa, i el llançament d'un producte pot provocar accidentalment la degradació d'un altre.

26 panells del nostre espai obert són mil i mig d'alertes i més d'un centenar de gràfics i panells dels nostres serveis. Essencialment, aquest és un panell de diagnòstic enorme. Un administrador experimentat de servei pot entendre ràpidament l'estat dels components importants mirant-lo i pot establir la direcció per investigar un problema tecnològic. Això no vol dir que una persona hagi de mirar constantment tots els dispositius: la pròpia automatització cridarà l'atenció enviant una notificació a la interfície especial de l'oficial de servei, però sense un panell visual, la resolució del problema pot trigar molt de temps.

Quan sorgeixen problemes, l'oficial de servei primer avalua la seva prioritat. Aleshores aïlla el problema o minimitza el seu impacte en els usuaris.

Hi ha diverses maneres estàndard d'aïllar el problema. Un d'ells és la degradació dels serveis, quan l'administrador de guàrdia inhabilita algunes de les funcions que els usuaris menys noten. Això us permet reduir temporalment la càrrega i esbrinar què ha passat. Si sorgeix un problema amb el centre de dades, l'oficial de servei es posa en contacte amb l'equip operatiu, entén el problema, supervisa el moment de la seva resolució i, si és necessari, implica equips especialitzats.

Quan l'administrador de torn no pot aïllar un problema que ha sorgit a causa d'un llançament, ho informa a l'equip de servei i els desenvolupadors busquen errors en el nou codi. Si no ho poden esbrinar, l'administrador atrau desenvolupadors d'altres productes o enginyers de disponibilitat de serveis.

Puc parlar durant molt de temps de com funciona tot aquí, però crec que ja n'he transmès l'essència. El torn de treball coordina el treball de tots els serveis i supervisa els problemes globals. És important que l'administrador de torn tingui el panell de diagnòstic davant dels seus ulls. Per això, quan canvieu al treball remot, no podeu donar un ordinador portàtil a tothom. Els gràfics i les alertes no caben a la pantalla. Què fer?

Idea

A l'oficina, els deu administradors de servei treballen per torns darrere d'un tauler, que inclou 26 monitors, dos ordinadors, quatre targetes de vídeo NVIDIA Quadro NVS 810, dues fonts d'alimentació ininterrompuda per muntatge en bastidor i diversos accessos de xarxa independents. Havíem de garantir que tothom tingués l'oportunitat de treballar a casa. Simplement no és possible muntar una paret d'aquest tipus en un apartament (la meva dona estarà especialment contenta amb això), així que vam decidir crear una versió portàtil que es pugui portar i muntar a casa.

Vam començar a experimentar amb la configuració. Havíem d'adaptar tots els dispositius a menys pantalles, de manera que el principal requisit per al monitor era una alta densitat de píxels. Dels monitors 4K disponibles al nostre entorn, vam triar el Lenovo P27u-10 per a la prova.

Des dels ordinadors portàtils vam agafar un MacBook Pro de 16 polzades. Té un subsistema de gràfics força potent, necessari per renderitzar imatges en diverses pantalles 4K i quatre connectors universals de tipus C. Podeu preguntar-vos: per què no l'escriptori? Substituir un ordinador portàtil per exactament el mateix d'un magatzem és molt més fàcil i ràpid que muntar i configurar una unitat del sistema idèntica. I pesa menys.

Ara havíem d'entendre quants monitors podríem connectar realment a l'ordinador portàtil. I el problema aquí no és el nombre de connectors; només ho podríem esbrinar provant el sistema muntat.

Com vam evacuar el torn de servei de Yandex

Proves

Vam col·locar amb força comoditat tots els gràfics i alertes en quatre monitors i fins i tot els vam connectar a un ordinador portàtil, però ens vam trobar amb un problema. La representació de píxels de 4x4K als monitors connectats va posar una pressió a la targeta de vídeo que el portàtil es va buidar fins i tot mentre es carregava. Afortunadament, el problema es va resoldre amb l'ajuda del Lenovo ThinkPad Thunderbolt 3 Dock Gen 2. Vaig poder connectar un monitor, una font d'alimentació i fins i tot el meu ratolí i teclat preferits a l'estació d'acoblament.

Però immediatament va aparèixer un altre problema: la GPU s'estava fent tant que l'ordinador portàtil es va sobreescalfar, la qual cosa significa que la bateria també es va sobreescalfar, que com a resultat va entrar en mode de protecció i va deixar d'acceptar càrrega. En general, aquest és un mode molt útil que protegeix de situacions perilloses. En alguns casos, el problema es va resoldre amb l'ajuda d'un dispositiu d'alta tecnologia: un bolígraf col·locat sota l'ordinador portàtil per millorar la ventilació. Però això no va ajudar a tothom, així que també vam augmentar la velocitat del ventilador estàndard.

Hi havia una característica més desagradable. Tots els gràfics i alertes s'han d'ubicar en un lloc estrictament definit. Imagina que estàs pilotant un avió per aterrar, i després els indicadors de velocitat, altímetres, variòmetres, indicadors d'actitud, brúixoles i indicadors de posició comencen a canviar de mida i saltar a diferents llocs. Així que vam decidir fer una aplicació que us ajudarà amb això. En un vespre el vam escriure a Electron.js, prenent un ready-made API sobre la creació i gestió de finestres. Hem afegit un processador de configuració i la seva actualització periòdica, així com suport per a un nombre limitat de monitors. Una mica més tard van afegir suport per a diverses configuracions.

Muntatge i lliurament

Dilluns, els assistents del servei d'ajuda ens havien aconseguit 40 monitors, deu ordinadors portàtils i el mateix nombre d'estacions d'acoblament. No sé com ho van fer, però moltes gràcies.

Com vam evacuar el torn de servei de Yandex

Només quedava lliurar-ho tot als pisos dels administradors de guàrdia. I aquestes són deu adreces a diferents parts de Moscou: sud, est, centre, i també Balashikha, que es troba a 45 quilòmetres de l'oficina (per cert, més tard es va afegir un intern de Serpukhov). Calia repartir d'alguna manera tot això entre persones, construir logística.

He introduït totes les adreces als nostres mapes, encara hi ha l'oportunitat d'optimitzar la ruta entre diferents punts (he fet servir la versió beta gratuïta de l'eina per a missatgeria). Vam dividir el nostre equip en quatre equips independents de dues persones, cadascun amb el seu propi recorregut. El meu cotxe va resultar ser el més ampli, així que vaig agafar equip per a quatre empleats alhora.

Com vam evacuar el torn de servei de Yandex

L'entrega sencera va trigar un rècord de tres hores. Vam sortir de l'oficina a les deu de dilluns al vespre. A la una de la matinada ja era a casa. Aquella mateixa nit vam entrar de servei amb equip nou.

Amb el resultat que

En lloc d'una gran consola de diagnòstic, vam muntar deu de relativament portàtils a l'apartament de cada persona de servei. Per descomptat, encara quedaven alguns detalls per resoldre. Per exemple, abans teníem un telèfon "de ferro" per a l'oficial de servei per a les notificacions. Això no funcionava en les noves condicions, així que vam crear "telèfons virtuals" per als oficials de servei (essencialment, canals al missatger). També hi va haver altres canvis. Però el més important és que en un temps rècord hem aconseguit traslladar no només persones, reduint el risc de la seva infecció, sinó tota la nostra feina a casa sense danyar els processos i l'estabilitat del producte. Fa un mes que treballem en aquesta modalitat.

A continuació trobareu fotografies dels llocs de treball reals dels nostres oficials de servei.

Com vam evacuar el torn de servei de Yandex

Com vam evacuar el torn de servei de Yandex

Com vam evacuar el torn de servei de Yandex

Com vam evacuar el torn de servei de Yandex

Com vam evacuar el torn de servei de Yandex

Font: www.habr.com