¡No duermas! Cómo aprendimos a lanzar 12,000 ofertas de boletos por noche

La operación ininterrumpida de miles de tiendas Pyaterochka depende en gran medida de un software confiable y personalizado. Ahora la red usa el producto de GK SOFTWARE, que ha mejorado desde la versión en caja hasta el desarrollo de código dentro de X5. En nuestro artículo, le diremos qué camino hemos tomado en la instalación de lanzamientos, asegurando el crecimiento comercial de la compañía desde tiendas individuales en software nuevo hasta los 15,000 actuales.



Casos de tiempos pasados, una profunda tradición


El período de diez años para TI en el mundo moderno es historia. En 2009, las primeras cadenas de tiendas Pyaterochka se cambiaron a GK, aparecieron las primeras tareas de actualización de software. El proceso se parecía a esto: trabajo completamente manual, análisis de los registros con los "ojos" en cada tienda, problemas constantes al iniciar el software: al finalizar la compra, el equipo deja de inicializarse, luego los servicios GK no se inician en el servidor.

A medida que el sistema GK se estabilizó y se desarrollaron las herramientas de actualización, fuimos a implementar a través del componente central del sistema GK, Storemanager, en una cantidad de 100 a 200 tiendas por noche (por empleado). Entonces se consideró un gran logro. Para garantizar la velocidad de actualización en 1000 tiendas, ya se requería un personal externo; solo con un equipo de 6 personas por noche podríamos alcanzar el número requerido de puntos de venta. Para crear una tarea de actualización, era necesario "hacer clic" en cada tienda con sus manos. Cada trabajo contenía solo 50 objetos, ya que había una posibilidad debido a un error interno de perder todos los estados después de la actualización, y luego se necesitaría una verificación manual completa.



En ese momento, el control de salud de la tienda se realizó inicialmente por el estado de la tarea, finalmente a través de la conexión al escritorio del cajero y el análisis visual de la pantalla del cajero.

Para 2014, la intensidad laboral de la actualización para 1 persona por noche fue de 150 tiendas.

Primer avance


Tal situación con la velocidad y el costo de la actualización no podría satisfacernos ni a nosotros ni a la empresa. El área de trabajo más importante fue el proceso de mejora y automatización del proceso para garantizar una "entrega" rápida y de alta calidad de los cambios a las tiendas con el fin de ayudar a las empresas a resolver las tareas de manera efectiva.

Como el código GK no pertenecía a X5, no podíamos hacer las mejoras de Storemanager por nuestra cuenta, cambiar el proceso o corregir errores. Por lo tanto, junto con los contratistas, comenzamos a trabajar en el desarrollo desde cero de una herramienta alternativa tecnológica, que llamamos "Booster".

Abordamos exhaustivamente el análisis del proceso de actualización, lo miramos desde todos los lados. Y obtuvieron una comprensión del proceso, que se convirtió en la base de todos los cambios futuros. El éxito de la implementación de los cambios depende de qué tan rápido entreguemos las distribuciones de la nueva versión a las tiendas, cómo los preparemos para la actualización, cómo se organizará el proceso de instalación y cómo se realizará la verificación de rendimiento posterior.

"Booster" tiene una lista única de todas las tiendas en el tablero, verificaciones previas y estados para cada etapa, y la primera verificación automática primitiva después de la actualización.



La implementación del proyecto "Booster" permitió reducir los costos laborales en 6 veces y actualizar aproximadamente 1000 tiendas por noche con la ayuda de un empleado (para fines de 2016). En ese momento fue un avance sin precedentes.

Desarrollo exitoso


La siguiente etapa fue consolidar y desarrollar nuestro éxito. Lanzamos un conjunto de mejoras llamado "Booster2".

La plataforma se movió a un nuevo hardware, la interfaz de usuario se rediseñó por completo, nos deshicimos del frenado. Introdujo nuevos controles y estados para cada etapa.



Hemos proporcionado al empleado que realiza las actualizaciones todas las noches con toda la información para identificar problemas y solucionarlos rápidamente. El efecto máximo para la prevención de accidentes nos lo proporcionó una verificación automática de la operatividad de la taquilla basada en capturas de pantalla. El sistema determinó dónde la condición de la pantalla difiere del estándar, y fueron estas tiendas las que los empleados vieron primero.

El "Booster" actualizado permitió actualizar 1,500 tiendas por empleado por noche a fines de 2017 y principios de 2018.

Reenviar a nuevas alturas


1,500 tiendas por noche son buenas, podemos administrar fácilmente el calendario de lanzamiento, realizar sprints adicionales para la instalación, estamos listos para proporcionar corrección de errores e instalar hasta 6 ensamblajes en la caja y la oficina administrativa, pero la tarea de nuestra empresa es construir la próxima generación de ventas minoristas hoy. . El proceso, la base técnica y tecnológica de la digitalización de nuestro negocio es, entre otras cosas, la velocidad de desarrollo y distribución de nuevas versiones de software. Y en marzo de 2019, se estableció una tarea ambiciosa: para el otoño, alcanzar la actualización de 3000 servidores y 12000 cajas en una noche. Nos abstraemos de nuestras realidades actuales, una vez más realizamos un gran trabajo analítico para identificar cuellos de botella en el proceso. Se identificaron tareas que requieren automatización, mejoras técnicas, el desarrollo de un nuevo software especializado, así como un replanteamiento general. Además, hemos formado un grupo de tareas organizativas.

Como resultado, nació un proyecto interno de TI, se elaboró ​​una hoja de ruta, se calculó un presupuesto, se determinaron los hitos y se definió claramente el círculo de divisiones y contratistas para la interacción interna y externa.

Hoja de ruta

Detengámonos en las tareas formadas con más detalle. Hemos identificado 3 áreas:

  • objetivos de reducción de riesgos;
  • tareas administrativas y organizacionales;
  • tareas para aumentar las tiendas actualizadas por día.

Reducción de riesgos. Nuestra tarea, independientemente del éxito o el fracaso de la actualización, para garantizar el funcionamiento del nodo de efectivo y la capacidad de servir a los clientes, es decir abrir una tienda en la mañana Con el aumento en el número de puntos de venta, los riesgos aumentan muchas veces de que algo salga mal.

Un empleado en el grupo de distribución de liberación es como un piloto de avión o controlador de tránsito aéreo que tiene mucha responsabilidad. En tales condiciones, es necesario desarrollar herramientas simples y automatizadas que minimicen el factor de error humano.
Dentro de esta área, se formularon tareas para desarrollar un nuevo sistema de inspecciones de tiendas, automatizar la preparación de instalaciones para la actualización, crear mecanismos para registrar el trabajo en la infraestructura de red y la recuperación automática.

La nueva herramienta de verificación le permite determinar rápidamente el estado de la tienda en su conjunto, generar un informe sobre una mayor cantidad de parámetros e inmediatamente mostrar al empleado de soporte aquellos objetos que no pueden abrirse en la mañana después de la actualización. Analizamos tanto el lanzamiento del software como los pasos para descargarlo. Verificamos la formación de la base para el cajero en el lado de la oficina administrativa, la inicialización del equipo, la salida del software de la caja registradora al modo de registro del cajero, etc. El proceso se basa en lo último en el sistema de nuestra empresa: "Monitoreo de negocios" utilizando una pila de tecnología moderna (Filebeat, Kafka, ClickHouse, Grafana).

En la herramienta (sistema) para la preparación integral de las tiendas para la actualización, combinamos todos los scripts de verificación dispersos que incluso podrían estar en diferentes servidores. Conectamos scripts automáticos para corregir errores típicos (poco espacio, sin derechos necesarios, etc.) y enviarlos por correo a empleados responsables en diferentes direcciones, si el problema no se soluciona automáticamente. Agregamos un robot que solicita solicitudes "incansablemente" en MFSM y excluye a las cajas registradoras de las tiendas de conveniencia de actualizar la caja. Tal robot todos los días ahorra más de tres horas de tiempo de los empleados.

Herramienta robótica para el trabajo de contabilidad en la infraestructura de red : proporciona el análisis de cartas de proveedores completamente dispersas, identificando códigos de tienda en las direcciones SAP indicadas y cargando datos en la fecha y hora del trabajo en la base de datos. Además, según esta información, se actualiza el calendario de circulación. Esto elimina gradualmente los momentos en que quedan 300 tiendas sin comunicación, y no podemos obtener el estado de las actualizaciones o comprobaciones.

Mecanismo de recuperación automática : en el lado de la tienda, permitirá el autodiagnóstico del nodo de efectivo, determinará la imposibilidad de iniciar el pago y restablecerá el sistema desde la copia de seguridad, permitiendo así que la tienda abra en la mañana en la mayoría de los casos, incluso si el personal de soporte no puede conectarse remotamente a la solución del problema.

Tareas administrativas y organizativas. El trabajo efectivo del sistema es la mitad de la batalla; para el éxito es necesario asegurar el trabajo efectivo del equipo.

La solución es capacitación adicional, fines de semana agregados al horario de trabajo, configuración de interacción con todas las líneas. Implementar el fin de semana.

Llevamos a cabo una capacitación interna para los empleados, asegurando la intercambiabilidad y la posibilidad de redistribuir cualquier tarea. El horario de trabajo del equipo también fue revisado: todos los empleados fueron transferidos al trabajo por turnos por la noche, lo que creó la oportunidad de garantizar actualizaciones continuas. Esta opción la hemos implementado este año. Ahora las actualizaciones de GK tienen lugar los 7 días de la semana sin la participación de personal adicional.

Tareas para aumentar el número de tiendas por noche. Aquí resolvemos el problema de la entrega rápida y garantizada de distribuciones para garantizar la actualización de cualquier número de tiendas, sin importar cuán rápido se produzcan los cambios. Esto también incluye, de hecho, mejoras en el sistema mismo.

En primer lugar, comenzamos a usar la herramienta de actualización actual "Booster" de la manera más eficiente posible. Las pruebas de carga revelaron las operaciones más difíciles, determinamos el límite de posibilidades, encontramos opciones para el escalado horizontal de instancias de actualización.

Además, en el marco del proyecto, decidimos qué herramienta debería ser destinada para la actualización y cuál debería desarrollarse más. Se eligió Storemanager como la herramienta de destino, ya que con la adquisición del código fuente de GK, pudimos desarrollar y mejorar de manera independiente las herramientas estándar.

Desde el lanzamiento del proyecto, hemos identificado pasos para implementar toda la funcionalidad "Booster" en Storemanager y este año formamos requisitos adicionales para mejoras para garantizar la actualización del número requerido de tiendas.

También elaboramos opciones para usar las herramientas actuales, las mejoramos, portamos la infraestructura de destino a Linux exclusivamente para el servidor de descarga. Y junto con sus colegas, presentaron una nueva herramienta adicional que expandió significativamente nuestras capacidades.

Lo que ya ha pasado


Por el momento, la mayoría de las tareas de nuestro plan ya se han implementado:

  • Actualización y mejora del sistema de bombeo.
  • Reducción del tamaño de las distribuciones GK.
  • Tareas administrativas y organizativas en equipo.
  • Automatización de preparación de tiendas para actualización.
  • Contabilidad para el trabajo en red.

La tarea sigue siendo introducir una nueva verificación de tiendas y refinar la herramienta de actualización de destino.



Que sigue


Más más. Ahora nuestros esfuerzos apuntan a actualizar 20,000 (+) tiendas por noche, pero ya estará en una nueva plataforma diferente, con nuevas herramientas y métodos. Definitivamente hablaremos de esto en el futuro.

Los autores

Vasily Golubev, Jefe del Grupo de Distribución de Lanzamiento de Software # ITX5
Evgeny Lapshin, Jefe del Departamento de Soporte para Soluciones de Tienda # ITX5

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


All Articles