Gitlab.com, concurrent de Github pour ceux qui ne connaîtraient pas, a été hors service du 31/01/2017 21h00 UTC au 01/02/2017 18h14 UTC. Pire : toutes les données du 31/01/2017 entre 17h20 et 23h25 UTC ont été définitivement perdues, comme quoi ça n’arrive pas qu’à Zeste de Savoir. Si dans le cas de notre association c’était chiant mais n’a pas provoqué de drame, on parle là d’un gros fournisseur de service utilisé par des entreprises, qui parfois paient pour avoir un support.
Pourtant les gars ne sont pas des amateurs, mais sont des être humains. Ils sont sujets aux erreurs, surtout sous l’effet de la routine et du stress. Jugez plutôt, si on regarde le rapport d’incidents :
Un employé s’est planté de serveur, et a supprimé la copie fonctionnelle de la base de prod. Oups. Que faire ?
- C’est pas grave, il y avait des snapshots LVM automatiques. Mais non, parce qu’ils n’étaient pris que toutes les 24 heures (heureusement il y en avait un manuel de « seulement » 6 heures plus tôt). Et 24 heures de pertes pour ce genre de données, c’est trop.
- Mais c’est pas grave, il y avait aussi les backups normaux. Mais en fait non : ils étaient HS et personne ne s’en était rendu compte.
- Mais c’est pas grave, parce qu’ils y avait des dumps SQL. Sauf que les dumps échouaient silencieusement à cause d’une erreur de configuration que personne n’a vu.
- Mais c’est pas grave, tout ça tourne sur du Azure, avec des snapshots des disques NFS. Sauf pour les disques des SGBD, vérification faite.
- Mais c’est pas grave, parce que tout ça est sauvegardé sur du Amazon S3. Dont le compte est vide, en réalité.
5 systèmes de sauvegarde / tolérance de pannes ; les 5 étaient HS simultanément. Joli score non ?
Si vous avez eu une journée de merde, pensez aux admin sys de chez GitLab, et souriez
PS : je salue quand même la transparence de la boite, qui n’a pas cherché à planquer le problème, mais qui a communiqué de bout en bout sur les opérations en cours à l’aide d’à peu près tous les outils possibles.
En résumé :
- Faites des sauvegardes.
- Vérifiez vos sauvegardes.
- Le SaaS c’est pratique, mais nous rends dépendants des erreurs des autres.
- La virtualisation c’est pratique, mais ne permet pas de lancer un outil de récupération des données sur le disque en cas de suppression malencontreuse (en admettant que ça fonctionne avec les > 300 Go de BDD PostgreSQL).