Ne dors pas! Comment nous avons appris à publier 12 000 offres de billets par nuit

Le fonctionnement ininterrompu de milliers de magasins Pyaterochka dépend en grande partie de logiciels fiables et personnalisés. Maintenant, le réseau utilise le produit de GK SOFTWARE, qui est passé de la version en boîte au développement de code à l'intérieur de X5. Dans notre article, nous vous expliquerons la voie à suivre pour installer les versions, garantissant ainsi la croissance des activités de l'entreprise, des magasins uniques de nouveaux logiciels aux 15 000 actuels.



Les cas d'autrefois, une profonde tradition


La période de dix ans pour l'informatique dans le monde moderne appartient à l'histoire. En 2009, la première chaîne de magasins Pyaterochka vient de passer à GK, les premières tâches de mise à jour logicielle sont apparues. Le processus ressemblait à ceci: travail complètement manuel, analyse des journaux avec les «yeux» dans chaque magasin, problèmes constants avec le démarrage du logiciel - à la caisse, l'équipement cesse de s'initialiser, puis les services GK ne démarrent pas sur le serveur.

Au fur et à mesure que le système GK se stabilisait et que les outils de mise à jour se développaient, nous sommes allés déployer à travers la composante centrale du système GK - Storemanager - à raison de 100 à 200 magasins par nuit (par employé). Ensuite, cela a été considéré comme une grande réussite. Pour assurer la rapidité de la mise à jour dans 1000 magasins, un personnel était déjà requis - ce n'est qu'avec une équipe de 6 personnes par nuit que nous pourrions atteindre le nombre de points de vente requis. Pour créer une tâche de mise à jour, il fallait «cliquer» sur chaque magasin avec ses mains. Chaque travail ne contenait que 50 objets, car il y avait une chance en raison d'une erreur interne de perdre tous les statuts après la mise à jour, et une vérification manuelle complète serait alors nécessaire.



À ce moment-là, le bilan de santé du magasin était initialement effectué par le statut de la mission, enfin en se connectant au bureau du caissier et en analysant visuellement l'écran du caissier.

Pour 2014, l'intensité de la mise à jour pour 1 personne par nuit était de 150 magasins.

Première percée


Une telle situation avec la rapidité et le coût de la mise à jour ne pouvait convenir ni à nous ni à l'entreprise. Le domaine de travail le plus important était le processus d'amélioration et d'automatisation du processus pour assurer une «livraison» rapide et de haute qualité des modifications dans les magasins afin d'aider les entreprises à résoudre efficacement les tâches.

Étant donné que le code GK n'appartenait pas à X5, nous ne pouvions pas apporter les améliorations de Storemanager par nous-mêmes, modifier le processus ou corriger des bogues. C'est pourquoi, en collaboration avec des entrepreneurs, nous avons commencé à travailler sur le développement à partir de zéro d'un outil technologique alternatif, que nous avons appelé «Booster».

Nous avons abordé de manière globale l'analyse du processus de mise à jour, l'avons examiné de tous les côtés. Et ils ont compris le processus, qui est devenu la base de tous les changements futurs. Le succès de la mise en œuvre des modifications dépend de la rapidité avec laquelle nous livrons les distributions de la nouvelle version aux magasins, de la façon dont nous les préparons pour la mise à niveau, de l'organisation du processus d'installation et du déroulement du contrôle de performances ultérieur.

«Booster» a une liste unique de tous les magasins dans le tableau de bord, des pré-contrôles et des statuts pour chaque étape, et le premier contrôle automatisé primitif après la mise à jour.



La mise en œuvre du projet «Booster» a permis de réduire les coûts salariaux de 6 fois et de mettre à jour environ 1000 magasins par nuit avec l'aide d'un employé (fin 2016). À cette époque, c'était une percée sans précédent.

Développement réussi


L'étape suivante a été de consolider et de développer notre succès. Nous avons lancé un pool d'améliorations appelé «Booster2».

La plateforme a été déplacée vers un nouveau matériel, l'interface utilisateur a été complètement repensée, nous nous sommes débarrassés du freinage. Introduction de nouveaux contrôles et statuts pour chaque étape.



Nous avons fourni à l'employé de mise à jour tous les soirs toutes les informations pour identifier les problèmes et les résoudre rapidement. L'effet maximum pour la prévention des accidents nous a été donné par un contrôle automatisé de l'opérabilité de la billetterie basé sur des captures d'écran. Le système a déterminé où la condition de l'écran diffère de la norme, et ce sont ces magasins que les employés ont examinés en premier.

Le «Booster» mis à jour a permis de mettre à jour 1 500 magasins par employé et par nuit fin 2017-début 2018.

Vers de nouveaux sommets


1500 magasins par nuit, c'est bien, nous pouvons facilement gérer le calendrier de sortie, prendre des sprints supplémentaires pour l'installation, nous sommes prêts à fournir une correction d'erreurs et installer jusqu'à 6 assemblages à la caisse et au back office, mais la tâche de notre entreprise est de construire aujourd'hui la prochaine génération de magasins de détail . Le processus, fondement technique et technologique de la numérisation de notre entreprise est, entre autres, la vitesse de développement et de distribution de nouvelles versions de logiciels. Et en mars 2019, une tâche ambitieuse a été fixée - à l'automne, pour atteindre la mise à jour de 3000 serveurs et 12000 caisses en une nuit. Nous nous sommes abstenus de nos réalités actuelles, avons une fois de plus mené un grand travail d'analyse pour identifier les goulots d'étranglement dans le processus. Des tâches ont été identifiées qui nécessitent une automatisation, des améliorations techniques, le développement de nouveaux logiciels spécialisés, ainsi qu'une refonte générale. De plus, nous avons constitué un pool de tâches organisationnelles.

En conséquence, un projet informatique interne est né, une feuille de route a été élaborée, un budget a été calculé, des jalons ont été déterminés et le cercle des divisions et des sous-traitants pour l'interaction interne et externe a été clairement défini.

Feuille de route

Arrêtons-nous plus en détail sur les tâches formées. Nous avons identifié 3 domaines:

  • objectifs de réduction des risques;
  • tâches administratives et organisationnelles;
  • tâches pour augmenter les magasins mis à jour par jour.

Réduction des risques. Notre tâche - indépendamment du succès ou de l'échec de la mise à jour, pour assurer le fonctionnement du nœud de trésorerie et la capacité à servir les clients, c'est-à-dire ouvrir un magasin le matin. Avec l'augmentation du nombre de points de vente, les risques augmentent plusieurs fois que quelque chose va mal.

Un employé du groupe de distribution des versions est comme un pilote d'avion ou un contrôleur aérien qui a beaucoup de responsabilités. Dans ces conditions, il est nécessaire de développer des outils simples et automatisés qui minimisent le facteur d'erreur humaine.
Dans ce domaine, des tâches ont été formulées pour développer un nouveau système d'inspection des magasins, automatiser la préparation des installations pour la mise à jour, créer des mécanismes d'enregistrement des travaux sur l'infrastructure du réseau et la récupération automatique.

Le nouvel outil de vérification vous permet de déterminer rapidement la santé de la boutique dans son ensemble, de générer un rapport sur un plus grand nombre de paramètres et de montrer immédiatement à l'employé du support les objets qui ne peuvent pas s'ouvrir le matin après la mise à jour. Nous analysons à la fois le lancement du logiciel et les étapes de son téléchargement. Nous vérifions la formation de la base du caissier du côté du back office, l'initialisation du matériel, la sortie du logiciel caisse enregistreuse en mode d'enregistrement caissier, etc. Le processus est basé sur le dernier-né de notre système d'entreprise - «Business Monitoring» utilisant une pile technologique moderne (Filebeat, Kafka, ClickHouse, Grafana).

Dans l'outil (système) pour la préparation complète des magasins pour la mise à jour, nous avons combiné tous les scripts de vérification dispersés qui pourraient même être sur différents serveurs. Nous avons connecté des scripts automatiques pour corriger les erreurs typiques (espace insuffisant, pas de droits nécessaires, etc.) et les envoyer aux employés responsables dans différentes directions, si le problème n'est pas résolu automatiquement. Nous avons ajouté un robot qui demande "inlassablement" laineux dans MFSM et exclut les caisses enregistreuses des dépanneurs de la mise à jour de la caisse. Un tel robot économise chaque jour plus de trois heures de temps aux employés.

Outil robotique pour la comptabilité des travaux sur l'infrastructure réseau : il fournit l'analyse des lettres complètement dispersées des fournisseurs, l'identification des codes de magasin aux adresses SAP indiquées et le chargement des données sur la date et l'heure du travail dans la base de données. En outre, sur la base de ces informations, le calendrier de diffusion est mis à jour. Cela élimine progressivement les moments où 300 magasins sont laissés sans communication, et nous ne pouvons pas obtenir l'état des mises à jour ou des contrôles.

Mécanisme de récupération automatique : du côté du magasin, il permettra l'autodiagnostic du nœud de caisse, déterminera l'impossibilité de démarrer la caisse et restaurera le système à partir de la sauvegarde, permettant ainsi au magasin de s'ouvrir le matin dans la plupart des cas, même si le personnel de support ne peut pas se connecter à distance à la solution du problème.

Tâches administratives et organisationnelles. Le travail efficace du système représente la moitié de la bataille; pour réussir, il est nécessaire d'assurer le travail efficace de l'équipe.

La solution est une formation supplémentaire, des week-ends ajoutés à l'horaire de travail, configurer l'interaction avec toutes les lignes. Déployez le week-end.

Nous avons organisé une formation interne pour les employés, garantissant l'interchangeabilité et la possibilité de redistribuer toutes les tâches. L'horaire de travail de l'équipe a également été révisé - tous les employés ont été transférés au travail de nuit, ce qui a permis de garantir des mises à jour continues. Cette option que nous avons mise en œuvre cette année. Désormais, les mises à jour de GK ont lieu 7 jours sur 7 sans implication de personnel supplémentaire.

Tâches pour augmenter le nombre de magasins par nuit. Ici, nous résolvons le problème de la livraison rapide et garantie des distributions afin d'assurer la mise à jour de n'importe quel nombre de magasins, quelle que soit la rapidité des changements. Cela comprend également, en fait, des améliorations du système lui-même.

Tout d'abord, nous avons commencé à utiliser l'outil de mise à jour «Booster» actuel aussi efficacement que possible. Les tests de charge ont révélé les opérations les plus difficiles, nous avons déterminé la limite des possibilités, trouvé des options pour la mise à l'échelle horizontale des instances de mise à jour.

De plus, dans le cadre du projet, nous avons décidé quel outil cibler pour la mise à jour et lequel développer. Storemanager a été choisi comme outil cible, car avec l'acquisition du code source de GK, nous avons pu développer et améliorer indépendamment des outils standard.

Depuis le lancement du projet, nous avons identifié des étapes pour implémenter toutes les fonctionnalités «Booster» dans Storemanager et cette année, nous avons créé des exigences supplémentaires pour des améliorations afin d'assurer la mise à jour du nombre requis de magasins.

Nous avons également élaboré des options pour utiliser les outils actuels, les avons améliorés, avons porté l'infrastructure cible vers Linux exclusivement pour le serveur de téléchargement. Et avec leurs collègues, ils ont introduit un nouvel outil supplémentaire qui a considérablement étendu nos capacités.

Ce qui s'est déjà produit


À l'heure actuelle, la plupart des tâches de notre plan ont déjà été mises en œuvre:

  • Modernisation et amélioration du système de pompage.
  • Réduire la taille des distributions GK.
  • Tâches administratives et organisationnelles en équipe.
  • Automatisation de la préparation des magasins pour la mise à jour.
  • Comptabilisation du travail en réseau.

Il reste à introduire une nouvelle vérification des magasins et à affiner l'outil de mise à jour cible.



Et ensuite?


Encore plus. Maintenant, nos efforts visent à mettre à jour 20 000 (+) magasins par nuit, mais ce sera déjà sur une nouvelle plateforme différente, avec de nouveaux outils et méthodes. Nous en parlerons certainement à l'avenir.

Les auteurs

Vasily Golubev, chef du groupe de distribution des versions de logiciels # ITX5
Evgeny Lapshin, chef du département de support pour les solutions de magasin # ITX5

Source: https://habr.com/ru/post/fr483800/


All Articles