Service as Software

Cómo escalar tu plataforma sin reescribirla

Fernando Blanco DosilFernando Blanco Dosil

Cuando una plataforma empieza a notar el peso del crecimiento, la tentación es pensar que hay que reescribirla entera. Es una de las decisiones más caras y arriesgadas que puede tomar una empresa de software, y muchas veces innecesaria. La mayoría de los problemas de escala no están en todo el sistema, sino en partes concretas.

Escalar bien suele ser un trabajo quirúrgico, no de demolición. Se trata de encontrar dónde duele de verdad, entender por qué y actuar sobre ese punto sin tirar lo que ya funciona. Reescribir entero solo se justifica en casos extremos, y casi nunca al primer síntoma.

Casi nunca es todo el sistema

Los problemas de escala se concentran. Una base de datos mal indexada, una consulta que se repite millones de veces, un proceso síncrono que debería ser asíncrono. Suele ser un puñado de puntos los que limitan toda la plataforma, y arreglarlos no requiere reescribir el resto. Diagnosticar antes de actuar te ahorra meses de trabajo inútil.

La reescritura completa, además de cara, es peligrosa: pierdes el conocimiento acumulado en el código actual, reintroduces errores ya resueltos y paras el avance del negocio durante meses. Solo tiene sentido cuando la base es realmente insostenible, no cuando duele un punto.

  • Mide para localizar los puntos concretos que limitan el rendimiento.
  • Optimiza consultas e índices antes de tocar la arquitectura.
  • Convierte en asíncrono lo que no necesita respuesta inmediata.
  • Aisla y escala solo las partes que de verdad reciben la carga.

Escalar por capas

Hay varias palancas antes de reescribir nada. Puedes escalar vertical (más recursos a la máquina) u horizontalmente (más máquinas), añadir caché para no recalcular lo mismo, mover trabajo pesado a procesos en segundo plano o separar la parte que recibe la carga del resto. Cada palanca resuelve un tipo de cuello de botella distinto.

El orden importa: empieza por lo barato y reversible (índices, caché, configuración) antes de cambios estructurales. Muchas plataformas aguantan diez veces más carga solo con afinar lo que ya tienen.

Cuándo sí toca reescribir

Reescribir se justifica cuando la tecnología base ya no tiene soporte, cuando cada cambio rompe tres cosas o cuando el coste de mantener supera al de empezar de nuevo. Incluso entonces, hazlo por partes: sustituye módulos uno a uno mientras el sistema sigue vivo. Reescribir en bloque y de golpe es la receta del desastre.

Más sobre service as software
Fernando Blanco Dosil

Escrito por

Fernando Blanco Dosil

Product Engineer al que le mueve convertir ideas en producto. Escribe sobre desarrollo, datos y cómo llevar proyectos de la chispa a la realidad.

Ver perfil →