Geopagos es la empresa referente de Latam en la creación de plataformas y redes de pagos digitales. Opera en 16 países y procesa más de 100 millones de transacciones al año de más de 250.000 merchants. Tras dos años de crecimiento vertiginoso, Geopagos se encuentra en pleno proceso de transformación organizacional, cultural, y tecnológica. Puntualizando en el producto y la tecnología, están llevando adelante un plan estratégico para salir de una solución monolítica para pasar a una arquitectura de microservicios.
¿De qué se trata la nueva arquitectura de Geopagos?
Esta nueva arquitectura permitirá estructurar recursos, dominios funcionales, y capacidades, bajo un marco de agilidad empresarial que agrega valor eficientemente en todas las etapas del ciclo de vida de los desarrollos. Y le permite a la compañía asegurar de manera más robusta que las millones de personas que utilizan su plataforma tengan una experiencia de compra segura y personalizada.
En la última edición de Nerdearla, Federico Zaiatz, VP de Product Development y Sergio Ferreira, VP de Cloud Platform y SRE de Geopagos, explicaron que este cambio responde a la necesidad de escalar más ágilmente tanto en capacidades como en funcionalidad para sus partners. Permitir mayor alineación a producto y foco de los equipos, lo que se traslada a la tecnología y scope de cada uno. Este nuevo enfoque de microservicios multi-tenant genera eficiencia en toda la cadena de desarrollo de producto.
“Nuestro objetivo es que todos puedan hacer crecer sus negocios, por eso trabajamos enfocados en transformar la experiencia de compra y venta de todos los actores involucrados”, afirmó Federico Zaiatz en Nerdearla. Geopagos inició su operación con este mismo objetivo con su primer partner, con una solución monolítica que incluía muchos servicios: onboarding, dashboard de backoffice, procesamiento de pagos, check out, tienda y otros vinculados en una misma aplicación. A medida que fue creciendo la operación y la cantidad y diversidad de partners (desde grandes bancos a retailers), esa solución monolítica fue replicada con diversos cambios. En ese momento, era la manera más rápida y eficiente de escalar.
Pero todavía faltaba camino por recorrer. “No éramos lo suficientemente ágiles al momento de desplegar a los diferentes ambientes. Teníamos una alta carga cognitiva, además. Todas las personas involucradas en el desarrollo necesitaban conocer un poco de todo: fraudes, pagos o cualquier otra parte de la operación”, dijo Zaiatz. Para escalar aún más, la compañía necesitaba modularizar sus servicios a partir de un core compartido. Salir de un solo stack de desarrollo para especializar a cada área en un microservicio específico y atender de manera diferenciada a las necesidades de cada uno de sus partners.
“Hicimos un ejercicio de Strategic Design, que viene del Domain Driven Design, para identificar Bounded Contexts: de manera muy simplista, se trata de la diferenciación clara de los de los diferentes modelos de dominio que tenemos para hacer la ruptura del monolito desde ese lugar. No agarrar pedazos del monolito y sacarlos para ser servicios descontextualizados, sino definir ese límite conceptual donde el modelo de dominio es aplicable”, explicó Zaiatz. Luego, el desafío era crear context maps para entender el relacionamiento entre los bounded contexts y así entender el proyecto como un todo.
Con ayuda de ejemplos, Zaiatz describió el proceso de transformación que aún continúa en Geopagos. Sergio Ferreira se encargó de relatar el “aterrizaje” de este cambio de estrategia. “Ese monolito revoltoso, de alguna manera logramos enjaularlo. Y ahora se multiplica”, ilustró. “Desde la arquitectura, ahora podemos gestionarla en dominios y microservicios, y aprovechar eso para construir una plataforma más fiable y más elástica”.
Para Ferreira, la experiencia de Geopagos puede servirle a la comunidad tech a enfrentar desafíos similares. “No hay una receta que encaje para todo, pero es útil compartir las decisiones que acompañaron estos cambios”, afirmó. Para él, una de las claves es “no poner demasiado esfuerzo en tareas que en este momento debieran resultar un commodity. La realidad es que si queremos agregar valor, es muy útil apoyarnos en servicios gestionados que provee el servidor”.