DigitalRetailSomosHiberus

Caso de éxito: Microservicios para líder de retail en España

4 Mins de lectura

Las plataformas e-commerce cada vez son más necesarias y más usadas por los clientes. Este incremento en la demanda de los servicios junto a la alta disponibilidad esperada obligan a realizar migraciones de las antiguas arquitecturas usadas por las organizaciones para poder adaptarse a estos nuevos tiempos.

Hoy hablamos del proyecto de migración que estamos realizando de una plataforma e-commerce con presencia internacional, altamente utilizada (varias millones de peticiones cada hora) y con venta de productos y servicios de diversas categorías y sectores (hogar, supermercado, viajes y seguros)

Esta migración está siendo llevada a cabo usando tecnologías, arquitecturas y metodologías innovadoras pero bien asentadas en la industria con el fin de asegurar su calidad.

Además, el equipo humano detrás de este proyecto cumple todas las exigencias de experiencia, conocimiento y capacidad; pero adicionalmente está formado por profesionales que llevan participando los últimos años en diferentes proyectos de desarrollo, mantenimiento y evolución de sistemas similares.

OBJETIVO

Desarrollo de una plataforma de comercio electrónico distribuida personalizada que permita una alta disponibilidad y resiliencia a la par que una respuesta rápida y eficiente a la demanda de los usuarios. Esta demanda, al igual que en el resto de e-commerce, presenta variaciones dependiendo de la época del año (Black Friday, rebajas, etc.)

La arquitectura antigua realiza muchos trabajos en batch, por lo que hay muchas operaciones que no se realizan en tiempo real: actualizaciones del precio (price-matching), del catálogo… El sistema a reemplazar se basa en procesos que se demoran varias horas para realizar este tipo de actualizaciones, por lo que es importante mejorar en este aspecto y llegar al real-time.

EL RETO

El principal reto de este proyecto es que consta de la migración de la plataforma actual con más de 20 años de antigüedad a tecnologías y arquitecturas modernas sin dejar de dar servicio al cliente y de una forma controlada, asegurándonos de que se entrega un sistema de calidad.

Había dos aproximaciones para realizar el desarrollo de la nueva plataforma:

  1. Big-bang: empezar desde 0.
  2. Migración gradual por dominios. Éste es el que se decidió seguir.

Además de la migración del sistema antiguo, hay que asegurarse de migrar todas las nuevas funcionalidades que siguen llegando al mismo durante el desarrollo. Esto es porque es un desarrollo de larga duración y el sistema antiguo sigue en marcha y se le siguen añadiendo funcionalidades.

 

Microservicios Retail Grafico

LA SOLUCIÓN

  • Análisis, diseño, implementación y pruebas del dominio funcional de promociones haciendo uso de una metodología scrum. Se eligió esta metodología porque encaja a la perfección con las necesidades del cliente: reduce el time-to-market de la plataforma, facilita el alineamiento del proyecto con la estrategia corporativa del cliente, permite gestionar proyectos en entornos de elevada incertidumbre y mejora la calidad del producto final puesto que es evaluado por el cliente periódicamente mediante demostraciones.
  • Arquitectura basada en microservicios y dirigida por eventos (Kafka) para proporcionar escalabilidad, elasticidad y resiliencia a la plataforma y reducir el acoplamiento temporal y espacial entre éstos microservicios. Se optó por un desarrollo altamente distribuido debido a los exigentes requisitos de rendimiento y los reducidos tiempos de respuesta.
  • Prometheus, Grafana, AlertManager para monitorizar el estado de la plataforma y alertar de situaciones inesperadas en tiempo real. Este conjunto de tecnologías son cruciales si se busca una alta disponibilidad, que es esencial en una plataforma de e-commerce, además de facilitar el mantenimiento ya que se muestra información concisa pero completa en dashboards
  • Uso de TDD como metodología de desarrollo para generar tests como documentación y garantizar una alta cobertura de instrucciones con los mismos
  • Desarrollo API First con la finalidad de que los equipos de frontend y backend puedan trabajar en paralelo, disminuyendo significativamente el tiempo de espera por parte del cliente para visualizar los cambios que pidió (tiempo de entrega).
  • Spring Boot & Cloud Stack para abstraerse de la complejidad accidental al desarrollar aplicaciones de estas características, pudiendo invertir más parte del tiempo en qué hay que resolver y no en cómo hay que resolverlo.
  • Integración continua utilizando la herramienta Jenkins y despliegue continuo usando Openshift para verificar que la aplicación se comporta como se especificó en varios entornos, manteniéndola al alto nivel de calidad estipulado por el cliente y permitiendo entregar el producto de calidad al cliente en el menor tiempo posible. Además, al trabajar mediante ciclos, el cliente puede ver cómo se están construyendo sus requisitos y proporcionar retroalimentación para obtener un producto de aún mejor calidad y que cumpla todos sus estándares.

 

 

EL RESULTADO

Nuestro equipo integral multidisciplinar (Scrum Master, equipo de desarrollo, equipo de Quality Assurance) continua trabajando mano a mano para llevar a la compañía a la primera línea a nivel tecnológico y poder competir con los grandes retailers a nivel global.

Ahora, de nuevo viviendo los picos más altos de venta (Black Friday y Navidad), la plataforma se  ha preparado para un tráfico todavía superior al año anterior, sin dejar de lado otras metas como mejoras en el SEO de la web.

Además cabe destacar el uso de metodología ágil en un dominio complejo y la implantación del uso del stack de Atlassian (Bitbucket, Jira y Confluence) para la gestión de código fuente, incidencias, peticiones y documentación a nivel interno.

 

Hiberus Digital es un referente en el mercado de e-commerce y nuestro objetivo es ayudar a nuestros clientes a conseguir sus objetivos de negocio. Puedes leer los casos de éxito de Grupo Pronovias, Grupo Raventós Codorniú o Douglas, entre otros. Además, escucha a nuestro equipo en el webinar Microservicios: disponibilidad y escalabilidad para Black Friday.

Cuéntanos tu proyecto y conoce a nuestro equipo experto.

 

Autores: Ángel Cañal, Alejandro Gómez y Raúl Javierre. 

4 posts

Sobre el autor
Graduado en Ingeniería Informática por la Universidad de Zaragoza. Actualmente estoy desarrollando la plataforma de e-commerce de El Corte Inglés y estudiando el Máster Universitario de Profesorado. Mientras estudiaba Ingeniería Informática trabajé en una línea de investigación de la Universidad de Zaragoza. En concreto, desarrollé un framework para ayudar a trabajar a futuras desarrolladoras y desarrolladores a detectar ciberataques en las smart grid. Se consiguieron unos buenos resultados, que fueron presentados en el EDCC 2021. Soy el desarrollador de AireZico, una plataforma que permite consultar el estado de la calidad del aire en tiempo real en Zaragoza. Interesado en DDD, TDD, SOLID, clean code, arquitectura hexagonal, arquitectura dirigida por eventos y microservicios. Nivel avanzado en Java, Spring, Docker, Node, Python, Kafka, RabbitMQ y Git. He entrenado equipos de fútbol base e impartido clases particulares de Informática, de Programación, de Matemáticas y de Inglés durante varios años. Adoro la Fórmula 1, cantar y tocar la guitarra (autodidacta), hacer deporte, ir a conciertos y pasar tiempo con mis seres queridos.
Artículos

INTEGRA UNA ARQUITECTURA DE MICROSERVICIOS

Nuestra visión es ser el socio tecnológico en microservicios de nuestros clientes. Aportamos a cada cliente la mejor solución y el mejor servicio que necesita en cada momento.

¿Te ayudamos?

Artículos relacionados
Digital

El marketing automation en cada fase del funnel

3 Mins de lectura
Cuando ponemos en marcha acciones de marketing automation estamos utilizando un software para que esas acciones se activen de forma automatizada. Gracias…
Digital

Tips no-técnicos para ser mejor developer

5 Mins de lectura
Es vital cuidar la salud mental en un sector en el que reinan las prisas, el síndrome del impostor y la necesidad…
DigitalNext TechRetail

Todo lo que necesitas saber de TDD en 3 minutos

3 Mins de lectura
Cada cosa tiene su momento. Es por esto que en el mundo del desarrollo software existen diferentes metodologías de trabajo para definir…

Deja una respuesta

Tu dirección de correo electrónico no será publicada.