Aura Frames, una plataforma de marcos de fotos digitales construida sobre Ruby on Rails desde hace más de una década, rediseñó su capa de datos para preparar la temporada navideña de 2025, la jornada de mayor tráfico del año. El equipo de ingeniería migró su arquitectura de una única base de datos primaria a un total de 8 bases PostgreSQL en AWS, gestionadas mediante las funciones nativas de Active Record para múltiples bases de datos y la opción disable_joins, que sustituye los JOIN de SQL por múltiples consultas SELECT combinadas en la capa de aplicación.
El cambio responde a los problemas de fiabilidad detectados en Navidad de 2024, cuando incluso la instancia RDS más grande disponible (familia 48x, con 192 vCPU y 1,5 TB de RAM) no fue capaz de absorber el pico. Para 2025, la estrategia se basó en escalar verticalmente cada uno de los 8 servidores primarios según la demanda, y reducir el tamaño cuando el tráfico vuelve a niveles normales, con el fin de optimizar costes.
Los resultados fueron notables. El día de Navidad de 2025, la plataforma atendió un pico de 41 millones de peticiones HTTP por hora (unos 11.400 por segundo), procesó 11,8 millones de jobs en segundo plano por hora (3.300 por segundo) y registró 226.000 transacciones por segundo en bases de datos. La aplicación móvil de Aura Frames alcanzó el puesto número 1 entre las apps gratuitas en la App Store y Google Play de Estados Unidos y Canadá, por delante de ChatGPT de OpenAI y Meta AI.
La entrada explica en detalle el proceso de refactorización, la sustitución de JOIN por múltiples SELECT, el uso de subqueries, EXISTS, agregaciones entre tablas, el método references y la gestión de esquemas distribuidos con la herramienta multiplataforma de Rails.
