Wie wir die Dienstverschiebung von Yandex evakuiert haben



Wenn die Arbeit in einen Laptop passt und autonom von anderen Personen ausgeführt werden kann, ist es kein Problem, an einen entfernten Ort zu wechseln - bleiben Sie einfach morgens zu Hause. Aber nicht jeder hatte so viel Glück.

Duty Shift ist ein Team von Service Availability Specialists (SRE). Es umfasst Dienstadministratoren, Entwickler, Manager sowie ein gemeinsames „Dashboard“ mit 26 LCD-Panels zu je 55 Zoll. Die Stabilität der Dienstleistungen des Unternehmens und die Geschwindigkeit der Problemlösung hängen von der Arbeit der Dienstschicht ab.

Heute Dmitry Melikovtal10nDer Schichtleiter wird darüber sprechen, wie es ihnen gelungen ist, innerhalb weniger Tage Ausrüstung zu ihren Häusern zu transportieren und neue Arbeitsprozesse einzurichten. Ich gebe ihm das Wort.



- Wenn Sie unendlich viel Zeit haben, können Sie sich überall bequem bewegen. Die rasche Ausbreitung des Coronavirus brachte uns jedoch in völlig andere Verhältnisse. Yandex-Mitarbeiter gehörten zu den ersten, die auf Fernarbeit umstellten - noch vor Einführung des Selbstisolationsregimes. Es ist so passiert. Am Donnerstag, dem 12. März, wurde ich gebeten, die Möglichkeit zu prüfen, die Arbeit des Teams nach Hause zu verlagern. Am Freitag, den 13. gab es eine Empfehlung, auf Fernarbeit umzusteigen. In der Nacht vom Dienstag, dem 17. März, war alles für uns bereit: Die Mitarbeiter arbeiteten zu Hause, die Ausrüstung wurde transportiert, die fehlende Software wurde geschrieben, die Prozesse wurden neu konfiguriert. Und jetzt erzähle ich Ihnen, wie wir es gemacht haben. Aber zuerst müssen Sie sich an die Aufgaben erinnern, die durch die Schicht im Dienst gelöst werden.

Wer wir sind


Yandex ist ein großes Unternehmen mit Hunderten von Dienstleistungen. Die Stabilität der Suche, des Sprachassistenten und aller anderen Produkte hängt nicht nur von den Entwicklern ab. Das Rechenzentrum kann die Stromversorgung unterbrechen. Ein Arbeiter kann beim Ersetzen von Asphalt versehentlich ein optisches Kabel beschädigen. Oder es kann zu einem Anstieg der Benutzeraktivität kommen, der eine dringende Neuverteilung der Leistung erfordert. Darüber hinaus leben wir alle in einer großen, komplexen Infrastruktur, und die Freigabe eines der Produkte kann versehentlich zur Verschlechterung des anderen führen.

26 Panels in unserem offenen Raum sind eineinhalb Tausend Warnungen und mehr als hundert Diagramme und Panels unserer Dienstleistungen. In der Tat ist dies ein riesiges Diagnose-Panel. Ein erfahrener Dienstverwalter, der sie ansieht, versteht schnell den Status wichtiger Knoten und kann eine Richtung für die Untersuchung eines technologischen Problems festlegen. Dies bedeutet nicht, dass eine Person ständig auf alle Geräte schauen sollte: Die Automatisierung selbst wird Aufmerksamkeit erregen, indem eine Benachrichtigung an die spezielle Schnittstelle der diensthabenden Person gesendet wird. Ohne ein visuelles Bedienfeld kann sich die Lösung des Problems jedoch verzögern.

Wenn Probleme auftreten, bewertet der Begleiter zunächst deren Priorität. Anschließend isoliert er das Problem oder minimiert die Auswirkungen auf die Benutzer.

Es gibt verschiedene Standardmethoden, um ein Problem zu isolieren. Eine davon ist die Verschlechterung der Dienste, wenn der diensthabende Administrator einige der Funktionen deaktiviert, die Benutzer am wenigsten bemerken. Auf diese Weise können Sie die Last vorübergehend reduzieren und herausfinden, was passiert ist. Wenn es ein Problem mit dem Rechenzentrum gibt, kontaktiert die Telefonzentrale das Betriebsteam, versteht das Problem, überwacht den Zeitpunkt der Lösung und verbindet bei Bedarf spezialisierte Teams.

Wenn der diensthabende Administrator das aufgrund der Freigabe aufgetretene Problem nicht eingrenzen kann, meldet er es dem Serviceteam - und die Entwickler suchen nach Fehlern im neuen Code. Wenn sie es nicht herausfinden können, zieht der Administrator Entwickler von anderen Produkten oder Ingenieuren für die Verfügbarkeit von Diensten an.

Ich kann lange darüber sprechen, wie alles mit uns arrangiert ist, aber ich denke, dass ich die Essenz bereits vermittelt habe. Die Dienstschicht koordiniert die Arbeit aller Dienste und kontrolliert globale Probleme. Für den diensthabenden Administrator ist es wichtig, ein Diagnosefeld vor den Augen zu haben. Deshalb können Sie beim Wechsel zur Remote-Arbeit nicht einfach jedem einen Laptop geben. Diagramme und Warnungen passen nicht auf den Bildschirm. Was zu tun ist?

Idee


Im Büro arbeiten alle zehn diensthabenden Administratoren in Schichten hinter einem Dashboard, das 26 Monitore, zwei Computer, vier NVIDIA Quadro NVS 810-Grafikkarten, zwei unterbrechungsfreie Netzteile und mehrere unabhängige Netzwerkzugriffe umfasst. Aber wir mussten allen die Möglichkeit geben, zu Hause zu arbeiten. Es wird einfach nicht funktionieren, eine solche Wand in der Wohnung zu montieren (meine Frau wird sich besonders darüber freuen), deshalb haben wir beschlossen, eine tragbare Version zu erstellen, die zu Hause mitgebracht und montiert werden kann.

Wir haben angefangen, mit der Konfiguration zu experimentieren. Wir mussten alle Geräte auf weniger Displays montieren, daher war die Hauptanforderung für den Monitor eine hohe Pixeldichte. Von den in unserer Umgebung verfügbaren 4K-Monitoren wurde Lenovo P27u-10 zum Testen ausgewählt.

Von Laptops nahmen sie ein 16-Zoll-MacBook Pro. Es verfügt über ein ziemlich leistungsfähiges Grafiksubsystem, das zum Rendern von Bildern auf mehreren 4K-Displays erforderlich ist, und vier universelle Typ-C-Anschlüsse. Sie fragen sich vielleicht: Warum nicht ein Desktop? Das Ersetzen eines Laptops durch genau dasselbe aus einem Lager ist viel einfacher und schneller als das Zusammenbauen und Konfigurieren einer identischen Systemeinheit. Ja, und es wiegt weniger.

Jetzt musste man verstehen, wie viele Monitore wir tatsächlich an den Laptop anschließen konnten. Und das Problem hierbei ist nicht die Anzahl der Anschlüsse, die wir nur durch Testen des gesamten Systems herausfinden konnten.



Testen


Wir haben alle Diagramme und Warnungen ganz bequem auf vier Monitoren platziert und sie sogar an einen Laptop angeschlossen, aber wir sind auf ein Problem gestoßen. Beim Rendern von 4 × 4K-Pixeln auf den angeschlossenen Monitoren wurde die Grafikkarte so geladen, dass der Laptop auch während des Ladevorgangs entladen wurde. Glücklicherweise wurde das Problem mithilfe der Dockingstation Lenovo ThinkPad Thunderbolt 3 Dock Gen 2 gelöst. Es gelang uns, einen Monitor, eine Stromversorgung und sogar eine Lieblingsmaus mit Tastatur an die Dockingstation anzuschließen.

Aber sofort tauchte ein anderes Problem auf: Die GPU paffte so stark, dass der Laptop überhitzte, was bedeutete, dass auch der Akku überhitzte, was dazu führte, dass der Schutzmodus aktiviert wurde und die Ladung nicht mehr übernommen wurde. Im Allgemeinen ist dies ein sehr nützlicher Modus, der vor gefährlichen Situationen schützt. In einigen Fällen wurde das Problem mithilfe eines High-Tech-Geräts gelöst - eines Kugelschreibers, der zur Verbesserung der Belüftung unter einem Laptop platziert wurde. Aber das hat nicht allen geholfen, also haben wir auch die Geschwindigkeit eines normalen Fans gedreht.

Es gab noch ein anderes unangenehmes Merkmal. Alle Diagramme und Warnungen sollten sich an einem genau definierten Ort befinden. Stellen Sie sich vor, Sie steuern ein Flugzeug zur Landung - und hier beginnen die Geschwindigkeitsanzeigen, Höhenmesser, Variometer, Horizontanzeigen, Kompasse und Positionsanzeigen, die Größe zu ändern und zu verschiedenen Orten zu springen. Deshalb haben wir uns entschlossen, eine Anwendung zu erstellen, die dabei hilft. An einem Abend haben wir es auf Electron.js geschrieben und dabei eine vorgefertigte API zum Erstellen und Verwalten von Fenstern verwendet. Wir haben einen Konfigurationshandler und deren regelmäßige Aktualisierung sowie Unterstützung für eine begrenzte Anzahl von Monitoren hinzugefügt. Wenig später haben wir Unterstützung für verschiedene Setups hinzugefügt.

Montage und Lieferung


Bis Montag hatten Helpdesk-Assistenten 40 Monitore, zehn Laptops und ebenso viele Dockingstationen für uns. Ich weiß nicht, wie sie es gemacht haben, aber vielen Dank.



Es blieb alles zu den Wohnungen der Dienstverwalter zu tragen. Und das sind zehn Adressen in verschiedenen Teilen Moskaus: Süd, Ost, Mitte und auch Balashikha, zu denen es 45 Kilometer vom Büro entfernt ist (übrigens wurde später auch ein Praktikant aus Serpukhov hinzugefügt). Es war notwendig, all dies irgendwie unter den Menschen zu verteilen, um die Logistik aufzubauen.

Ich habe alle Adressen auf unseren Karten gefahren, es besteht immer noch die Möglichkeit, die Route zwischen verschiedenen Punkten zu optimieren (ich habe die kostenlose Beta-Version des Tools für Kuriere verwendet). Wir haben unser Team in vier unabhängige Teams zu je zwei Personen aufgeteilt, von denen jede ihre eigene Route hat. Mein Auto war das geräumigste, also nahm ich die Ausrüstung für vier Angestellte gleichzeitig.



Die gesamte Lieferung dauerte drei Stunden. Wir verließen das Büro am Montag um zehn Uhr abends. Um ein Uhr morgens war ich schon zu Hause. In derselben Nacht machten wir Dienst mit neuer Ausrüstung.

Was ist das Ergebnis


Anstelle einer großen Diagnosekonsole haben wir zehn relativ tragbare in der Wohnung jeder diensthabenden Person gesammelt. Natürlich blieb es, einige kleine Dinge zu erledigen. Zum Beispiel hatten wir früher ein "eisernes" Telefon der diensthabenden Person für Benachrichtigungen. Unter den neuen Bedingungen funktionierte dies nicht, daher haben wir „virtuelle Telefone“ für die Diensthabenden entwickelt (tatsächlich Kanäle im Messenger). Es gab andere Änderungen. Hauptsache, wir haben es in Rekordzeit geschafft, nicht nur Menschen zu transferieren, wodurch das Infektionsrisiko verringert wurde, sondern all unsere Arbeit zu Hause, ohne die Prozesse und die Stabilität der Produkte zu beeinträchtigen. In diesem Modus arbeiten wir seit einem Monat.

Nachfolgend finden Sie Fotos der realen Jobs unserer Begleiter.










All Articles