ManoMano: Microservicio de imágenes y MVP de importación
ManoMano es un marketplace europeo especializado en bricolaje y jardinería, con uno de los catálogos más amplios del mercado y una fuerte orientación a precios competitivos. Para seguir escalando su plataforma y mejorar la eficiencia operativa, necesitaban un partner tecnológico capaz de desarrollar nuevas funcionalidades, optimizar componentes existentes e introducir buenas prácticas. Entre las prioridades se encontraban un microservicio de gestión de imágenes y la finalización del MVP del sistema de importación de productos.
El reto principal era crear un gestor de imágenes capaz de funcionar en un servidor con solo 256 MB de RAM, lo que exigía procesar imágenes por partes sin cargarlas completamente en memoria. Al mismo tiempo, su ejecución no podía bloquear el flujo de importación de productos, por lo que eran necesarios tiempos de respuesta óptimos. Además, el MVP era parte de un proyecto heredado complejo que requería refactorización y una rápida adaptación al contexto para poder entregarlo dentro de los plazos.
Optimización del procesamiento de imágenes y del MVP de importación
ManoMano buscaba un partner tecnológico que les ayudara a desarrollar nuevas funcionalidades y mejorar el software existente. El primer objetivo fue implementar un microservicio de gestión de imágenes que permitiera almacenarlas, validarlas y acceder a ellas mediante un sistema de rescalado dinámico.
Una vez entregado, colaboramos con el equipo interno para finalizar el MVP del sistema de importación de productos, un módulo esencial para el funcionamiento del marketplace.
El microservicio debía funcionar en un servidor con solo 256 MB de RAM. Para conseguirlo, diseñamos un algoritmo capaz de procesar imágenes de manera fraccionada sin cargarlas completamente en memoria, garantizando un rendimiento óptimo.
Además, implementamos una lambda que consumía imágenes almacenadas en S3 y permitía su rescalado mediante filtros aplicados directamente en la URL, aumentando la eficacia y flexibilidad del sistema.
Tecnologías utilizadas
Tecnologías utilizadas: Kotlin, Java.
Resultados
- El microservicio de procesamiento de imágenes se entregó dos semanas antes del plazo y funcionó de forma estable desde el primer día.
- La lambda para rescalado dinámico mejoró la flexibilidad y el rendimiento de la plataforma.
- El MVP del sistema de importación de productos se entregó con éxito y entró en producción dentro del calendario previsto.
- Se aplicaron técnicas de refactorización y buenas prácticas que mejoraron la mantenibilidad del proyecto heredado.
Estamos preparados para nuevos retos