Comment nous avons évacué l'équipe de service Yandex

Comment nous avons évacué l'équipe de service Yandex

Lorsque le travail tient sur un ordinateur portable et peut être effectué de manière autonome par rapport à d'autres personnes, il n'y a aucun problème à se déplacer vers un endroit éloigné - il suffit de rester à la maison le matin. Mais tout le monde n’a pas cette chance.

L'équipe de service est une équipe de spécialistes de la disponibilité des services (SRE). Il comprend des administrateurs de service, des développeurs, des gestionnaires, ainsi qu'un « tableau de bord » commun de 26 panneaux LCD de 55 pouces chacun. La stabilité des services de l'entreprise et la rapidité de résolution des problèmes dépendent du travail de l'équipe de service.

Aujourd'hui Dmitri Melikov tal10n, le chef d'équipe de service, racontera comment, en quelques jours, ils ont réussi à transporter l'équipement jusqu'à leur domicile et à établir de nouveaux processus de travail. Je lui donne la parole.

- Lorsque vous disposez d'un temps infini, vous pouvez vous déplacer confortablement avec n'importe quoi n'importe où. Mais la propagation rapide du coronavirus nous a mis dans des conditions complètement différentes. Les employés de Yandex ont été parmi les premiers à passer au travail à distance, avant même l'introduction du régime d'auto-isolement. C'est arrivé comme ça. Le jeudi 12 mars, on m'a demandé d'évaluer la possibilité de déplacer le travail de l'équipe à domicile. Le vendredi 13, il a été recommandé de passer au travail à distance. Dans la nuit du mardi 17 mars, tout était prêt pour nous : les préposés travaillaient à domicile, le matériel était déplacé, les logiciels manquants étaient écrits, les processus étaient reconfigurés. Et maintenant, je vais vous dire comment nous avons fait. Mais vous devez d’abord vous rappeler les tâches que le service résout.

Qui sommes nous

Yandex est une grande entreprise proposant des centaines de services. La stabilité de la recherche, de l'assistant vocal et de tous les autres produits ne dépend pas uniquement des développeurs. L'alimentation électrique peut être interrompue dans le centre de données. Un travailleur lors du remplacement de l'asphalte peut accidentellement endommager le câble optique. Il peut également y avoir une augmentation de l'activité des utilisateurs, ce qui nécessitera une réallocation urgente de la capacité. De plus, nous vivons tous dans une infrastructure vaste et complexe, et la libération d’un produit peut accidentellement entraîner la dégradation d’un autre.

26 panneaux dans notre open space représentent un millier et demi d'alertes et plus d'une centaine de graphiques et panneaux de nos services. En fait, il s’agit d’un énorme panneau de diagnostic. Un administrateur de service expérimenté, en l'examinant, comprend rapidement l'état des nœuds importants et peut définir l'orientation pour enquêter sur un problème technologique. Cela ne signifie pas qu'une personne doit constamment regarder tous les appareils : l'automatisation elle-même attirera l'attention en envoyant une notification à l'interface spéciale de l'agent de service, mais sans panneau visuel, la solution au problème peut être retardée.

Lorsque des problèmes surviennent, le préposé évalue d'abord sa priorité. Il isole ensuite le problème ou minimise son impact sur les utilisateurs.

Il existe plusieurs méthodes standard pour isoler un problème. L’un d’eux est la dégradation des services, lorsque l’administrateur en service désactive certaines des fonctions que les utilisateurs remarquent le moins. Cela vous permet de réduire temporairement la charge et de comprendre ce qui s'est passé. S'il y a un problème avec le centre de données, le responsable de service contacte l'équipe d'exploitation, comprend le problème, contrôle le calendrier de sa solution et, si nécessaire, connecte les équipes concernées.

Lorsque l'administrateur de service ne peut pas isoler le problème dû à la publication, il le signale à l'équipe de service - et les développeurs recherchent des erreurs dans le nouveau code. S'ils ne parviennent pas à le comprendre, l'administrateur attire des développeurs d'autres produits ou des ingénieurs pour la disponibilité des services.

Je peux parler longtemps de la façon dont tout est arrangé chez nous, mais je pense que j'ai déjà transmis l'essentiel. L'équipe de service coordonne le travail de tous les services et contrôle les problèmes mondiaux. Il est important que l'administrateur de service ait un panneau de diagnostic sous les yeux. C’est pourquoi, lorsque vous passez au travail à distance, vous ne pouvez pas simplement prendre et donner un ordinateur portable à tout le monde. Les graphiques et les alertes ne tiendront pas à l’écran. Ce qu'il faut faire?

Idée

Au bureau, les dix administrateurs en service travaillent par équipes sur le même tableau de bord, qui comprend 26 moniteurs, deux ordinateurs, quatre cartes vidéo NVIDIA Quadro NVS 810, deux alimentations sans interruption montées en rack et plusieurs accès réseau indépendants. Nous devions garantir que chacun ait la possibilité de travailler à domicile. Il n'est tout simplement pas possible d'assembler un tel mur dans un appartement (ma femme en sera particulièrement heureuse), nous avons donc décidé de créer une version portable qui peut être apportée et assemblée à la maison.

Nous avons commencé à expérimenter la configuration. Nous devions installer tous les appareils sur moins d'écrans, la principale exigence pour le moniteur était donc une densité de pixels élevée. Parmi les moniteurs 4K disponibles dans notre environnement, nous avons choisi le Lenovo P27u-10 pour les tests.

Parmi les ordinateurs portables, nous avons pris un MacBook Pro 16 pouces. Il dispose d'un sous-système graphique assez puissant, nécessaire au rendu des images sur plusieurs écrans 4K, et de quatre connecteurs universels Type-C. Vous vous demandez peut-être : pourquoi pas un ordinateur de bureau ? Remplacer un ordinateur portable par exactement le même depuis l'entrepôt est beaucoup plus facile et plus rapide que d'assembler et de configurer une unité centrale identique. Et oui, ça pèse moins.

Il fallait maintenant comprendre combien de moniteurs nous pouvons réellement connecter à un ordinateur portable. Et le problème ici n'est pas le nombre de connecteurs, nous n'avons pu le découvrir qu'en testant le système dans son ensemble.

Comment nous avons évacué l'équipe de service Yandex

Test

Nous avons confortablement placé tous les graphiques et alertes sur quatre moniteurs et les avons même connectés à un ordinateur portable, mais nous avons rencontré un problème. Le rendu de 4 × 4K pixels sur les moniteurs connectés a tellement chargé la carte vidéo que l'ordinateur portable s'est déchargé même pendant le chargement. Heureusement, le problème a été résolu grâce à la station d'accueil Lenovo ThinkPad Thunderbolt 3 Dock Gen 2. Nous avons réussi à connecter un moniteur, une alimentation et même votre souris et votre clavier préférés à la station d'accueil.

Mais un autre problème est immédiatement apparu : le GPU a tellement gonflé que l'ordinateur portable a surchauffé, ce qui signifie que la batterie a également surchauffé, ce qui est passé en mode de protection et a cessé de se charger. En général, c'est un mode très utile qui protège contre les situations dangereuses. Dans certains cas, le problème a été résolu à l'aide d'un appareil de haute technologie : un stylo à bille placé sous l'ordinateur portable pour améliorer la ventilation. Mais cela n’a pas aidé tout le monde, c’est pourquoi nous avons également augmenté la vitesse du ventilateur standard.

Il y avait encore une caractéristique désagréable. Toutes les cartes et alertes doivent être placées à un endroit strictement défini. Imaginez que vous pilotez un avion pour atterrir - puis les indicateurs de vitesse, les altimètres, les variomètres, les horizons artificiels, les boussoles et les indicateurs de position commencent à changer de taille et à sauter à différents endroits. Nous avons donc décidé de créer une application qui vous aidera à cela. En une soirée, nous l'avons écrit sur Electron.js, en prenant un modèle tout fait API pour créer et gérer des fenêtres. Nous avons ajouté un gestionnaire de configuration et leur mise à jour périodique, ainsi que la prise en charge d'un nombre limité de moniteurs. Un peu plus tard, ils ont ajouté la prise en charge de différentes configurations.

Assemblage et livraison

Lundi, les assistants du helpdesk avaient obtenu pour nous 40 moniteurs, dix ordinateurs portables et le même nombre de stations d'accueil. Je ne sais pas comment ils ont fait, mais merci beaucoup.

Comment nous avons évacué l'équipe de service Yandex

Restait à livrer tout cela dans les appartements des administrateurs de service. Et ce sont dix adresses dans différentes parties de Moscou : sud, est, centre, et aussi Balashikha, qui se trouve à 45 kilomètres du bureau (d'ailleurs, un stagiaire de Serpoukhov a également été ajouté plus tard). Il fallait en quelque sorte répartir tout cela entre les gens, construire une logistique.

J'ai renseigné toutes les adresses sur nos Maps, il reste encore la possibilité d'optimiser l'itinéraire entre différents points (j'ai utilisé la version bêta gratuite de l'outil pour les coursiers). Nous avons divisé notre équipe en quatre équipes indépendantes de deux personnes, chacune recevant son propre itinéraire. Ma voiture s'est avérée la plus spacieuse, j'ai donc emporté du matériel pour quatre employés à la fois.

Comment nous avons évacué l'équipe de service Yandex

L'ensemble de la livraison a duré trois heures, un record. Nous avons quitté le bureau à XNUMX heures lundi. A une heure du matin, j'étais déjà chez moi. Le soir même, nous sommes partis en service avec du nouveau matériel.

Avec le résultat que

Au lieu d'une grande console de diagnostic, nous en avons collecté dix relativement portables dans l'appartement de chaque officier de service. Bien sûr, il restait encore quelques points à régler. Par exemple, avant, nous avions un téléphone « en fer » de l'officier de service pour les notifications. Dans les nouvelles conditions, cela n'a pas fonctionné, nous avons donc imaginé des « téléphones virtuels » pour les personnes de service (en fait, des canaux dans la messagerie). Il y a eu également d'autres changements. Mais l’essentiel est qu’en un temps record, nous avons réussi à transférer non seulement les personnes, réduisant ainsi le risque de leur infection, mais aussi tout notre travail à domicile sans nuire aux processus et à la stabilité des produits. Nous faisons cela depuis un mois maintenant.

Ci-dessous vous trouverez des photos des vrais travaux de nos préposés.

Comment nous avons évacué l'équipe de service Yandex

Comment nous avons évacué l'équipe de service Yandex

Comment nous avons évacué l'équipe de service Yandex

Comment nous avons évacué l'équipe de service Yandex

Comment nous avons évacué l'équipe de service Yandex

Source: habr.com