Un backup es una copia de seguridad o copia de respaldo. Es una copia de los ficheros y datos originales de una aplicación, página web o sistema de información, realizada con objeto de poderlos recuperar en caso de pérdida.
El proceso de recuperar o instaurar los datos de la copia de seguridad se denomina restauración. Ambos (copiado y restauración) van íntimamente relacionados.
Las copias de seguridad deben almacenarse físicamente en algún medio que permita su fácil y rápida restauración, como un disco duro, discos ópticos, almacenamiento en la nube, memorias flash, etc.
En el caso de las páginas web y aplicaciones online, se hace necesario hacer una copia tanto de los ficheros que la componen como de la información almacenada en la base de datos.
A menudo, y con el objeto de ahorrar espacio y mejorar la seguridad, se usan algoritmos de compresión y de cifrado a la hora de realizar las copias, para que ocupen menos espacio y asegurar que sólo las personas autorizadas pueden acceder a su contenido.
Al plantearse la realización de copias de seguridad hay que cuestionarse en que medio almacenarlas, con cuanta periodicidad realizarlas, tipos de backups a emplear, cuantas copias antiguas mantener almacenadas, si emplear cifrado, quien será la persona encargada del proceso de copiado y restauración, etc. Todo estas cuestionen conformarán la política de backups.
Tipos de backups
Básicamente hoy en día se usan 2 tipos: la copia completa y la incremental.
La copia completa, como su nombre indica, consiste en realizar una copia total de los datos.
La copia incremental consiste en almacenar únicamente aquellos ficheros que hayan sido modificados o añadidos desde la copia anterior. Se usa por una cuestión de rendimiento y de ahorro de espacio.
Lo habitual es combinar ambas. Realizar una copia completa semanal, pongamos cada lunes. El resto de días se haría una copia incremental, guardando cada día los cambios registrados en ficheros y base de datos respecto a la copia del día anterior.
Almacenamiento de las copias
El mejor medio para almacenar las copias es aquel que nos permite un rápido acceso y restauración de las mismas, a la vez que nos garantiza que esas copias no se van a ver comprometidas ni podamos perderlas.
En el caso de una web o aplicación online, no es buena idea almacenar las copias en el mismo servidor, dado que si éste se estropea podemos perder las copias. Tampoco deberíamos alojarlas en otro servidor ubicado en el mismo data center, ya que si algo ocurriera en este, podríamos perder nuestra web y nuestra copia.
Así pues, una buena solución podría ser recurrir a servicios de almacenamiento en la nube como Dropbox, Google Drive, AWS S3… o vía FTP en algún otro servidor contratado con otro proveedor o ubicado físicamente en otra región.
Adicionalmente no estaría de más disponer de alguna copia local y almacenarla en algún disco externo de nuestra oficina.
Frecuencia de las copias
Depende del tipo de negocio o proyecto digital. Si tienes una página web que apenas se actualiza, podría bastar con una copia semanal.
Si se producen cambios cada día o cada pocos días, sería mejor establecer una frecuencia diaria.
Si se generan cambios cada pocas horas o minutos, deberías realizar varias copias diarias.
Desde que se pierde el sistema y la última copia realizada, podrían haberse producido cambios. Estos se perderían al no estar reflejados en la última copia disponible. Si tu negocio no puede permitirse perder estos datos, tienes como opción crear un sistema redundante o espejo, un duplicado de tu aplicación en vivo en otro servidor que contenga una copia exacta en tiempo real. De esta manera si se cae el servidor principal puedes poner en funcionamiento el secundario, mientras tratas de reponer el principal.
Software de backup
Una buena filosofía en una política de backup es automatizar lo máximo posible tanto la realización de las copias como su restauración, para evitar errores humanos y por eficacia.
Para ello hay multitud de software encargado de programar y realizar las copias, permitiendo también seleccionar una en cuestión para su restauración.
Existen aplicaciones de escritorio para realizar copias en local o remoto. Incluso extensiones y aplicaciones que se ejecutan directamente en tu servidor para realizar las copias directamente desde el mismo.
Muchos de los proveedores de alojamiento web ofrecen en sus opciones y paneles de cliente, o bien del servidor web, opciones para realizar y automatizar este tipo de tareas.