Wie wir die Yandex-Dienstschicht evakuiert haben

Wie wir die Yandex-Dienstschicht evakuiert haben

Wenn die Arbeit in einen Laptop passt und unabhängig von anderen erledigt werden kann, ist es kein Problem, an einen abgelegenen Ort zu wechseln – einfach morgens zu Hause zu bleiben. Aber nicht jeder hat so viel Glück.

Die Bereitschaftsschicht besteht aus einem Team von Serviceverfügbarkeitsspezialisten (Service Availability Specialists, SREs). Es umfasst diensthabende Administratoren, 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 Melikov tal10n, der Leiter der diensthabenden Schicht, wird darüber sprechen, wie es ihnen innerhalb weniger Tage gelungen ist, Geräte nach Hause zu transportieren und neue Arbeitsabläufe zu etablieren. Ich erteile ihm das Wort.

— Wenn Sie unendlich viel Zeit haben, können Sie sich mit allem bequem überall hin bewegen. Doch die rasante Ausbreitung des Coronavirus hat uns in völlig andere Bedingungen gebracht. Yandex-Mitarbeiter gehörten zu den ersten, die auf Fernarbeit umstellten – noch vor der Einführung der Selbstisolationsregelung. 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 verlegen. Am Freitag, den 13., erschien die Empfehlung, auf Fernarbeit umzusteigen. In der Nacht zum Dienstag, dem 17. März, hatten wir alles vorbereitet: Die Diensthabenden arbeiteten von zu Hause aus, die Geräte wurden transportiert, die fehlende Software wurde geschrieben, die Prozesse wurden neu konfiguriert. Und jetzt erzähle ich Ihnen, wie wir das geschafft haben. Aber zuerst müssen Sie sich an die Aufgaben erinnern, die die Dienstschicht löst.

Wer sind wir

Yandex ist ein großes Unternehmen mit Hunderten von Diensten. Die Stabilität der Suche, des Sprachassistenten und aller anderen Produkte hängt nicht nur von den Entwicklern ab. Möglicherweise ist die Stromversorgung im Rechenzentrum gestört. Ein Arbeiter kann beim Ersetzen von Asphalt versehentlich ein optisches Kabel beschädigen. Oder es kommt zu einem Anstieg der Benutzeraktivität, der eine dringende Notwendigkeit zur Neuzuweisung von Kapazitäten erforderlich macht. Darüber hinaus leben wir alle in einer großen, komplexen Infrastruktur, und die Veröffentlichung eines Produkts kann versehentlich zur Verschlechterung eines anderen Produkts führen.

26 Tafeln in unserem offenen Raum sind eineinhalbtausend Warnungen und mehr als hundert Diagramme und Tafeln unserer Dienstleistungen. Im Wesentlichen handelt es sich hierbei um ein riesiges Diagnosepanel. Ein erfahrener Administrator im Dienst kann durch einen Blick schnell den Status wichtiger Komponenten erkennen und die Richtung für die Untersuchung eines technologischen Problems vorgeben. Dies bedeutet nicht, dass eine Person ständig auf alle Geräte schauen sollte: Die Automatisierung selbst erregt Aufmerksamkeit, indem sie eine Benachrichtigung an die spezielle Schnittstelle des diensthabenden Beamten sendet. Ohne ein visuelles Panel kann die Lösung des Problems jedoch lange dauern.

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

Es gibt mehrere Standardmethoden, um das Problem einzugrenzen. Eine davon ist die Verschlechterung der Dienste, wenn der diensthabende Administrator einige der Funktionen deaktiviert, die den Benutzern am wenigsten auffallen. Dadurch können Sie die Belastung vorübergehend reduzieren und herausfinden, was passiert ist. Wenn im Rechenzentrum ein Problem auftritt, kontaktiert der diensthabende Beamte das Betriebsteam, versteht das Problem, überwacht den Zeitpunkt seiner Lösung und bezieht bei Bedarf spezialisierte Teams ein.

Wenn der diensthabende Administrator ein durch ein Release entstandenes Problem nicht eingrenzen kann, meldet er es dem Service-Team – und die Entwickler suchen nach Fehlern im neuen Code. Wenn sie es nicht herausfinden können, zieht der Administrator Entwickler anderer Produkte oder Service-Verfügbarkeitsingenieure hinzu.

Ich kann noch lange darüber sprechen, wie hier alles funktioniert, aber ich denke, das Wesentliche habe ich bereits vermittelt. Die Dienstschicht koordiniert die Arbeit aller Dienste und überwacht globale Probleme. Für den diensthabenden Administrator ist es wichtig, das Diagnosepanel vor Augen zu haben. Deshalb kann man bei der Umstellung auf 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 im Schichtbetrieb hinter einem Dashboard, das 26 Monitore, zwei Computer, vier NVIDIA Quadro NVS 810-Grafikkarten, zwei unterbrechungsfreie Stromversorgungen für den Rackeinbau und mehrere unabhängige Netzwerkzugänge umfasst. Wir mussten sicherstellen, dass jeder die Möglichkeit hatte, von zu Hause aus zu arbeiten. Es ist einfach nicht möglich, eine solche Wand in einer Wohnung aufzubauen (meine Frau wird sich darüber besonders freuen), deshalb haben wir uns entschieden, eine tragbare Version zu entwickeln, die man mit nach Hause nehmen und zusammenbauen kann.

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

Von den Laptops haben wir ein 16-Zoll MacBook Pro genommen. Es verfügt über ein recht leistungsfähiges Grafiksubsystem, das zum Rendern von Bildern auf mehreren 4K-Displays erforderlich ist, sowie über vier universelle Typ-C-Anschlüsse. Sie fragen sich vielleicht: Warum nicht Desktop? Der Austausch eines Laptops durch einen exakt gleichen aus dem Lager ist viel einfacher und schneller als der Zusammenbau und die Konfiguration einer identischen Systemeinheit. Und es wiegt weniger.

Jetzt mussten wir herausfinden, wie viele Monitore wir tatsächlich an den Laptop anschließen konnten. Dabei ist nicht die Anzahl der Anschlüsse das Problem, das konnten wir erst durch Tests des zusammengebauten Systems herausfinden.

Wie wir die Yandex-Dienstschicht evakuiert haben

Testing

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. Das Rendern von 4x4K-Pixeln auf angeschlossenen Monitoren belastete die Grafikkarte so stark, dass der Laptop sogar während des Ladevorgangs entladen wurde. Glücklicherweise wurde das Problem mit Hilfe des Lenovo ThinkPad Thunderbolt 3 Dock Gen 2 gelöst. Ich konnte einen Monitor, ein Netzteil und sogar meine Lieblingsmaus und -tastatur an die Dockingstation anschließen.

Aber sofort tauchte ein anderes Problem auf: Die GPU tuckerte so stark, dass der Laptop überhitzte, was bedeutete, dass auch der Akku überhitzte, der daraufhin in den Schutzmodus wechselte und keine Ladung mehr aufnahm. 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 unter dem Laptop platziert wurde, um die Belüftung zu verbessern. Da dies jedoch nicht jedem half, haben wir auch die Geschwindigkeit des Standardlüfters erhöht.

Es gab noch eine weitere unangenehme Eigenschaft. Alle Diagramme und Warnungen müssen sich an einem genau definierten Ort befinden. Stellen Sie sich vor, Sie steuern ein Flugzeug zur Landung – und dann beginnen Geschwindigkeitsanzeiger, Höhenmesser, Variometer, Lageanzeiger, Kompasse und Positionsanzeiger, ihre Größe zu ändern und an andere Stellen zu springen. Deshalb haben wir beschlossen, eine Anwendung zu erstellen, die dabei helfen wird. An einem Abend haben wir es in Electron.js geschrieben und ein fertiges Ergebnis erstellt API zum Erstellen und Verwalten von Fenstern. Wir haben einen Konfigurationsprozessor und dessen regelmäßige Aktualisierung sowie Unterstützung für eine begrenzte Anzahl von Monitoren hinzugefügt. Wenig später fügten sie Unterstützung für verschiedene Setups hinzu.

Montage und Lieferung

Bis Montag hatten die Assistenten vom Helpdesk 40 Monitore, zehn Laptops und ebenso viele Dockingstationen für uns besorgt. Ich weiß nicht, wie sie das geschafft haben, aber vielen Dank.

Wie wir die Yandex-Dienstschicht evakuiert haben

Es blieb nur noch, alles in die Wohnungen der diensthabenden Verwalter zu liefern. Und das sind zehn Adressen in verschiedenen Teilen Moskaus: Süden, Osten, Zentrum und auch Balaschicha, das 45 Kilometer vom Büro entfernt liegt (übrigens kam später ein Praktikant aus Serpuchow hinzu). Es war notwendig, das alles irgendwie zwischen den Menschen zu verteilen, um eine Logistik aufzubauen.

Ich habe alle Adressen auf unseren Karten eingegeben, 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, jedes mit seiner eigenen Route. Mein Auto erwies sich als das geräumigste, sodass ich die Ausrüstung für vier Mitarbeiter gleichzeitig mitnahm.

Wie wir die Yandex-Dienstschicht evakuiert haben

Die gesamte Lieferung dauerte eine Rekordzeit von drei Stunden. Wir verließen das Büro am Montagabend um zehn. Um ein Uhr morgens war ich bereits zu Hause. Noch in derselben Nacht gingen wir mit neuer Ausrüstung zum Dienst.

Mit dem Ergebnis, dass

Anstelle einer großen Diagnosekonsole haben wir in der Wohnung jedes Diensthabenden zehn relativ tragbare Konsolen aufgebaut. Natürlich gab es noch einige Details zu klären. Zum Beispiel hatten wir früher ein „eisernes“ Telefon für den diensthabenden Beamten für Benachrichtigungen. Dies funktionierte unter den neuen Bedingungen nicht, also entwickelten wir „virtuelle Telefone“ für die diensthabenden Beamten (im Wesentlichen Kanäle im Messenger). Es gab auch andere Änderungen. Aber das Wichtigste ist, dass es uns in Rekordzeit gelungen ist, nicht nur Menschen und damit das Infektionsrisiko zu verringern, sondern auch unsere gesamte Arbeit nach Hause zu verlegen, ohne die Prozesse und die Produktstabilität zu beeinträchtigen. Wir arbeiten jetzt seit einem Monat in diesem Modus.

Nachfolgend finden Sie Fotos der realen Arbeitsplätze unserer diensthabenden Beamten.

Wie wir die Yandex-Dienstschicht evakuiert haben

Wie wir die Yandex-Dienstschicht evakuiert haben

Wie wir die Yandex-Dienstschicht evakuiert haben

Wie wir die Yandex-Dienstschicht evakuiert haben

Wie wir die Yandex-Dienstschicht evakuiert haben

Source: habr.com