Sin backups no hay empresa

Los backups son algo que poca gente le presta atención pero que cuando se necesitan pueden paralizar a empresas enteras. O incluso llevar a la banca rota.
¿Exagero? La verdad es que no. En 2021 un incendio en uno de los Data Centers del operador Cloud OVH (el mayor proveedor Cloud Europeo), provocó que muchas empresas vieran afectada su operativa y que en muchos casos perdieran parte de su infraestructura. Entre ellas sus datos.
Un caso que conocí más o menos de cerca fue el de una empresa que se dedicaba a realizar inversiones en bolsa, brokers, trading de acciones, etc. Para esto utilizaban una plataforma web con sus usuarios y toda su infraestructura, código que tenían auto alojado en un repositorio y bases de datos estaban en el Data Center quemado.
Esta empresa no tenía backups, perdieron tanto el código -aunque mas o menos pudieron reestablecer con las copias locales de sus devs- como las bases de datos. Nada de esto tenía backup. A las pocas semanas para esta empresa fue imposible volver a ponerse en marcha y se dio en banca rota. Facturaban 3 millones de euros al año...
No fueron los únicos, OVH se llevó decenas de demandas de muchas empresas por pérdida de datos. Cientos de emprendedores y de personas que alojaban pequeños negocios, tiendas online, servidores de videojuegos, blogs y un largo etc. También se vieron afectados por esto.

¿Cómo tener un buen sistema de backup?
Bueno, como casi todo depende. Tanto de tu negocio, como de la criticidad de tus datos. No es lo mismo tener que hacer backup de datos, por ejemplo, de un banco que de un blog personal.
Así que empezaré desde lo más simple hasta casos que requieran un nivel crítico de backups. Así podrás escoger lo que más se adapte a ti.
👶 Básicos
- Primero identifica qué datos requieren tener copias de seguridad. Lo mas común es:
- Bases de datos.
- Repositorios de código.
- Gestores de contraseñas.
- Ficheros de configuración de aplicaciones críticas.
- Una vez identificados puedes empezar realizando una copia diaria de todo. Por ejemplo, si tienes una base de datos Postgres, puedes obtener mediante un script sencillo un dump completo de la base de datos y guardar este backup en un almacenamiento externo al servidor. Añade al script de backup a un cronjob y ya tendrás copias automáticas todos los días.
- Estes o no en Cloud, es recomendable que este almacenamiento donde estén los backups cumplan al menos una de estas dos condiciones:
- Este replicado en varias zonas de disponibilidad.
- Este en una región diferente a la del servidor de origen.
- Configura alertas para enterarte si tus backups han ido bien pero sobre todo para enterarte cuando han ido mal.
👨 Intermedios
- Crea un sistema completo de backup. Puedes utilizar herramientas propietarias u open source. Por ejemplo, en Helmcode empezamos en su día con scripts, sin embargo, el tener más clientes, más tipos de bases de datos, etc. Se empezó a complicar todo, así que re-aprovechamos dichos scripts y con esa base los hicimos mas agnósticos al cliente y los ejecutamos automáticamente desde Windmill.

- Esta misma herramienta nos permite visualizar cada parte del flujo de nuestro sistema y añadir un control de errores que en caso de que algo falle nos alertará por Slack. Si todo va correctamente, también nos informará por Slack.

- Insisto que tener un sistema de alertas es fundamental. No os hacéis una idea de la cantidad de veces que he escuchado "tenemos sistema de backup" y cuando vas a revisar lleva años sin hacerse un backup porque está fallando ese sistema. Algo simple como un mensaje en Slack es más que suficiente.

👨 Avanzado
- Utiliza las herramientas de tu proveedor. Snapshots, imágenes de disco, etc.
- Si tu cantidad de datos es alta -incluso si no lo es- empieza a aplicar políticas de rotado según tus necesidades para no pagar mucho por almacenamiento de los backups. Guarda solo las copias necesarias.
- Si lo necesitas piensa no solo en copias de seguridad completas sino en copias diferenciales o incluso en sistemas que te permitan replicar configuraciones tanto en el objeto original como en el backup.
- Si la criticidad de tus datos lo requieren, piensa en tener varias copias de seguridad replicadas en múltiples regiones, encriptadas y con un claro protocolo de restauración.
En resumen, los backups no son algo opcional. Son algo fundamental para ti y para tu empresa que te permitirá dormir mucho más tranquilo en caso de ataque o desastre. Y recuerda, estar en un Cloud no te excluye de esto, como ahora bien saben todos los afectados por el incendio de OVH.