CTT Express

Migración a microservicios y CI/CD para liderar la paquetería urgente

Cliente y servicio Cloud

Resumen ejecutivo

CTT Express es una compañía española especializada en paquetería urgente, siendo la compañía ibérica líder de envíos en 24 horas.

Ofrece calidad, fiabilidad y flexibilidad gracias a que apuesta por invertir en tecnología e innovación. Cuenta con máquinas de alta capacidad de clasificación que les ayudan a repartir más de 420.000 envíos diarios.

La compañía persigue el liderazgo en el mercado ibérico proporcionando el 100% de cobertura para sus entregas en 24 horas en España y Portugal. Para lograrlo, CTT se presenta como el operador con la red propia mejor integrada en ambos países gracias a la configuración de 64 centros de distribución estratégicos y a un único modelo operativo.

Soluciones

  • Amazon ECS (Elastic Container Service)
  • Microservicios
  • CI/CD (Integración y Despliegue Continuo)
  • Serverless (Lambda)
  • CloudFront

Del reto al resultado

El reto

Las empresas del sector de la mensajería y paquetería han presenciado en los últimos 5 años un gran incremento de los ingresos gracias a la cantidad de pedidos online generados por los consumidores debido fundamentalmente al cambio de los hábitos digitales tras la pandemia. CTT, líder en el sector de la paquetería urgente, se encontraba con que el aumento de la demanda ponía de relieve la necesidad de mejorar su infraestructura existente para poder acelerar los tiempos de respuesta de sus pedidos, ofrecer un mejor servicio a sus clientes y maximizar así el valor de su negocio.

Uno de los principales retos consistía en que CTT contaba con una arquitectura en la nube que no permitía obtener la visibilidad de las peticiones de los clientes, por lo que, estas se acumulaban, impidiendo la trazabilidad y conllevando un retraso en los tiempos de respuesta. Con esta arquitectura cloud de tipo legacy, se hacía difícil además aceptar una concurrencia de pedidos y la escalabilidad del negocio se resentía. 

Mejorar la escalabilidad implicaba para CTT una transformación de su nube para hacer frente de forma más eficiente y flexible al incremento de las peticiones de envío de mercancías. Su punto de partida técnico consistía en una aplicación monolítica donde se aunaban la web corporativa y el sistema de trazado de pedidos que dificultaba la óptima absorción de las peticiones para darles respuesta lo antes posible. El código por petición era muy lento y ralentizaba tremendamente los procesos. 

Dado que la app no era distribuida, se perdía agilidad en los pedidos y robustez en el proceso de los mismos. Cada vez había más peticiones y CTT necesitaba mejorar la agilidad y la resistencia de las peticiones. El reto de CTT consistía en conseguir una plataforma autoescalable que se adaptara de forma elástica a las demandas de carga de los usuarios.

La solución tecnológica

ACKstorm propuso a CTT transformar su infraestructura en una arquitectura de microservicios en AWS. Se trató de un proyecto faseado en el que en primer lugar se analizó el código en busca de cuellos de botella que pudieran afectar a la aplicación. Una vez solucionados se procedió a separar la web corporativa del sistema de tracking ya que tenían necesidades totalmente diferentes. Se construyeron circuitos de CI/CD para ambos servicios y se utilizó AWS ECS para ejecutar dichos containers y escalarlos. Delante de la web se utilizó Cloudfront como caché, sirviendo íntegramente desde la CDN y se usó micro caching para las consultas del sistema de tracking. 

Las tecnologías que se utilizaron fueron gestores y servicios serverless como Lambda para funcionalidades concretas, Elasticache, S3, ECS, RDS, Cognito, Cloudwatch, Global accelerator, ALB, EFS.

El resultado

La modernización tecnológica ha mejorado sensiblemente la capacidad operativa de CTT Express. Gracias a la nueva arquitectura, la plataforma ha dejado de ser un sistema rígido para convertirse en una solución altamente escalable. Mediante la implementación de diversos niveles de estrategias de caching (micro-caching y CDN), el sistema es ahora capaz de absorber y gestionar picos masivos de tráfico de forma elástica, garantizando una respuesta fluida incluso en los momentos de mayor demanda.

Además, se ha profesionalizado el ciclo de vida del software mediante la integración de metodologías CI/CD (Integración y Despliegue Continuo). Esto permite un control de versiones y releases mucho más robusto, minimizando el riesgo humano y agilizando la entrega de nuevas funcionalidades.

Antes de la ejecución del proyecto, la plataforma sufría de una preocupante inestabilidad, especialmente crítica durante campañas de alto volumen, donde las caídas de servicio eran recurrentes. Los resultados tras la modernización hablan por sí solos:

  • Drástica reducción de la tasa de error: Se ha logrado pasar de un preocupante 12% de errores en las peticiones a un valor prácticamente residual del 0.0006%, asegurando una experiencia de usuario casi perfecta.

  • Disponibilidad Total (Uptime): La fiabilidad del sistema ha dado un salto cualitativo, incrementando el tiempo de actividad del 87% (que implicaba horas de inactividad acumulada) a un 100% de disponibilidad real.

Más allá de las mejoras técnicas, el proyecto ha tenido un impacto directo en la rentabilidad. Gracias a la optimización de recursos y la eficiencia de la nueva arquitectura en la nube, los costes operativos de la plataforma se han reducido en un 300%, permitiendo a la organización reinvertir ese ahorro en innovación y crecimiento estratégico.

Testimonial

Antonio González

Responsable de Infraestructura CTT Express

«La migración desde Elastic Beanstalk a una arquitectura dockerizada, propuesta e implementada junto a ACKstorm, nos ha permitido ganar agilidad, mejorar la escalabilidad y asegurar entornos más consistentes, logrando despliegues más rápidos y una operación más eficiente.»

Compártelo con tu comunidad
Icon

¿Quieres saber más sobre este caso de uso u otros?

Nos enfocamos en las soluciones, para que puedas enfocarte en tus desarrollos.

// Botón flotante de WhatsApp en todas las páginas add_action('wp_footer', function() { echo ' '; });