Para quien haya migrado una aplicación Rails a otra cosa (no al revés, me interesa específicamente el caso de salir de Rails): ¿qué fue lo que motivó el cambio?
Se me ocurren varios motivos típicos que se comentan en según qué círculos: rendimiento en escenarios de mucha concurrencia donde el modelo de Rails no encaja tan bien como otros stacks, dificultad para encontrar desarrolladores Ruby frente a la abundancia de gente que sabe JS/Python, o simplemente que el equipo cambió de preferencia tecnológica con el tiempo y no había ningún problema técnico real de fondo.
¿Alguien ha pasado por una migración así de verdad? Y si es que sí, ¿mereció la pena el esfuerzo, o con perspectiva se podría haber resuelto el problema original sin cambiar de framework entero?
Elena
El motivo que más he visto de cerca, más que rendimiento puro, es la dificultad para encontrar desarrolladores Ruby frente a la abundancia de gente que sabe JS/TypeScript o Python. Cuando una empresa necesita escalar el equipo rápido y el mercado de contratación local tiene muchísima más oferta de un stack que de otro, esa presión de "no encontramos a nadie" acaba pesando más en la decisión que cualquier argumento puramente técnico sobre el framework en sí.
El caso de rendimiento en alta concurrencia también existe, pero en mi experiencia suele estar más sobrevalorado como motivo real: la mayoría de aplicaciones que migran "por rendimiento" en realidad tenían problemas de arquitectura (queries N+1 sin resolver, falta de caché, mala gestión de conexiones a base de datos) que se habrían solucionado igual sin cambiar de framework, y que simplemente se atribuyen a "Rails es lento" porque es más fácil de justificar internamente que admitir deuda técnica acumulada.
Con perspectiva, en los casos que conozco de cerca, la migración solucionó el problema de contratación de talento, pero el coste en tiempo y riesgo de reescribir una aplicación entera fue considerable, y no siempre estoy seguro de que compensara frente a invertir ese mismo esfuerzo en formar gente nueva en Ruby.
Pablo