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 que se especializa en el reciclaje de madera. El objetivo principal fue diseñar e implementar un ciclo moderno de Desarrollo y Operaciones de TI así como un portal digital para clientes integrado en los procesos de la empresa.
El trabajo se centró en dos aspectos principales. Primero, la configuración de un entorno DevOps que apoye el desarrollo, integración, despliegue y operación continuos del portal. Segundo, la concepción e implementación de un portal para 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 gerencia 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 un pipeline de integración y despliegue continuos
- Desarrollo de una arquitectura modular de portal para clientes
- Integración con sistema ERP existente y datos de pesaje
- Autenticación segura y control de acceso basado en roles
- Diseño responsivo para acceso móvil y de escritorio
Concepto y Arquitectura
Concepto DevOps
El concepto DevOps fue diseñado para apoyar el desarrollo, integración, despliegue y operación continuos. La arquitectura incluyó:
- Control de versiones con GitLab para gestión de código y colaboración
- Integración Continua con compilaciones 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 conocimientos operativos
Arquitectura del Portal
El portal para 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 comprobantes de pesaje vinculados a su número de cliente, permitiendo transparencia total de las 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 de contratos con exportación como PDF para apoyar la comunicación transparente y acceso rápido a acuerdos.
Módulo de Contabilidad
Búsqueda y descarga de facturas en formato PDF, alineadas con los datos de pesaje, para reducir solicitudes manuales y apoyar flujos de trabajo de contabilidad digital.
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
Implementación
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 compilaciones 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 para 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 responsivo 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 Comentarios
A lo largo del proceso de desarrollo, se realizaron pruebas funcionales, se crearon datos de prueba y se establecieron bucles de retroalimentación con los interesados para validar la 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 el portal para clientes resultó en mejoras significativas:
- Eficiencia Mejorada del Desarrollo: Los pipelines CI/CD automatizados redujeron el tiempo de despliegue y minimizaron errores manuales, permitiendo ciclos de iteración más rápidos.
- Experiencia Mejorada del Cliente: 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ó valiosos conocimientos sobre 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 los interesados 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 futura del ciclo DevOps y las funciones del portal, se hicieron las siguientes recomendaciones:
- Implementación de sistemas automatizados de monitoreo y alertas para detección proactiva de problemas
- Expansión del portal con módulos adicionales basados en comentarios 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