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