Não durma! Como aprendemos a liberar 12.000 ofertas de ingressos por noite

A operação ininterrupta de milhares de lojas Pyaterochka depende em grande parte de software confiável e personalizado. Agora, a rede usa o produto GK SOFTWARE, que foi aprimorado da versão em caixa para o desenvolvimento de código dentro do X5. Em nosso artigo, mostraremos qual caminho seguimos na instalação de versões, garantindo o crescimento dos negócios da empresa, desde lojas únicas em novos softwares até os atuais 15.000.



Casos de outrora, uma profunda tradição


O período de dez anos para TI no mundo moderno é história. Em 2009, as primeiras cadeias de lojas de Pyaterochka acabaram de mudar para o GK, as primeiras tarefas de atualização de software apareceram. O processo se parecia com isso: trabalho totalmente manual, análise dos logs com os “olhos” em cada loja, problemas constantes ao iniciar o software - no checkout, o equipamento para de inicializar e os serviços GK não são iniciados no servidor.

À medida que o sistema GK se estabilizou e as ferramentas de atualização foram desenvolvidas, fomos implantados no componente central do sistema GK - Storemanager - no valor de 100 a 200 lojas por noite (por funcionário). Então foi considerado uma grande conquista. Para garantir a velocidade da atualização em 1000 lojas, já era necessária uma equipe externa - somente com uma equipe de 6 pessoas por noite poderíamos alcançar o número necessário de pontos de venda. Para criar uma tarefa de atualização, era necessário "clicar" em cada loja com as mãos. Cada trabalho continha apenas 50 objetos, pois havia uma chance, devido a um erro interno, de perder todos os status após a atualização e, em seguida, seria necessária uma verificação manual completa.



Nesse momento, a verificação de saúde da loja foi realizada inicialmente pelo status da atribuição, finalmente através da conexão com a área de trabalho do caixa e a análise visual da tela do caixa.

Para 2014, a intensidade do trabalho de atualização para 1 pessoa por noite foi de 150 lojas.

Primeira descoberta


Tal situação com a velocidade e o custo da atualização não se adequava a nós nem aos negócios. A área de trabalho mais importante foi o processo de aprimoramento e automação do processo para garantir a "entrega" rápida e de alta qualidade das mudanças nas lojas, a fim de ajudar as empresas a resolver tarefas de maneira eficaz.

Como o código GK não pertence ao X5, não podemos fazer as melhorias do Storemanager por conta própria, alterar o processo ou corrigir bugs. Portanto, em conjunto com os empreiteiros, começamos a trabalhar no desenvolvimento de uma ferramenta tecnológica alternativa, que chamamos de “Booster”.

Abordamos de maneira abrangente a análise do processo de atualização e analisamos de todos os lados. E eles entenderam o processo, que se tornou a base para todas as mudanças futuras. O sucesso da implementação das alterações depende da rapidez com que entregamos as distribuições da nova versão nas lojas, como as preparamos para a atualização, como o processo de instalação será organizado e como será a verificação de desempenho subsequente.

O “Booster” possui uma lista única de todas as lojas no painel, pré-verificações e status de cada estágio, e a primeira verificação automatizada primitiva após a atualização.



A implementação do projeto “Booster” permitiu reduzir o custo da mão-de-obra em 6 vezes e atualizar aproximadamente 1000 lojas por noite, com a ajuda de um funcionário (até o final de 2016). Naquela época, foi um avanço sem precedentes.

Desenvolvimento de sucesso


A próxima etapa foi consolidar e desenvolver nosso sucesso. Lançamos um conjunto de melhorias chamado "Booster2".

A plataforma foi movida para um novo hardware, a interface do usuário foi completamente redesenhada, nos livramos da frenagem. Introduziu novas verificações e status para cada estágio.



Fornecemos ao funcionário que atualiza todas as noites todas as informações para identificar problemas e corrigi-los rapidamente. O efeito máximo para a prevenção de acidentes nos foi dado por uma verificação automática da operabilidade da bilheteria, com base em capturas de tela. O sistema determinou onde a condição da tela difere do padrão e foram nessas lojas que os funcionários examinaram primeiro.

O “Booster” atualizado permitiu atualizar 1.500 lojas por funcionário, por noite, no final de 2017 - início de 2018.

Encaminhar para novas alturas


1.500 lojas por noite é bom, podemos gerenciar facilmente o cronograma de lançamento, fazer sprints adicionais para a instalação, estamos prontos para fornecer correção de erros e instalar até 6 montagens no caixa e no back office, mas a tarefa da nossa empresa é construir hoje a próxima geração de varejo . O processo, fundamento técnico e tecnológico da digitalização de nossos negócios é, entre outros, a velocidade do desenvolvimento e distribuição de novas versões de software. E em março de 2019, uma tarefa ambiciosa foi estabelecida - no outono, para alcançar a atualização de 3.000 servidores e 12.000 caixas de dinheiro em uma noite. Nós abstraímos de nossas realidades atuais, mais uma vez conduzimos um ótimo trabalho analítico para identificar gargalos no processo. Foram identificadas tarefas que requerem automação, aprimoramentos técnicos, desenvolvimento de novos softwares especializados e também uma revisão geral. Além disso, formamos um conjunto de tarefas organizacionais.

Como resultado, nasceu um projeto interno de TI, foi elaborado um roteiro, calculado um orçamento, determinados marcos e definido claramente o círculo de divisões e contratados para interação interna e externa.

Roteiro

Vamos nos aprofundar nas tarefas formadas em mais detalhes. Identificamos três áreas:

  • objetivos de redução de risco;
  • tarefas administrativas e organizacionais;
  • tarefas para aumentar as lojas atualizadas por dia.

Redução de risco. Nossa tarefa - independentemente do sucesso ou falha da atualização, garantir a operação do nó do caixa e a capacidade de atender os clientes, ou seja, abrir uma loja de manhã. Com o aumento do número de pontos de venda, os riscos aumentam muitas vezes, quando algo sai errado.

Um funcionário do grupo de distribuição de lançamentos é como um piloto de avião ou controlador de tráfego aéreo que tem muita responsabilidade. Em tais condições, é necessário desenvolver ferramentas simples e automatizadas que minimizem o fator de erro humano.
Nessa área, foram formuladas tarefas para desenvolver um novo sistema de inspeções de lojas, automatizar a preparação de instalações para atualização, criar mecanismos para registrar o trabalho na infraestrutura de rede e recuperação automática.

A nova ferramenta de verificação permite determinar rapidamente a integridade da loja como um todo, gerar um relatório com um número maior de parâmetros e mostrar imediatamente ao funcionário de suporte os objetos que não podem ser abertos pela manhã após a atualização. Analisamos o lançamento do software e as etapas de download. Verificamos a formação da base do caixa na parte traseira do escritório, a inicialização do equipamento, a saída do software da caixa registradora para o modo de registro da caixa etc. O processo é baseado no que há de mais recente em nosso sistema da empresa - “Monitoramento de Negócios” usando uma pilha de tecnologia moderna (Filebeat, Kafka, ClickHouse, Grafana).

Na ferramenta (sistema) para a preparação abrangente das lojas para atualização, combinamos todos os scripts de verificação dispersa que podem estar em servidores diferentes. Conectamos scripts automáticos para corrigir erros típicos (pouco espaço, sem direitos necessários etc.) e enviar para funcionários responsáveis ​​em direções diferentes, se o problema não for corrigido automaticamente. Adicionamos um robô que solicita "incansavelmente" a lã no MFSM e exclui as caixas registradoras das lojas de conveniência da atualização do caixa. Esse robô todos os dias economiza mais de três horas de tempo dos funcionários.

Ferramenta robótica para o trabalho contábil na infraestrutura de rede : fornece a análise de cartas completamente dispersas dos fornecedores, identificando códigos de loja nos endereços SAP indicados e carregando dados na data e hora do trabalho no banco de dados. Além disso, com base nessas informações, o cronograma de circulação é atualizado. Isso elimina gradualmente os momentos em que 300 lojas permanecem sem comunicação e não podemos obter o status de atualizações ou verificações.

Mecanismo de recuperação automática : na lateral da loja, permitirá o autodiagnóstico do nó do caixa, determinará a impossibilidade de iniciar o checkout e restaurará o sistema do backup, permitindo que a loja seja aberta pela manhã na maioria dos casos, mesmo que a equipe de suporte não consiga se conectar remotamente à solução do problema.

Tarefas administrativas e organizacionais. O trabalho efetivo do sistema é metade da batalha; para o sucesso é necessário garantir o trabalho efetivo da equipe.

A solução é treinamento adicional, fins de semana adicionados ao cronograma de trabalho, estabelecer interação com todas as linhas. Implante no fim de semana.

Realizamos treinamento interno para os funcionários, garantindo a intercambiabilidade e a possibilidade de redistribuir qualquer tarefa. O cronograma de trabalho da equipe também foi revisado - todos os funcionários foram transferidos para o turno da noite, o que criou a oportunidade de garantir atualizações contínuas. Esta opção foi implementada este ano. Agora, as atualizações do GK ocorrem 7 dias por semana sem o envolvimento de pessoal adicional.

Tarefas para aumentar o número de lojas por noite. Aqui, resolvemos o problema de entrega rápida e garantida de distribuições, a fim de garantir a atualização de qualquer número de lojas, independentemente da rapidez com que as alterações sejam feitas. Isso também inclui, de fato, melhorias no próprio sistema.

Primeiro, começamos a usar a atual ferramenta de atualização “Booster” da maneira mais eficiente possível. O teste de carga revelou as operações mais difíceis, determinamos o limite de possibilidades, encontramos opções para o dimensionamento horizontal de instâncias de atualização.

Além disso, dentro da estrutura do projeto, decidimos qual ferramenta deveria ser direcionada para atualização e qual deveria ser mais desenvolvida. O Storemanager foi escolhido como a ferramenta de destino, pois com a aquisição do código-fonte GK, conseguimos desenvolver e aprimorar ferramentas padrão de forma independente.

Desde o lançamento do projeto, identificamos etapas para implementar toda a funcionalidade "Booster" no Storemanager e este ano formou requisitos adicionais para melhorias, a fim de garantir a atualização do número necessário de lojas.

Também elaboramos opções para o uso das ferramentas atuais, aprimoramos-as, portamos a infraestrutura de destino para o Linux exclusivamente para o servidor de download. E, juntamente com os colegas, eles introduziram uma nova ferramenta adicional que expandiu significativamente nossos recursos.

O que já aconteceu


No momento, a maioria das tarefas do nosso plano já foi implementada:

  • Atualização e aprimoramento do sistema de bombeamento.
  • Reduzindo o tamanho das distribuições GK.
  • Tarefas administrativas e organizacionais em equipe.
  • Automação de preparação de lojas para atualização.
  • Contabilizando o trabalho em rede.

A tarefa ainda é introduzir uma nova verificação de lojas e refinar a ferramenta de atualização de destino.



O que vem depois?


Mais ainda. Agora, nossos esforços visam atualizar 20.000 (+) lojas por noite, mas ele já estará em uma nova plataforma diferente, com novas ferramentas e métodos. Definitivamente contaremos sobre isso no futuro.

Os autores

Vasily Golubev, Chefe do Grupo de Distribuição de Liberação de Software # ITX5
Evgeny Lapshin, Chefe do Departamento de Suporte para Soluções de Loja # ITX5

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


All Articles