La intersección entre tecnología y enriquecimiento de transacciones – Ibai Iturricha, CTO de Triple

Con más de 10 años de experiencia en la industria tecnológica, Ibai Iturricha es actualmente CTO en Triple. Hemos tenido la oportunidad de hablar con él para conocer de primera mano la tecnología innovadora que desarrollan en Triple.

¿Podrías explicarnos el proceso completo de enriquecimiento de una transacción, de principio a fin?

Nuestro proceso de enriquecimiento se basa en varias capas, cada una con distintos pasos. En Triple ofrecemos actualmente información de marca, categorización, geolocalización, identificación de suscripciones y huella de carbono. Cada uno representa una capa del proceso. En resumen, cuando recibimos una transacción, ejecutamos todas estas capas.

Centrémonos en el enriquecimiento de marca: primero intentamos encontrar la información en una caché. Es importante recordar que la distribución de las transacciones no es homogénea y que hay comercios con mayor volumen de uso. Si no encontramos el resultado en caché, intentamos obtenerlo mediante un conjunto de reglas. Y si aún así no tenemos éxito, usamos un algoritmo personalizado de machine learning.

¿Cómo garantiza Triple que su infraestructura tecnológica sea robusta, escalable y segura?

Desde el principio, nuestro foco principal ha sido construir una base fiable y preparada para el futuro que nos permita crecer. Para ello hemos implementado varias estrategias:

  • Arquitectura cloud-native: Adoptamos un enfoque nativo en la nube, usando servicios de proveedores líderes. Esto nos permite aprovechar su infraestructura escalable y sus características de seguridad.
  • Arquitectura de microservicios: Dividimos la aplicación en servicios independientes para desarrollar, desplegar y escalar cada uno por separado. Esto mejora la gestión de recursos y asegura que una caída no afecte a todo el sistema.
  • Contenerización y orquestación: Utilizamos Docker para contenerizar nuestras aplicaciones junto a sus dependencias, garantizando consistencia y facilidad en el despliegue. Para la orquestación usamos Kubernetes, que automatiza el escalado y la gestión de los contenedores, aumentando fiabilidad y escalabilidad.
  • Integración y despliegue continuos (CI/CD): Automatizamos las pruebas y el despliegue de nuestro código para integrar rápidamente cualquier cambio y garantizar calidad.
  • Buenas prácticas de seguridad: Seguimos estándares de seguridad, como evaluaciones de vulnerabilidades, pruebas de penetración y codificación segura. Además, protegemos la infraestructura con cifrado fuerte, controles de acceso y medidas de seguridad en la red.
  • Copias de seguridad y recuperación ante desastres: Mantenemos copias periódicas de los datos y planes de recuperación para minimizar tiempos de inactividad y pérdida de información.
  • Monitorización y logging: Supervisamos continuamente la infraestructura para detectar y solucionar problemas antes de que se vuelvan críticos.

Gracias a estas estrategias estamos seguros de que nuestra infraestructura es robusta, escalable y segura, lo que nos permite centrarnos en soluciones innovadoras y estar preparados para futuros retos.

¿Cómo aseguráis un uso efectivo y ético de los datos? ¿Y cómo gestionáis riesgos tecnológicos, como posibles caídas del sistema?

Nuestra estrategia se basa en cuatro puntos clave:

  • Políticas de uso de datos y cumplimiento: Definimos y aplicamos políticas claras que cumplen con normativas como el GDPR.
  • Controles de acceso y cifrado: Restringimos el acceso a datos solo a personal autorizado y protegemos la información cifrándola tanto en reposo como en tránsito.
  • Redundancia y mecanismos de conmutación: Diseñamos nuestros sistemas críticos con redundancia y mecanismos de failover para minimizar riesgos de caídas.
  • Monitorización proactiva: Supervisamos constantemente para detectar problemas y asegurar una rápida recuperación, manteniendo la fiabilidad.

¿Cómo gestionáis grandes volúmenes de transacciones y garantizáis la escalabilidad?

Desde el inicio apostamos por arquitectura cloud-native, lo que nos permite usar mecanismos de autoescalado que ajustan dinámicamente los recursos asignados (balanceadores de carga, servidores, etc.). Así podemos escalar hacia arriba en picos de tráfico y reducir recursos cuando la demanda baja, usando los recursos de forma eficiente y manteniendo un rendimiento constante.

Para que el autoescalado funcione bien, diseñamos el sistema con arquitectura orientada a eventos, utilizando colas de mensajes para la comunicación entre servicios.

¿Qué retos ha afrontado el equipo tecnológico al construir y mantener la plataforma de enriquecimiento y recompensas, y cómo los habéis resuelto?

I would group the main challenges into:

  • Data. Our service is data-centric and one of the main challenges was to be able to create and maintain a robust dataset with labelled data. We decided to approach the problem by reducing the dimensionality of the problem by focusing on the beginning of a specific subset of transactions.
  • Performance. Our clients expect our system to be able to sustain high throughput with low latency. Fine-tuning the system to be able to meet those expectations has definitely been a challenge. Is hard for me to focus on one specific solution to this challenge as this has been a whole team effort, from infrastructure to frontend.
  • Hiring and creating the culture. Although it is not a technical challenge, creating the team from scratch is far from easy, and I’m pleased with our progress. We are so proud that very smart people decided to join us in the early days.