Lo más preciado de un desarrollo siempre es el código: Si se trata de código hecho por desarrolladores, hay muchas horas invertidas; si se trata de configuraciones como código, supone la forma de reconstruir un sistema desde un punto catastrófico. Por ello es necesario tenerlo a buen recaudo.
Uno de los aspectos que voy dejando de lado en mis artículos es el tema de los backups; suele bastar con ejecutar algún comando o script en una tarea tipo cron. Si el servicio mongodb se encuentra en docker, a veces queda inaccesible fuera de docker y hay que dockerizar el backup.
Es un hecho inmutable que los desastres con nuestros datos ocurren; da igual lo cuidadosos que seamos, o si el servicio se autoreplica. En algún momento puede perderse información por un fallo imprevisto, o puede que sea necesario restablecer un punto conocido, para buscar errores o para cumplir imperativos legales.
Una de las funcionalidades mas implementadas en los sistemas de ficheros de nueva generación es la capacidad de hacer snapshots point-in-time. Sin embargo, no tenemos que renunciar a la estabilidad de los sistemas de ficheros tradicionales como ext4; otras veces no es posible por requisitos del servicio que debe usarlo.