Jak ewakuowaliśmy zmianę dyżurną Yandex

Jak ewakuowaliśmy zmianę dyżurną Yandex

Gdy praca mieści się w jednym laptopie i można ją wykonywać niezależnie od innych osób, wówczas nie ma problemu z przeprowadzką w odległe miejsce – wystarczy zostać rano w domu. Ale nie każdy ma tyle szczęścia.

Dyżurna zmiana to zespół specjalistów ds. dostępności usług (SRE). Zawiera dyżurnych administratorów, programistów, menedżerów, a także wspólny „pulpit nawigacyjny” składający się z 26 paneli LCD o przekątnej 55 cali każdy. Od pracy zmiany dyżurnej zależy stabilność usług firmy i szybkość rozwiązywania problemów.

Dziś Dmitrij Melikow tal10n, kierownik zmiany dyżurnej, opowie o tym, jak w ciągu kilku dni udało im się przewieźć sprzęt do domu i ustalić nowe procesy pracy. Daję mu podłogę.

— Kiedy masz nieskończoną ilość czasu, możesz wygodnie przemieszczać się w dowolne miejsce, ze wszystkim. Jednak szybkie rozprzestrzenianie się wirusa koronowego postawiło nas w zupełnie innych warunkach. Pracownicy Yandex jako jedni z pierwszych przeszli na pracę zdalną – jeszcze przed wprowadzeniem reżimu samoizolacji. Stało się to w ten sposób. W czwartek 12 marca poproszono mnie o ocenę możliwości przeniesienia pracy zespołu do domu. W piątek 13-go pojawiła się rekomendacja przejścia na pracę zdalną. W nocy na wtorek 17 marca wszystko było już gotowe: dyżurujący pracowali z domu, przewieziono sprzęt, napisano brakujące oprogramowanie, przekonfigurowano procesy. A teraz opowiem Wam, jak nam się to udało. Ale najpierw musisz pamiętać o zadaniach, które rozwiązuje zmiana obowiązków.

Kim jesteśmy

Yandex to duża firma oferująca setki usług. Stabilność wyszukiwania, asystenta głosowego i wszystkich innych produktów zależy nie tylko od programistów. Zasilanie w centrum danych może zostać zakłócone. Podczas wymiany asfaltu pracownik może przypadkowo uszkodzić kabel optyczny. Może też nastąpić gwałtowny wzrost aktywności użytkowników, powodujący pilną potrzebę realokacji mocy obliczeniowej. Co więcej, wszyscy żyjemy w dużej, złożonej infrastrukturze, a wypuszczenie jednego produktu może przypadkowo doprowadzić do degradacji innego.

26 paneli w naszej otwartej przestrzeni to półtora tysiąca alertów i ponad sto wykresów i paneli naszych usług. Zasadniczo jest to ogromny panel diagnostyczny. Doświadczony administrator na dyżurze może szybko zorientować się w stanie ważnych podzespołów, przyglądając się mu i wyznaczyć kierunek badania problemu technologicznego. Nie oznacza to, że człowiek powinien stale patrzeć na wszystkie urządzenia: sama automatyka zwróci na siebie uwagę, wysyłając powiadomienie do specjalnego interfejsu dyżurnego, ale bez panelu wizualnego rozwiązanie problemu może zająć dużo czasu.

Kiedy pojawiają się problemy, oficer dyżurny najpierw ocenia ich priorytet. Następnie izoluje problem lub minimalizuje jego wpływ na użytkowników.

Istnieje kilka standardowych sposobów izolowania problemu. Jednym z nich jest degradacja usług, kiedy dyżurujący administrator wyłącza niektóre funkcje, na które użytkownicy najmniej zwracają uwagę. Pozwala to tymczasowo zmniejszyć obciążenie i dowiedzieć się, co się stało. Jeśli w centrum danych pojawi się problem, dyżurny kontaktuje się z zespołem operacyjnym, rozumie problem, monitoruje termin jego rozwiązania i w razie potrzeby angażuje wyspecjalizowane zespoły.

Kiedy dyżurujący administrator nie jest w stanie wyodrębnić problemu, który powstał w związku z wydaniem, zgłasza to zespołowi serwisowemu, a programiści szukają błędów w nowym kodzie. Jeśli nie mogą tego rozgryźć, administrator przyciąga programistów z innych produktów lub inżynierów dostępności usług.

Mógłbym długo opowiadać o tym, jak tu wszystko działa, ale myślę, że sedno już przekazałem. Zmiana dyżurna koordynuje pracę wszystkich służb i monitoruje problemy globalne. Dla dyżurującego ważne jest, aby panel diagnostyczny miał przed oczami. Dlatego przechodząc na pracę zdalną nie można po prostu dać każdemu laptopa. Wykresy i alerty nie mieszczą się na ekranie. Co robić?

Pomysł

W biurze wszystkich dziesięciu administratorów dyżurujących pracuje na zmiany za jednym pulpitem nawigacyjnym, na którym znajduje się 26 monitorów, dwa komputery, cztery karty graficzne NVIDIA Quadro NVS 810, dwa zasilacze awaryjne do montażu w stojaku i kilka niezależnych dostępu do sieci. Musieliśmy zadbać o to, aby każdy miał możliwość pracy w domu. Po prostu nie da się zamontować takiej ściany w mieszkaniu (moja żona będzie z tego szczególnie zadowolona), dlatego postanowiliśmy stworzyć wersję przenośną, którą można przynieść i zamontować w domu.

Zaczęliśmy eksperymentować z konfiguracją. Musieliśmy zmieścić wszystkie urządzenia na mniejszej liczbie wyświetlaczy, więc głównym wymaganiem dla monitora była duża gęstość pikseli. Z dostępnych w naszym środowisku monitorów 4K do testów wybraliśmy Lenovo P27u-10.

Z laptopów wzięliśmy 16-calowego MacBooka Pro. Ma dość wydajny podsystem graficzny, niezbędny do renderowania obrazów na kilku wyświetlaczach 4K i cztery uniwersalne złącza Type-C. Możesz zapytać: dlaczego nie komputer stacjonarny? Wymiana laptopa na dokładnie taki sam, z magazynu, jest znacznie łatwiejsza i szybsza niż złożenie i skonfigurowanie identycznej jednostki systemowej. I waży mniej.

Teraz musieliśmy zrozumieć, ile monitorów faktycznie możemy podłączyć do laptopa. I tu nie chodzi o ilość złączy, o tym mogliśmy się dowiedzieć jedynie testując zmontowany układ.

Jak ewakuowaliśmy zmianę dyżurną Yandex

Testowanie

Całkiem wygodnie umieściliśmy wszystkie wykresy i alerty na czterech monitorach, a nawet podłączyliśmy je do laptopa, ale napotkaliśmy problem. Renderowanie 4x4K pikseli na podłączonych monitorach tak obciąża kartę graficzną, że laptop rozładowywał się nawet podczas ładowania. Na szczęście problem został rozwiązany przy pomocy stacji dokującej Lenovo ThinkPad Thunderbolt 3 Dock Gen 2. Udało mi się podłączyć do stacji dokującej monitor, zasilacz, a nawet ulubioną mysz i klawiaturę.

Ale od razu pojawił się inny problem: procesor graficzny dławił się tak bardzo, że laptop się przegrzał, co oznacza, że ​​przegrzał się także akumulator, który w rezultacie przeszedł w tryb ochronny i przestał przyjmować ładowanie. Generalnie jest to bardzo przydatny tryb chroniący przed niebezpiecznymi sytuacjami. W niektórych przypadkach problem rozwiązano za pomocą zaawansowanego technologicznie urządzenia - długopisu umieszczonego pod laptopem w celu poprawy wentylacji. Ale to nie pomogło wszystkim, więc zwiększyliśmy także prędkość standardowego wentylatora.

Była jeszcze jedna nieprzyjemna cecha. Wszystkie wykresy i alerty muszą być umieszczone w ściśle określonym miejscu. Wyobraź sobie, że pilotujesz samolot do lądowania - a wtedy wskaźniki prędkości, wysokościomierze, wariometry, wskaźniki położenia, kompasy i wskaźniki pozycji zaczynają zmieniać rozmiar i skakać w różne miejsca. Postanowiliśmy więc stworzyć aplikację, która w tym pomoże. W jeden wieczór napisaliśmy to w Electron.js, biorąc gotowy API na temat tworzenia i zarządzania oknami. Dodaliśmy procesor konfiguracyjny i ich okresową aktualizację, a także obsługę ograniczonej liczby monitorów. Nieco później dodali obsługę różnych konfiguracji.

Montaż i dostawa

Do poniedziałku czarodzieje z help desku pozyskali dla nas 40 monitorów, XNUMX laptopów i tyle samo stacji dokujących. Nie wiem, jak im się to udało, ale bardzo im dziękuję.

Jak ewakuowaliśmy zmianę dyżurną Yandex

Pozostało tylko dostarczyć to wszystko do mieszkań dyżurujących administratorów. A to dziesięć adresów w różnych częściach Moskwy: na południu, na wschodzie, w centrum, a także Balashikha, która jest 45 kilometrów od biura (nawiasem mówiąc, później dodano stażystę z Serpuchowa). Trzeba było to wszystko jakoś rozdzielić między ludzi, zbudować logistykę.

Wpisałem wszystkie adresy na naszych Mapach, nadal istnieje możliwość optymalizacji trasy pomiędzy różnymi punktami (użyłem darmowej wersji beta narzędzia dla kurierów). Naszą drużynę podzieliliśmy na cztery niezależne, dwuosobowe zespoły, każdy z własną trasą. Mój samochód okazał się najbardziej przestronny, więc zabrałem sprzęt dla czterech pracowników na raz.

Jak ewakuowaliśmy zmianę dyżurną Yandex

Cała dostawa trwała rekordowe trzy godziny. Wyszliśmy z biura o dziesiątej w poniedziałek wieczorem. O pierwszej w nocy byłem już w domu. Jeszcze tej samej nocy wyruszyliśmy na służbę z nowym sprzętem.

Z tym, że

Zamiast jednej dużej konsoli diagnostycznej, w mieszkaniu każdej dyżurującej osoby zamontowaliśmy dziesięć w miarę przenośnych. Oczywiście pozostało jeszcze do ustalenia kilka szczegółów. Przykładowo, mieliśmy jeden „żelazny” telefon dla dyżurnego do powiadomień. W nowych warunkach to nie sprawdziło się, więc wymyśliliśmy „telefony wirtualne” dla oficerów dyżurnych (w zasadzie kanały w komunikatorze). Były też inne zmiany. Ale najważniejsze, że w rekordowym czasie udało nam się przenieść do domu nie tylko ludzi, zmniejszając ryzyko ich infekcji, ale całą naszą pracę, bez szkody dla procesów i stabilności produktu. Pracujemy w tym trybie już od miesiąca.

Poniżej znajdą Państwo zdjęcia rzeczywistych miejsc pracy naszych oficerów dyżurnych.

Jak ewakuowaliśmy zmianę dyżurną Yandex

Jak ewakuowaliśmy zmianę dyżurną Yandex

Jak ewakuowaliśmy zmianę dyżurną Yandex

Jak ewakuowaliśmy zmianę dyżurną Yandex

Jak ewakuowaliśmy zmianę dyżurną Yandex

Źródło: www.habr.com