La respuesta corta

Si construyes una aplicación web por tu cuenta, no necesitas un plan de copias de seguridad empresarial. Necesitas tres hábitos: respaldar la base de datos, respaldar los archivos que tu servidor cambia en ejecución y guardar secretos y configuración en un lugar que sobreviva al equipo. Todo lo demás —código fuente, listas de dependencias, imágenes del sistema— se reconstruye desde cero o se recrea barato.

La pregunta real no es “¿cuál es la mejor herramienta de respaldo?” Es cuánto tiempo de inactividad y cuántos datos puedes tolerar perder, y cuál es la rutina más barata que cumple ese objetivo. Ese objetivo es lo que cambia todo lo demás.


Empieza por el riesgo, no por las herramientas

La mayoría de los consejos de respaldo para pequeños negocios están escritos para oficinas con unidades compartidas y auditorías de cumplimiento. Ese enfoque crea dos trampas para el desarrollador independiente: hace que el problema parezca más grave de lo que es, y te empuja hacia soluciones que cuestan tiempo que no tienes.

Sáltate las hojas de cálculo. Hazte en su lugar tres preguntas:

  • Si mi servidor desapareciera esta noche, ¿cuánto tiempo podría estar caída la web? Un proyecto personal de fin de semana y un SaaS de pago con cinco clientes dan respuestas muy distintas.
  • ¿Cuál es la máxima cantidad de datos que podría permitirme perder? Una hora de publicaciones nuevas es molesto. Un día de pedidos de clientes es una cola de reembolsos.
  • ¿Qué necesitaría realmente para volver a levantar el servicio? Un servidor nuevo, un volcado de la base de datos, los registros del dominio y las variables de entorno que los conectan.

Cuando respondes con honestidad, el enfoque de respaldo correcto suele aparecer solo.


Qué merece la pena respaldar

No todos los bytes de tu servidor merecen el mismo tratamiento. Clasifica los datos de tu proyecto por niveles según lo doloroso que sería recrearlos.

Nivel 1 — No se puede perder

Estos son datos que no podrías recrear, o solo acosando a clientes e integraciones.

  • Base de datos de producción. Cuentas de usuario, pedidos, contenido generado por usuarios, cualquier cosa transaccional. Casi siempre es tu objetivo de respaldo más importante.
  • Archivos subidos por usuarios. Imágenes de perfil, adjuntos, exportaciones. Lo que los usuarios te entregan, trátalo como datos suyos.
  • Secretos y credenciales. Claves de API, secretos de firma, secretos de cliente OAuth, URLs de bases de datos. Si los pierdes, tu stack puede que ni siquiera arranque.

Nivel 2 — Doloroso de perder, pero reconstruible

  • Configuración de la aplicación que no está en control de versiones. Ajustes específicos del entorno, URLs de webhooks de terceros, todo lo que vive en un archivo .env que no has subido al repositorio.
  • Cachés del lado del servidor o colas. Volcados de Redis, colas de trabajos, artefactos de build. Perderlos cuesta tiempo, no ingresos.
  • Listas de correo y archivos de analítica. Parte se puede reconstruir, pero una exportación actualizada te ahorra una tarde entera.

Nivel 3 — Se reconstruye desde el código fuente

  • Código fuente. Tu repositorio ya es el respaldo, siempre que empujes los cambios con regularidad a un remoto como GitHub o GitLab.
  • Sistema operativo y paquetes. Documenta los pasos de instalación; trata el servidor como algo desechable.
  • Recursos estáticos enviados desde tu repositorio. Logos, fuentes, bundles del front — ya cubiertos por git.

Una regla útil: si borrar algo te obligaría a escribir a un cliente para pedir perdón, pertenece al Nivel 1. Si te costaría una tarde, Nivel 2. Si puedes reinstalarlo en diez minutos, probablemente no necesites un respaldo dedicado para ello.


Copia automatizada en la nube frente a rutina manual

Esta es la comparación que realmente importa, y la respuesta honesta es que ambas funcionan. La elección correcta depende de lo que puedas mantener en el tiempo.

Cuándo tiene sentido un respaldo manual

Las rutinas manuales están infravaloradas en proyectos muy pequeños. Un pg_dump semanal metido en un cron, copiado a un bucket externo, no cuesta nada de configurar y casi nada de mantener. Para un sitio con poco tráfico y escrituras infrecuentes, esto puede ser perfectamente adecuado durante meses.

El problema es humano. Una rutina manual depende de que recuerdes ejecutarla, de que te des cuenta cuando falla y de que verifiques que el archivo realmente se puede restaurar. Si tu proyecto es algo secundario entre encargos de consultoría, ese es un modo de fallo real.

Cuándo la copia automatizada en la nube justifica su coste

La automatización vale la pequeña factura mensual en el momento en que se cumpla cualquiera de estas condiciones:

  • La base de datos guarda transacciones de clientes o contenido de pago.
  • Tienes usuarios de pago que notarían una caída de más de una jornada laboral.
  • No puedes comprometerte honestamente a revisar el estado del respaldo con una cadencia fija.
  • Trabajas en una sola región cloud y quieres una copia que sobreviva a un incidente regional.

Un servicio de respaldo gestionado o una política de snapshots programada en tu almacenamiento de bloques convierte el respaldo en fontanería de fondo. El trade-off es el coste —suele ser pequeño, pero escala con el volumen de almacenamiento— y una pequeña dosis de confianza en el proveedor.

Una forma sencilla de decidirlo

Si puedes escribir un plan de recuperación que diga “si el servidor muere un sábado por la mañana, puedo estar de vuelta el sábado por la noche”, probablemente basta con una configuración manual o ligeramente scriptada. Si no puedes escribir ese plan sin improvisar, esa es la señal de que toca automatizar.


La regla 3-2-1 adaptada al trabajo en solitario

La regla clásica 3-2-1 —tres copias, dos tipos de soporte, una copia externa— se escribió para oficinas. El espíritu sigue aplicando: no guardes tu único respaldo en la misma máquina que lo respaldado.

Para un proyecto independiente, una versión práctica se parece a esto:

  1. Los datos en vivo en tu servidor principal o base de datos gestionada.
  2. Una copia local o snapshot tomada con frecuencia, idealmente con las herramientas de snapshots integradas en tu proveedor cloud.
  3. Una copia externa en otro proveedor o región. Buckets de almacenamiento de objetos con versionado activado son la forma más barata de hacerlo.

Eso es todo. No necesitas rotación de cintas ni una segunda sede física.


Una configuración práctica para la mayoría de SaaS en solitario

Un punto de partida sensato para una pequeña aplicación web de pago se parece, en líneas generales, a esto. Los números exactos dependen de tu tráfico y presupuesto.

  • Base de datos: respaldo lógico diario automatizado (volcado), conservado alrededor de un mes, más recuperación a un punto en el tiempo si tu base de datos gestionada lo soporta. Aquí caen los datos de clientes y pedidos.
  • Archivos de usuario y volúmenes: snapshot o respaldo de archivos cada pocas horas, conservado alrededor de un mes.
  • Configuración y secretos de la aplicación: almacenados en un gestor de secretos o bóveda cifrada, con las claves de cifrado guardadas separadas de los propios respaldos.
  • Código fuente: empujado a un remoto de git en cada commit.
  • El servidor en sí: un snapshot semanal suele bastar, porque es reproducible desde tu script de aprovisionamiento.

Haz una prueba de restauración al menos una vez al mes. Un respaldo que nunca has intentado restaurar es una suposición, no un plan.


Errores habituales que conviene evitar

  • Respaldar el servidor pero no la base de datos, o viceversa. Cada uno debe funcionar de forma independiente.
  • Guardar el respaldo en el mismo disco que los datos en vivo. Un compromiso total de la cuenta o un fallo de hardware se lleva ambos.
  • Claves de cifrado almacenadas junto a los respaldos cifrados. Si un atacante consigue ambos, el cifrado no ayuda.
  • Nunca probar una restauración. Descubrirás el paso que falta durante el incidente real.
  • Sobreingeniería. Snapshots diarios de una imagen de sistema operativo que podrías reconstruir en 20 minutos malgastan almacenamiento y dinero.

Preguntas frecuentes

¿Necesito respaldos si mi proveedor de hosting ya tiene redundancia?

La redundancia del proveedor protege frente a fallos de hardware, no frente a borrados accidentales, despliegues rotos, ransomware o una credencial filtrada. Sigues siendo responsable de tener una copia bajo tu control.

¿Qué periodo de retención es razonable para un SaaS pequeño?

Un mes es una base común para respaldos de bases de datos en un proyecto pequeño. Retenciones más largas están bien, pero la mayoría de incidentes se detectan en días y los costes de almacenamiento se acumulan.

¿Basta con el nivel gratuito para los respaldos?

A menudo sí — para una base de datos pequeña y un volumen de archivos modesto. Los niveles gratuitos de almacenamiento de objetos y un volcado diario pueden cubrir un proyecto en solitario con holgura. Vigila los límites de egress y peticiones a medida que el proyecto crezca.

¿Cómo sé que mi respaldo realmente funciona?

Restáuralo en otro lugar. Levanta una instancia de prueba, carga el volcado y confirma que la aplicación arranca. Hasta que no lo hayas hecho, tienes una esperanza, no un respaldo.


Un siguiente paso sensato

Si no haces nada más esta semana, haz esto: programa un volcado diario de la base de datos, escríbelo en un bucket de almacenamiento de objetos en una región distinta a la de tu aplicación y, una vez al mes, restáuralo en un entorno nuevo para confirmar que funciona. Ese único hábito cubre la mayoría de escenarios reales de pérdida para un proyecto en solitario, y cuesta menos que el café que te tomarías mientras te recuperas de no haberlo hecho.


Fuentes