Arquitectura software
Un composition root para arquitectura hexagonal en React
Trabajo en una aplicación React organizada con arquitectura hexagonal (lo que Alistair Cockburn llamó ports and adapters en 2005). Cada funcionalidad se divide en domain, application, infrastructure y presentation. El dominio define puertos —interfaces como DocumentRepository— y la capa de infraestructura proporciona adaptadores que los implementan, como createDocumentRepository(httpClient). Las dependencias siempre apuntan hacia dentro; el […]
Clean Frontend Architecture: cómo usar React Query sin romper tus casos de uso
React Query resuelve problemas reales: caché, refetching en segundo plano, invalidación, reintentos. Pero cuando intentas aplicar React Query arquitectura limpia, te encuentras con la misma trampa una y otra vez: la librería acaba convirtiéndose en la arquitectura. No solo dándole soporte. En un artículo anterior, hablamos de cómo organizar el código frontend por dominios de […]
Historia de un memory leak en Node JS: Un viaje de debugging
Diseñar y crear sistemas web puede ser muy difícil. Llevo años desarrollando software usando arquitecturas de microservicios y Node.js y de vez en cuando te encuentras con situaciones que te obligan a aprender mucho. Esta es la historia de uno de esos momentos. La configuración: event tracking a escala Una de las cosas que construimos […]
Los 10 mandamientos para cambiar un microservicio
Los microservicios como término se han vuelto cada vez más populares en los últimos años y se utilizan para describir una variante del estilo arquitectónico SOA que crea una aplicación como una colección de servicios débilmente acoplados. Cada microservicio tiene su propio propósito e implementará diferentes interfaces o protocolos de comunicación. Por lo tanto, cualquier […]
Arquitectura hexagonal en frontend: cómo organizar tu código React por dominios de negocio
Arrancas un proyecto frontend con las carpetas ordenadas. Tres meses después: ¿Dónde pongo este componente? ¿En qué archivo está esa validación? ¿Por qué este componente tiene 500 líneas mezclando APIs con lógica de negocio? Los síntomas son siempre los mismos: carpetas desordenadas, lógica de negocio mezclada con UI, APIs esparcidas sin patrón, testing imposible porque […]
Construyendo negocios inteligentes «plug & play»
Echando la vista atrás, en este 2025, me doy cuenta de que la crisis del COVID nos enseñó lecciones sobre cómo la tecnología puede ayudar a hacer los negocios más resilientes, flexibles y adaptativos. Muchos de quienes hoy integramos Orbitant vivimos ese periodo juntos en diferentes roles, viendo de primera mano cómo las empresas que […]
Transformando datos fragmentados en una ventaja competitiva para Afianza
El crecimiento mediante adquisiciones es una estrategia habitual en asesorías y servicios financieros. Sin embargo, cada integración suma no solo clientes e ingresos, sino también sistemas, procesos y datos fragmentados que dificultan la operativa y limitan el potencial de escala. Afianza vivía esta realidad. Una empresa en expansión acelerada que, con cada adquisición, se alejaba […]
Arquitectura desacoplada para reducir el time-to-market en entornos complejos
Cuando una organización crece, su tecnología suele quedarse atrás. Infraestructuras heredadas, ciclos largos de desarrollo y dependencias entre equipos terminan ralentizando lo que debería ser ágil: lanzar nuevas funcionalidades, probar hipótesis, adaptarse al mercado. En este contexto, la arquitectura ya no es solo un asunto técnico. Se convierte en una pieza crítica para acelerar o […]
Migraciones legacy: vas a fallar (y eso no es malo)
Reconstruir una plataforma legacy desde cero es realmente divertido. A veces necesitas replicar mucha lógica de negocio colocada en algún lugar dentro de un monolito realmente grande lleno de hacks ilegibles, funciones masivas o carente de cualquier tipo de tests. A veces incluso comparte responsabilidades con procedimientos almacenados en diferentes bases de datos con acceso […]