Hur vi evakuerade Yandex tjänstgöring

Hur vi evakuerade Yandex tjänstgöring

När arbetet ryms i en bärbar dator och kan utföras självständigt från andra människor, är det inga problem att flytta till en avlägsen plats - bara stanna hemma på morgonen. Men alla har inte lika tur.

Jourskiftet är ett team av specialister på servicetillgänglighet (SRE). Det inkluderar tjänsteadministratörer, utvecklare, chefer, samt en gemensam "dashboard" med 26 LCD-paneler på 55 tum vardera. Stabiliteten i företagets tjänster och hastigheten på problemlösningen beror på arbetsskiftets arbete.

Idag Dmitry Melikov tal10n, chefen för jourskiftet, kommer att berätta om hur de på några dagar lyckades transportera utrustning till sitt hem och etablera nya arbetsprocesser. Jag ger honom ordet.

— När du har oändligt med tid kan du bekvämt flytta var som helst med vad som helst. Men den snabba spridningen av coronaviruset har försatt oss i helt andra förhållanden. Yandex-anställda var bland de första som gick över till distansarbete - även innan införandet av självisoleringsregimen. Det hände så här. Torsdagen den 12 mars ombads jag att utvärdera möjligheten att flytta hem teamets arbete. Fredagen den 13:e dök det upp en rekommendation att byta till distansarbete. Natten till tisdagen den 17 mars hade vi allt klart: de vakthavande arbetade hemifrån, utrustningen transporterades, den saknade programvaran skrevs, processerna konfigurerades om. Och nu ska jag berätta hur vi lyckades. Men först måste du komma ihåg de uppgifter som tjänstgöringsskiftet löser.

Vilka är vi

Yandex är ett stort företag med hundratals tjänster. Stabiliteten för sökning, röstassistent och alla andra produkter beror inte bara på utvecklarna. Strömförsörjningen i datacentret kan vara avbruten. En arbetare kan av misstag skada en optisk kabel vid byte av asfalt. Eller så kan det finnas en ökning av användaraktiviteten, vilket orsakar ett akut behov av att omfördela kapacitet. Dessutom lever vi alla i stor, komplex infrastruktur, och lanseringen av en produkt kan av misstag leda till att en annan försämras.

26 paneler i vårt öppna utrymme är ett och ett halvt tusen varningar och mer än hundra diagram och paneler över våra tjänster. I huvudsak är detta en enorm diagnostisk panel. En erfaren tjänstgörande administratör kan snabbt förstå statusen för viktiga komponenter genom att titta på den och kan ange riktningen för att utreda ett tekniskt problem. Detta betyder inte att en person ständigt ska titta på alla enheter: själva automatiseringen kommer att väcka uppmärksamhet genom att skicka ett meddelande till vaktchefens speciella gränssnitt, men utan en visuell panel kan det ta lång tid att lösa problemet.

När problem uppstår utvärderar vakthavaren först deras prioritering. Det isolerar sedan problemet eller minimerar dess påverkan på användarna.

Det finns flera vanliga sätt att isolera problemet. En av dem är försämring av tjänster, när den jourhavande administratören inaktiverar några av de funktioner som användarna minst märker. Detta gör att du tillfälligt kan minska belastningen och ta reda på vad som hände. Om ett problem uppstår med datacentret kontaktar vakthavaren driftteamet, förstår problemet, övervakar tidpunkten för dess lösning och involverar vid behov specialiserade team.

När jourhavande administratör inte kan isolera ett problem som har uppstått på grund av en release, rapporterar han det till serviceteamet – och utvecklarna letar efter fel i den nya koden. Om de inte kan ta reda på det, lockar administratören utvecklare från andra produkter eller tjänstetillgänglighetsingenjörer.

Jag kan prata länge om hur allt fungerar här, men jag tror att jag redan har förmedlat essensen. Jourskiftet samordnar alla tjänsters arbete och bevakar globala problem. Det är viktigt för jourhavande handläggare att ha diagnospanelen framför ögonen. Det är därför, när du byter till distansarbete, kan du inte bara ge alla en bärbar dator. Diagram och varningar får inte plats på skärmen. Vad ska man göra?

Idé

På kontoret arbetar alla tio jourhavande administratörer i skift bakom en instrumentbräda, som inkluderar 26 bildskärmar, två datorer, fyra NVIDIA Quadro NVS 810 grafikkort, två rackmonterade avbrottsfri strömförsörjning och flera oberoende nätverksåtkomster. Vi behövde se till att alla fick möjlighet att arbeta hemma. Det är helt enkelt inte möjligt att montera en sådan vägg i en lägenhet (min fru kommer att vara särskilt glad över detta), så vi bestämde oss för att skapa en bärbar version som kan tas med och monteras hemma.

Vi började experimentera med konfigurationen. Vi behövde passa alla enheter på färre skärmar, så huvudkravet för monitorn var en hög pixeltäthet. Av de 4K-skärmar som finns tillgängliga i vår miljö valde vi Lenovo P27u-10 för testning.

Från bärbara datorer tog vi en 16-tums MacBook Pro. Den har ett ganska kraftfullt grafikundersystem, nödvändigt för att rendera bilder på flera 4K-skärmar, och fyra universella Type-C-kontakter. Du kanske frågar: varför inte skrivbordet? Att ersätta en bärbar dator med exakt samma från ett lager är mycket enklare och snabbare än att montera och konfigurera en identisk systemenhet. Och den väger mindre.

Nu behövde vi förstå hur många bildskärmar vi faktiskt kunde ansluta till den bärbara datorn. Och problemet här är inte antalet kontakter, vi kunde bara ta reda på detta genom att testa det monterade systemet.

Hur vi evakuerade Yandex tjänstgöring

testning

Vi placerade ganska bekvämt alla diagram och varningar på fyra skärmar och kopplade till och med dem till en bärbar dator, men vi stötte på ett problem. Att rendera 4x4K pixlar på anslutna bildskärmar belastade grafikkortet så mycket att den bärbara datorn tömdes även under laddning. Lyckligtvis löstes problemet med hjälp av Lenovo ThinkPad Thunderbolt 3 Dock Gen 2. Jag kunde ansluta en bildskärm, strömförsörjning och till och med min favoritmus och -tangentbord till dockningsstationen.

Men ett annat problem dök upp omedelbart: GPU:n chuggade så mycket att den bärbara datorn överhettades, vilket innebär att batteriet också överhettades, vilket som ett resultat gick in i skyddsläge och slutade ta emot laddning. I allmänhet är detta ett mycket användbart läge som skyddar mot farliga situationer. I vissa fall löstes problemet med hjälp av en högteknologisk enhet - en kulspetspenna placerad under den bärbara datorn för att förbättra ventilationen. Men detta hjälpte inte alla, så vi höjde också hastigheten på standardfläkten.

Det fanns ytterligare ett obehagligt inslag. Alla sjökort och varningar måste finnas på en strikt definierad plats. Föreställ dig att du styr ett plan för att landa – och då börjar hastighetsindikatorer, höjdmätare, variometrar, attitydindikatorer, kompasser och positionsindikatorer ändra storlek och hoppa till olika platser. Så vi bestämde oss för att göra en ansökan som hjälper till med detta. På en kväll skrev vi det i Electron.js och tog ett färdigt API om att skapa och hantera fönster. Vi lade till en konfigurationsprocessor och deras periodiska uppdateringar, samt stöd för ett begränsat antal bildskärmar. Lite senare lade de till stöd för olika inställningar.

Montering och leverans

På måndagen hade guiderna från helpdesk fått 40 bildskärmar, tio bärbara datorer och lika många dockningsstationer till oss. Jag vet inte hur de klarade det, men tack så mycket.

Hur vi evakuerade Yandex tjänstgöring

Det återstod bara att leverera det hela till de tjänstgörande handläggarnas lägenheter. Och det här är tio adresser i olika delar av Moskva: söder, öster, centrum och även Balashikha, som ligger 45 kilometer från kontoret (förresten, en praktikant från Serpukhov tillkom senare). Det var nödvändigt att på något sätt fördela allt detta mellan människor, för att bygga logistik.

Jag skrev in alla adresser på våra kartor, det finns fortfarande en möjlighet att optimera rutten mellan olika punkter (jag använde den kostnadsfria betaversionen av verktyget för kurirer). Vi delade upp vårt team i fyra oberoende team om två personer, var och en med sin egen väg. Min bil visade sig vara den rymligaste, så jag tog utrustning för fyra anställda på en gång.

Hur vi evakuerade Yandex tjänstgöring

Hela leveransen tog rekord tre timmar. Vi lämnade kontoret vid tio på måndagskvällen. Vid etttiden på morgonen var jag redan hemma. Samma kväll gick vi i tjänst med ny utrustning.

Vad är resultatet

Istället för en stor diagnoskonsol monterade vi tio relativt portabla sådana i lägenheten till varje person i tjänst. Naturligtvis fanns det fortfarande en del detaljer att reda ut. Till exempel brukade vi ha en "järn"-telefon för vakthavande befäl för aviseringar. Detta fungerade inte under de nya förhållandena, så vi kom med "virtuella telefoner" för tjänstemän (i huvudsak kanaler i budbäraren). Det var andra förändringar också. Men det viktigaste är att vi på rekordtid lyckades överföra inte bara människor, vilket minskade risken för deras infektion, utan allt vårt arbete till hemmet utan att skada processer och produktstabilitet. Vi har arbetat i det här läget i en månad nu.

Nedan hittar du fotografier av våra tjänstemäns verkliga arbetsplatser.

Hur vi evakuerade Yandex tjänstgöring

Hur vi evakuerade Yandex tjänstgöring

Hur vi evakuerade Yandex tjänstgöring

Hur vi evakuerade Yandex tjänstgöring

Hur vi evakuerade Yandex tjänstgöring

Källa: will.com