Unibo Neobank

Arquitectura en Google Cloud basada en microservicios y metodología GitOps

Cliente y servicio Cloud

Resumen ejecutivo

Unibo es el primer neobanco diseñado específicamente para satisfacer las necesidades únicas de los administradores de fincas, ofreciendo una solución de banca online totalmente adaptada a su perfil profesional. Este innovador banco digital proporciona una gama completa de funcionalidades diseñadas especialmente para la gestión eficiente de fincas, lo que permite a los administradores realizar todas sus operaciones bancarias desde una única plataforma.

Con un enfoque en la hiperpersonalización, Unibo se distingue por ofrecer una experiencia bancaria 100% digital, eliminando la necesidad de desplazamientos físicos o citas previas. Los administradores de fincas pueden acceder a una serie de herramientas y servicios diseñados para facilitar la gestión de propiedades, desde la supervisión de cuentas y la gestión de pagos hasta la generación de informes financieros y el seguimiento de transacciones en tiempo real.

Soluciones

  • Google Kubernetes Engine (GKE)
  • Terraform
  • Bases de datos (Postgres en Cloud SQL)
  • GitOps (ArgoCD)
  • Istio

Del reto al resultado

El reto

Unibo Neobank enfrentaba el desafío de desarrollar una aplicación principal que no solo gestionara las interacciones con sus clientes, sino que también garantizara una alta flexibilidad y una latencia baja en la comunicación. La plataforma debía permitir una interacción fluida y eficiente entre el personal y los clientes, crucial para mantener un alto nivel de satisfacción y eficiencia en el servicio.

Dado el dinamismo del sector bancario y la necesidad constante de innovación, Unibo Bank requería una solución tecnológica que facilitara una rápida adaptación y desarrollo de nuevas funcionalidades. La capacidad para implementar y lanzar nuevas características y actualizaciones de manera frecuente, a veces incluso múltiples veces al día, era fundamental para mantenerse competitivo y responder a las demandas cambiantes del mercado.

Por lo tanto, el diseño de la plataforma tenía que abordar varios aspectos clave:

  1. Flexibilidad y escalabilidad: la arquitectura de la aplicación debía ser lo suficientemente flexible para adaptarse a nuevas necesidades y cambios en el mercado. Esto incluía la capacidad de escalar rápidamente para manejar un aumento en la carga de trabajo, especialmente durante picos de actividad, como campañas promocionales o lanzamientos de nuevos servicios.
  2. Baja latencia: la plataforma debía estar optimizada para ofrecer una baja latencia en todas las interacciones entre el personal y los clientes. Esto era crucial para asegurar que las transacciones y consultas se procesaran de manera rápida y eficiente, mejorando así la experiencia del usuario y reduciendo el tiempo de espera.
  3. Desarrollo ágil y lanzamientos frecuentes: Unibo Neobank necesitaba una infraestructura que soportara un ciclo de desarrollo ágil, permitiendo a los equipos de desarrollo lanzar nuevas funcionalidades y actualizaciones de manera continua. La plataforma debía facilitar el despliegue rápido y seguro de nuevas versiones sin interrumpir el servicio existente.
  4. Seguridad y cumplimiento: en el ámbito bancario, la seguridad es primordial. La plataforma debía cumplir con estrictos estándares de seguridad y regulaciones para proteger los datos de los clientes y garantizar la integridad de las transacciones.
  5. Interoperabilidad y conectividad: la solución debía integrar sin problemas con otros sistemas y servicios, permitiendo una comunicación efectiva entre diferentes módulos de la aplicación y sistemas externos, como servicios de pago y bases de datos.
La solución tecnológica

Para dar solución a una aplicación basada en microservicios, y ante la necesidad de incorporar nuevos microservicios a medida que la aplicación madura, propusimos una arquitectura basada en Google Kubernetes Engine (GKE) que permite adaptarse a las necesidades del negocio, minimizando el tiempo de implementación de nuevos servicios sin sacrificar la seguridad de la plataforma. Automatización, seguridad y observabilidad han sido los tres criterios clave a la hora de diseñar la plataforma en Google Cloud.

La infraestructura de los diferentes entornos está definida como código (IaC) utilizando Terraform, y se ha incorporado al proceso CI/CD para evitar la «deriva de la infraestructura». Las credenciales de acceso a las bases de datos (Postgres en Cloud SQL) se generan a través de Terraform y se almacenan directamente en Secret Manager para que la gestión de secretos en Kubernetes sea transparente y permita la rotación automática.

El despliegue de las diferentes cargas de trabajo en GKE también se incorpora en CI/CD utilizando GitOps (ArgoCD), lo que facilita la automatización del despliegue de nuevas cargas de trabajo en un clúster privado de GKE.

GKE proporciona muchas maneras de asegurar las cargas de trabajo; junto con el uso de Istio, también nos ha permitido añadir soporte TLS Mutual, aislamiento de espacios de nombres, gestión de entrada y salida (definir qué servicios pueden comunicarse entre sí o externamente). Gracias a la seguridad integrada en los servicios de Google Cloud Platform, los datos se mantienen cifrados tanto en tránsito como en reposo.

Por otro lado, GKE en Google Cloud incorpora un dashboard de gestión de la seguridad que facilita la revisión de riesgos y problemas de seguridad, y proporciona sugerencias para su solución.

Por último, la observabilidad ha sido otro de los criterios clave para la arquitectura con Cloud Monitoring y Cloud Logging, junto con Prometheus.

Así, se facilita la observabilidad de la plataforma para detectar y corregir incidencias rápidamente. Además, permite definir la monitorización como código.

El resultado

El diseño e implementación de la plataforma para Unibo Neobank ha proporcionado a la entidad un control exhaustivo y una seguridad robusta en su aplicación, lo que le ha permitido concentrarse plenamente en la evolución de su negocio y en el desarrollo de sus productos. Con la nueva infraestructura, Unibo ha podido innovar continuamente, añadiendo nuevas funcionalidades y mejorando las existentes sin comprometer la estabilidad o la seguridad de la plataforma.

El éxito alcanzado en la creación e implementación de la plataforma en producción ha consolidado a Unibo Neobank como el líder en el sector. La plataforma ha demostrado su capacidad para manejar eficientemente grandes volúmenes de transacciones y consultas, consolidando la posición de Unibo como una entidad bancaria de referencia en este nicho de mercado.

La certeza de que su negocio puede escalar manteniendo altos niveles de servicio ha permitido a Unibo Neobank enfocarse en ofrecer un valor excepcional a sus clientes las 24 horas del día, los 7 días de la semana. La plataforma garantiza una experiencia de usuario de alta calidad, con tiempos de respuesta rápidos y una seguridad rigurosa, lo que fortalece la confianza de los clientes en el banco y en sus servicios.

Este avance tecnológico no solo ha optimizado las operaciones internas, sino que ha facilitado un crecimiento sostenible y una expansión exitosa en un sector competitivo. La capacidad de Unibo Neobank para adaptarse rápidamente a las demandas del mercado y seguir innovando mientras asegura un servicio de alta calidad es el mayor logro de este proyecto, marcando un hito en su trayectoria y en el sector financiero.

Testimonial

Pedro García

CEO & Co-Fundador de Unibo Neobank

“He trabajado con ACKstorm durante más de diez años, en diferentes proyectos, y siempre me han demostrado ser grandes profesionales. Nos escucharon para saber qué necesitábamos y considero que, tanto el trato recibido como el servicio prestado, han sido excelentes. Por esas razones les damos un 10, se lo merecen.”

Compártelo con tu comunidad

¿Quieres saber más sobre este caso de uso u otros?

Nos enfocamos en las soluciones, para que puedas enfocarte en tus desarrollos.