Cómo migrar tu servidor sin downtime
Migrar de proveedor o de servidor no tiene que significar downtime. Con la estrategia correcta, tus usuarios no van a notar el cambio.
Planificación pre-migración
Inventariá todos los servicios que corren en el servidor actual, documentá configuraciones, listá dominios y DNS, identificá bases de datos y sus tamaños, y definí una ventana de migración (aunque el objetivo sea zero-downtime).
Estrategia de DNS
Bajá el TTL de tus registros DNS a 60-300 segundos varios días antes de la migración. Esto permite que el cambio de IP se propague rápidamente cuando apuntes al nuevo servidor.
Sincronizar archivos con rsync
Usá rsync para copiar archivos al nuevo servidor mientras el viejo sigue activo: rsync -avz --progress /var/www/ nuevo-servidor:/var/www/. Hacé una segunda pasada justo antes del corte para sincronizar cambios recientes.
Migrar bases de datos
Para PostgreSQL: configurá streaming replication al nuevo servidor. Para MySQL: usá replicación master-slave. Cuando estés listo, promové el slave a master. Para DBs pequeñas: pg_dump/mysqldump + restaurar.
Blue-green deployment
Tené ambos servidores corriendo en paralelo (blue = viejo, green = nuevo). Verificá que el nuevo funciona correctamente. Cambiá el DNS o load balancer para apuntar al nuevo. Si algo falla, revertí instantáneamente.
Verificación post-migración
Verificá que todos los servicios responden, que los certificados SSL funcionan, que los emails se envían/reciben, que las bases de datos tienen los datos actualizados, y monitoreá errores en logs durante 24-48 horas.
Rollback plan
Siempre tené un plan de rollback: mantené el servidor viejo activo por al menos 48 horas después de la migración. Si algo sale mal, revertir el DNS te devuelve al estado anterior en minutos.