Volver al inicio

Clojure y Datomic en Nubank: 131 millones de clientes

Nubank usó Clojure y Datomic para escalar a 131 millones de clientes, minimizando la complejidad mutable. Los hechos inmutables proporcionan auditoría gratuita y reproducibilidad. La ley de Conway está integrada en la organización.

Nubank: Clojure y datos inmutables para 131M clientes
Advertisement 728x90

Grafos inmutables y Clojure: Cómo Nubank escaló a 131 millones de clientes

Nubank alcanzó 131 millones de clientes en solo 12 años usando Clojure, Datomic y datos inmutables. Su pila tecnológica maneja 4.000 microservicios, 72 mil millones de eventos Kafka diarios y 2.500 millones de transacciones Datomic. Este enfoque reduce la complejidad y ofrece auditorías integradas sin infraestructura extra.

El panorama bancario en Brasil y el lanzamiento de Nubank

El sector bancario brasileño estaba dominado por cinco grandes jugadores que controlaban el 84% del mercado de crédito, con tasas de interés astronómicas de hasta 450% anual. Alrededor de 34 millones de adultos no tenían cuenta bancaria y abrir una podía tomar meses. En 2013, un equipo liderado por David Vélez (Sequoia Capital), Cristina Junqueira (Itaú) y Edward Wible (Princeton) lanzó Nubank con una tarjeta de crédito sin comisiones vía app móvil, empezando con límites tan bajos como 10 dólares.

Financiación inicial: 2 millones de dólares. El crecimiento fue explosivo: 12 millones de clientes en 2019, 48 millones en la IPO de 2021, 100 millones en 2024 y 131 millones en 2025 (cubriendo el 62% de la población adulta de Brasil). El éxito se impulsó por recomendaciones de boca en boca.

Google AdInline article slot

Los problemas de los datos mutables en sistemas bancarios

Los datos mutables convierten la auditoría en una pesadilla: los reguladores exigen el estado exacto de un cliente en cualquier momento —límite de crédito, modelo de scoring, datos de entrada—. Sin historial completo, surgen disputas. Los modelos de machine learning dejan de ser reproducibles tras actualizaciones.

Las soluciones tradicionales como tablas de auditoría, triggers y versionado acumulan miles de líneas de código sin valor de negocio.

El enfoque inmutable: Cada cambio es un nuevo hecho con marca temporal. Consulta cualquier punto en el tiempo para obtener el estado. La auditoría es gratuita, la reproducibilidad garantizada.

Google AdInline article slot

Por qué Datomic y Clojure

El CTO Edward Wible se inspiró en Out of the Tarpit, priorizando el estado mutable mínimo. Eligió Datomic —una base de datos inmutable de Rich Hickey en formato EAVT (Entity-Attribute-Value-Transaction)—.

  • Nada se elimina.
  • Cada cambio es un hecho cronometrado.
  • El estado es un corte temporal, como en Git.

Datomic llevó a Clojure: el equipo abandonó la programación orientada a objetos y las bases de datos relacionales. Pila tecnológica: Clojure (backend), Kafka (asíncrono), Datomic (datos), Flutter (móvil), AWS/K8s (infraestructura).

Escala en 2025: 4.000 microservicios, 72 mil millones de eventos Kafka/día, 2.500 millones de transacciones Datomic/día, más de 85 clústeres K8s, más de 50 despliegues/día (de master a producción en 30 minutos).

Google AdInline article slot

Nubank adquirió Cognitect (creadores de Clojure/Datomic) en 2020; Hickey se unió. Datomic pasó a ser completamente open source bajo Apache 2.0 en 2023.

La filosofía de Rich Hickey

Rich Hickey creó Clojure en solitario en 2,5 años. Ideas clave de Simple Made Easy:

  • Simple significa sin enredos; fácil significa familiar. La industria cambia simplicidad por facilidad.
  • Valores sobre objetos. El tiempo es una secuencia de hechos.
  • La identidad es una serie de estados; los hechos son inmutables.

Implicaciones:

  • Sin bloqueos/mutex, concurrencia trivial.
  • Pruebas deterministas.
  • Bases de datos como Git: viaje en el tiempo integrado.

Victor Oliveira destaca que la influencia de Hickey trasciende el lenguaje, redefiniendo el diseño de software.

La Ley de Conway en la arquitectura de Nubank

La Ley de Conway (1968): Los sistemas reflejan la estructura de comunicación de la organización. Tres equipos construyen un compilador de tres pasadas; grupos aislados crean interfaces torpes.

Nubank moldea deliberadamente su organización alrededor de la pila: equipos pequeños multifuncionales, tecnología uniforme. Esto mantiene la complejidad baja al escalar a 131 millones de clientes.

Lecciones clave:

  • La inmutabilidad elimina la infraestructura de auditoría, simplificando el cumplimiento.
  • EAVT + tiempo de Datomic = Git para datos bancarios.
  • Clojure + Ley de Conway entregan simplicidad en 4.000 servicios.
  • El crecimiento de Nubank prueba que la programación funcional funciona en fintech de alta escala.
  • Abrir el código de Datomic impulsa su adopción.

— Editorial Team

Advertisement 728x90

Leer después