Construcción de una pipeline DevOps moderna y un portal de autoservicio digital para una empresa de reciclaje de tamaño mediano
Proyecto práctico académico en desarrollo de software y operaciones de TI
Introducción
Este proyecto práctico se llevó a cabo en una empresa certificada de gestión de residuos especializada en el reciclaje de madera. El objetivo principal era diseñar e implementar un ciclo moderno de desarrollo y operaciones de TI, así como un portal de clientes digital integrado en los procesos de la empresa.
El trabajo se centró en dos aspectos fundamentales. Primero, la configuración de un entorno DevOps que apoye el desarrollo continuo, integración, despliegue y operación del portal. Segundo, la concepción e implementación de un portal de clientes basado en web que mejore la retención de clientes proporcionando acceso transparente a datos de pesaje, contratos, facturas e información de control, y optimizando los procesos internos de pesaje y eliminación.
El proyecto abordó varios desafíos en las operaciones diarias de la empresa, incluyendo comunicación ineficiente con clientes, disponibilidad limitada de documentos y procesos administrativos manuales que podrían optimizarse mediante la digitalización.
Fundamentos y requisitos
Análisis de requisitos
El proyecto comenzó con un análisis integral de requisitos a través de entrevistas con la gestión y empleados. Los problemas clave identificados incluyeron:
- Procesos de comunicación con clientes ineficientes que requieren llamadas telefónicas y correos electrónicos frecuentes
- Disponibilidad limitada de datos de pesaje y documentos para clientes
- Trabajo administrativo manual que podría automatizarse
- Falta de transparencia en el estado del proyecto y seguimiento del progreso
- Sin procesos estandarizados de desarrollo y despliegue
Requisitos técnicos
Basado en el análisis, se derivaron los siguientes requisitos técnicos:
- Implementación de una pipeline de integración y despliegue continuos
- Desarrollo de una arquitectura de portal de clientes modular
- Integración con sistema ERP existente y datos de pesaje
- Autenticación segura y control de acceso basado en roles
- Diseño responsive para acceso móvil y de escritorio
Concepto y arquitectura
Concepto DevOps
El concepto DevOps fue diseñado para apoyar el desarrollo continuo, integración, despliegue y operación. La arquitectura incluyó:
- Control de versiones con GitLab para gestión de código y colaboración
- Integración continua con builds y pruebas automatizadas usando TeamCity
- Containerización con Docker para entornos de despliegue consistentes
- Pipelines de despliegue automatizados para entornos de staging y producción
- Monitoreo y registro para insights operativos
Arquitectura del portal
El portal de clientes fue diseñado como una aplicación web modular con los siguientes módulos principales:
Módulo de pesaje
Los clientes pueden ver y descargar boletas de pesaje vinculadas a su número de cliente, permitiendo total transparencia de cantidades y calidades entregadas.
Módulo de disposición
Planificación de transportes de contenedores con integración de clientes, contenedores, empleados y vehículos adecuados para apoyar el proceso logístico.
Módulo de contratos y precios
Disponibilidad permanente de precios y documentos contractuales con exportación como PDF para apoyar comunicación transparente y acceso rápido a acuerdos.
Módulo contable
Búsqueda y descarga de facturas en formato PDF, alineadas con los datos de pesaje, para reducir solicitudes manuales y apoyar flujos de trabajo contables digitales.
Control y análisis
Evaluación de cantidades entregadas, calidad de entrega y precios para apoyar el control operativo y la toma de decisiones estratégicas.
Autoservicio de datos maestros
Opciones para que los clientes mantengan datos maestros seleccionados e información de contacto, reduciendo el trabajo administrativo manual para la empresa.
Stack tecnológico
Programación y web
DevOps y colaboración
Datos e integración
Infraestructura y herramientas
Implementation
Configuración del entorno de desarrollo
La primera fase involucró configurar un entorno de desarrollo dedicado con servidor web, base de datos, IDE y herramientas necesarias para apoyar el desarrollo continuo. Esto incluyó configurar servidores de desarrollo locales, conexiones de base de datos y herramientas de desarrollo.
Implementación DevOps
El ciclo DevOps se implementó a través de la integración de GitLab, TeamCity y Docker. Esto permitió:
- Integración continua con builds y pruebas automatizadas
- Pipelines de despliegue automatizados para staging y producción
- Flujos de trabajo de control de versiones con estrategias de ramificación
- Entornos containerizados para despliegues consistentes
Desarrollo del portal
El portal de clientes se implementó utilizando el framework Laravel. El proceso de desarrollo incluyó:
- Creación de la arquitectura modular con módulos separados para pesaje, disposición, contratos, contabilidad, control y datos maestros
- Desarrollo de interfaces de usuario con diseño responsive para acceso móvil y de escritorio
- Integración con el sistema ERP existente y datos de pesaje a través de APIs REST
- Implementación de autenticación y control de acceso basado en roles
- Desarrollo de funcionalidad de exportación PDF para documentos y facturas
Pruebas y feedback
A lo largo del proceso de desarrollo, se realizaron pruebas funcionales, se crearon datos de prueba y se establecieron bucles de feedback con las partes interesadas para validar usabilidad, rendimiento y corrección de los procesos empresariales. Este enfoque iterativo aseguró que la solución cumpliera con los requisitos y expectativas.
Resultados y conclusión
Resultados logrados
La implementación del ciclo DevOps y del portal de clientes resultó en mejoras significativas:
- Eficiencia de desarrollo mejorada: Las pipelines CI/CD automatizadas redujeron el tiempo de despliegue y minimizaron errores manuales, permitiendo ciclos de iteración más rápidos.
- Experiencia del cliente mejorada: Los clientes obtuvieron acceso 24/7 a sus datos, reduciendo consultas telefónicas y mejorando la satisfacción a través de capacidades de autoservicio.
- Procesos internos optimizados: Los flujos de trabajo digitales redujeron la sobrecarga administrativa y mejoraron la precisión de los datos a través de procesos automatizados.
- Mejor transparencia de datos: El acceso en tiempo real a datos de pesaje, facturas y contratos mejoró la comunicación y confianza entre la empresa y sus clientes.
- Arquitectura escalable: El diseño modular permite la expansión futura e integración de características adicionales a medida que evolucionan las necesidades empresariales.
Lecciones aprendidas
El proyecto proporcionó insights valiosos sobre las prácticas modernas de desarrollo de software:
- La importancia de establecer un ciclo DevOps adecuado desde el principio para apoyar el desarrollo y despliegue continuos
- El valor de la arquitectura modular para permitir soluciones de software flexibles y mantenibles
- La importancia del feedback de las partes interesadas y el desarrollo iterativo para asegurar la calidad de la solución
- Los beneficios de la containerización y despliegue automatizado en la reducción de la complejidad operativa
Recomendaciones futuras
Para la expansión adicional del ciclo DevOps y las funciones del portal, se hicieron las siguientes recomendaciones:
- Implementación de sistemas de monitoreo y alerta automatizados para detección proactiva de problemas
- Expansión del portal con módulos adicionales basados en feedback de clientes y necesidades empresariales
- Integración de aplicaciones móviles para accesibilidad mejorada
- Mejora continua del pipeline CI/CD con pruebas automatizadas adicionales y puertas de calidad