Backend de banda transportadora de bodega
- Rol
- Desarrollador de software
- Periodo
- Ago 2021 a May 2024
- Organización
- Atlanticsoft
Contexto
En Atlanticsoft trabajé para un cliente de logística, cuyo nombre se reserva. Su bodega usa una banda transportadora automatizada de clasificación, gestionada por un sistema de gestión de bodegas (WMS), por donde avanzan paquetes físicos.
Problema
La banda no espera: mientras el backend decide, el paquete sigue avanzando. Si la respuesta llega tarde, el sistema y la banda se desincronizan. El requisito era responder en menos de 1 segundo.
Aparte, las automatizaciones de pedidos corrían como extensiones de Chrome y producían cancelaciones de pedidos que había que reducir.
Mi rol
Desarrollador de software. Construí el backend crítico de la banda, migré las automatizaciones de extensiones de Chrome a clústeres de Selenium en Docker sobre Azure y entregué las interfaces de control de bodega en Bubble, integradas con el backend.
Decisiones clave
Un backend diseñado para responder en menos de 1 segundo
Cada respuesta tardía desincroniza un paquete físico, así que el tiempo de respuesta era un requisito de funcionamiento y no una métrica de rendimiento deseable.
Clústeres de Selenium en Docker sobre Azure en lugar de extensiones de Chrome
Un clúster en contenedores se replica, se reinicia y se vigila de forma centralizada, algo que las extensiones de Chrome no permiten. Tras la migración, las cancelaciones de pedidos bajaron de forma notable.
Interfaces de control en Bubble integradas con el backend
Dieron a la operación de la bodega pantallas de control sin construir un frontend a medida, conectadas al mismo backend.
Qué lo hacía difícil
El software tiene que ir al ritmo de objetos físicos en movimiento: no hay margen para una respuesta lenta y un fallo se nota en la bodega, no solo en un registro. Además, migrar las automatizaciones de Chrome a Selenium en contenedores implicaba cambiar la base de procesos que ya estaban en uso.
Resultado
El backend mantuvo tiempos de respuesta menores a 1 segundo, y con eso los paquetes físicos y el sistema siguieron sincronizados. La migración a clústeres de Selenium en Docker sobre Azure redujo de forma notable las cancelaciones de pedidos, y las interfaces en Bubble dieron control de la bodega sobre el mismo backend.
Stack
- Selenium
- Docker
- Azure
- Bubble
- WMS
Cliente y detalles internos reservados por confidencialidad.