Casos de éxito

tiempo de lectura 4 mins

De monolítico a microservicios: una experiencia real en la transformación digital de servicios financieros

La migración de un middleware monolítico a uno nuevo basado en microservicios es un desafío complejo. El principal obstáculo en este proceso es comprender el acoplamiento que tiene el sistema actual y analizar cómo puede desacoplarse manteniendo el mismo comportamiento. Para lograr esto, es esencial contar con un equipo técnico y arquitectos altamente capacitados que puedan llevar a cabo el análisis y la migración de manera efectiva.

En un esfuerzo por mejorar la eficiencia y escalabilidad de sus servicios, Banco Ganadero, uno de nuestros clientes en Bolivia, decidió migrar su middleware monolítico a nuestro producto basado en microservicios llamado flexibility plug. El objetivo era desacoplar el sistema existente y crear microservicios autónomos y escalables que pudieran evolucionar de manera independiente.

El proceso de migración presentó varios desafíos para el equipo técnico conformado por nuestro cliente y nuestro equipo de expertos, especialmente en lo que respecta al acoplamiento del sistema existente. El entendimiento profundo de cómo estaban acoplados los diferentes componentes del middleware monolítico y cómo podían desacoplarse sin comprometer el comportamiento del sistema fue un desafío importante a superar.

Una de las primeras acciones fue analizar los servicios core del sistema existente y documentar sus reglas de negocio junto a los criterios de aceptación para poder revalidar el comportamiento con los nuevos servicios. También se trabajó en el diseño de los  microservicios definiendo responsabilidades claras, utilizando los principios de diseño de microservicios, como la alta cohesión y el bajo acoplamiento.

Una vez construidos los microservicios, se implementaron pruebas automatizadas para cada uno, incluyendo pruebas unitarias, de integración y de regresión. Además, se estableció una metodología de gestión de cambios efectiva para coordinar las actualizaciones y despliegues de los microservicios.

La clave del éxito se resume en los siguientes puntos:

1. Los microservicios necesarios para reemplazar el middleware monolítico fueron identificados y seleccionados en base a un análisis exhaustivo de los diferentes productos y servicios que se prestaban a través del middleware. Se realizaron evaluaciones de los componentes y funcionalidades del sistema existente para determinar qué partes podrían separarse en microservicios independientes y reutilizables. También se tuvieron en cuenta factores como la capacidad de escalabilidad y mantenibilidad de los microservicios.

2. La planificación y realización de pruebas exhaustivas para validar y asegurar la interoperabilidad entre los nuevos microservicios y los sistemas existentes. Se implementaron mecanismos de comunicación estándar, como APIs bien definidas y contratos de interfaz claros, para asegurar que los microservicios pudieran comunicarse de manera efectiva con otros sistemas y componentes.

3. Durante la migración, se enfrentaron desafíos en términos de escalabilidad y disponibilidad. Se implementaron estrategias de escalabilidad horizontal para los microservicios, lo que permitió manejar la carga creciente de los servicios de transferencias internas, interbancarias y pagos de servicios. Además, se establecieron mecanismos de monitoreo y alerta para identificar y abordar rápidamente posibles problemas de disponibilidad.

4. La migración a plug, proporcionó varias ventajas para el cliente en la industria bancaria:

. Mayor flexibilidad y agilidad: Los microservicios permitieron una mayor flexibilidad y agilidad en el desarrollo y despliegue de nuevos productos y servicios, ya que cada microservicio podía ser desarrollado, probado y desplegado de forma independiente sin afectar a otros componentes del sistema.

. Mayor escalabilidad: El enfoque de microservicios permitió una mayor escalabilidad horizontal, lo que permitió manejar de manera eficiente la carga creciente de los servicios de transferencias internas, interbancarias y pagos de servicios.

. Mayor mantenibilidad: Los microservicios, al ser unidades de software independientes y reutilizables, facilitaron la mantenibilidad del sistema en comparación con el middleware monolítico, ya que los cambios y actualizaciones podían realizarse de forma aislada en cada microservicio sin afectar a todo el sistema.

. El resultado de la migración fue una mejora significativa en la eficiencia y escalabilidad de los servicios del banco, lo que permitió a la compañía brindar un mejor servicio a sus clientes y mantener su posición como uno de los principales bancos del país.

Algunos datos y conclusiones

El proyecto de migración duró 100 días hábiles, iniciando con un setup de los ambientes de desarrollo con el equipo del cliente (10 días), pasando por el desarrollo, pruebas y posterior validación del equipo de ciberseguridad del banco (90 días). El despliegue en producción se hizo en forma gradual, migrando carteras de clientes de diferentes sucursales.

En resumen, la migración del middleware monolítico a microservicios fue un éxito para el banco. El equipo de migración trabajó en estrecha colaboración con el banco para comprender las necesidades específicas del sistema existente y crear una solución personalizada que mejorará la eficiencia y escalabilidad de sus servicios.

Al seguir las mejores prácticas de diseño de microservicios, pruebas automatizadas, gestión de cambios efectiva, monitorización y observabilidad, y fomentando una cultura DevOps, el equipo de migración pudo asegurar una transición fluida y exitosa hacia un enfoque basado en microservicios.