Alejandro Perezpayá wants to give this talk

Banking on Rails

Hola, somos Javier y Alejandro, formamos parte de Allfunds https://allfunds.com, un banco mayorista especializado en intermediación/brokerage de fondos de inversión con alrededor de €500B bajo administración y entorno a 70M de operaciones realizadas al año.

Hace poco más de un año comenzamos un cambio de estrategia dentro de Allfunds con intención de ampliar la oferta de servicios y realizar mejoras en nuestra operativa e infraestructura. Durante este tiempo hemos ido realizando grande cambios tanto en oferta de productos, metodología, mentalidad y tecnologías.

Creemos que nuestro caso puede ser muy interesante contaros como hemos llevado estos cambios en una organización de 500 personas, casi 20 años operando y supervisada por Banco de España y CNMV.

Los topics que más interesantes nos parecen son los siguientes:

  • XP (Extreme Programming)
    • CI/CD (con una única rama y directamente a producción)
    • Full Test Coverage
    • Equipos multidisciplinares
    • Short Iteration Cycles
  • Infraestructura en Cloud (con legacy existente en Mainframe)
  • Service Oriented Architecture, usamos sobretodo Ruby, pero ciertas piezas están en Python y Javascript, aunque toda la lógica de negocio reside en Ruby e interopera con distintos servicios.
  • Utilizando Sidekiq (y escalándolo con Kubernetes) para procesar entre 3-20M de Jobs al día.
  • Utilizando Rails con GraphQL como interfaz para API y manteniendo el código desacoplado del framework
  • Actions (una interpretación de Interactors y como nos permite testar fácilmente todos los procesos de negocio)
  • Migrando paulatinamente piezas de legacy (Java y Cobol corriendo en Mainframes con Oracle + db2), sin ocasionar pérdidas de servicio.
  • Exprimiendo PostgreSQL (JSONB y FullTextSearch) y BigTable (trillones de rows de históricos)

Esperamos que os resulte interesante, y si algún punto os parece interesante, destacádnoslo y prepararemos slides que profundicen más en el tema. Podéis contactarnos por email: [email protected] o por Twitter: https://twitter.com/aperezpaya