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

2022 Proyecto práctico Investigación académica

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

PHP
Laravel Framework
JavaScript
HTML & CSS
SQL

DevOps y colaboración

GitLab
TeamCity
Continuous Integration
Continuous Deployment
Version Control Workflows

Datos e integración

MySQL
ERP System Integration
REST APIs

Infraestructura y herramientas

Docker
nginx Web Server
PhpStorm IDE
Linux Server Environment

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ó:

  1. Creación de la arquitectura modular con módulos separados para pesaje, disposición, contratos, contabilidad, control y datos maestros
  2. Desarrollo de interfaces de usuario con diseño responsive para acceso móvil y de escritorio
  3. Integración con el sistema ERP existente y datos de pesaje a través de APIs REST
  4. Implementación de autenticación y control de acceso basado en roles
  5. 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