Gladys Assistant v4.8.6, avec un nouvel algorithme de sauvegardes Gladys Plus!

Salut à tous !

Je suis content de lancer aujourd’hui Gladys Assistant v4.8.6, une mise à jour dédié aux sauvegardes Gladys Plus :slight_smile: ( Toujours à 59,99€ par an, n’hésitez pas!! )

Comme c’est un sujet passionnant, je voulais vous faire un petit post un peu plus technique pour vous expliquer comment les sauvegardes fonctionnent désormais.

Pour faire un récapitulatif en 4 points:

  • Les sauvegardes sont désormais faites entre minuit et 2h du matin heure locale de votre instance, l’heure est choisie aléatoirement chaque jour afin d’éviter de surcharger l’API Gladys Plus, car vous êtes désormais 60 à uploader chaque jour vos sauvegardes, et je m’attends à ce que ce chiffre augmente significativement dans les prochains mois.
  • Les sauvegardes sont uploadée en chunk (en petit bout de 20Mo), et non plus en un seul bloc, afin de ne pas surcharger la RAM de vos instances, et de pouvoir re-essayer chaque petit bout en cas d’échec
  • Les sauvegardes sont uploadée directement via l’API du stockage objet de mon hébergeur, et non plus proxifié via le backend Gladys Plus. Ce qui permet de soulager le backend, et libérer de la bande passante entrante.
  • Il est désormais possible de voir dans Gladys l’état d’une sauvegarde en cours et passé, avec un pourcentage de progression, et en cas d’échec, le message d’erreur.

Maintenant, 2 beaux schéma :smiley:

Au niveau de l’architecture serveur, ça ressemble désormais à ça:

L’upload est fait via des URL signée, et non plus via une proxyfication backend comme c’était fait avant.

Au niveau du processus d’upload, j’ai fais un diagramme pour illustrer le nouvel algorithme d’upload :

J’espère que c’est très clair, n’hésitez pas si vous avez des question à les mettre en commentaires :wink:

Je faisais ce post très transparent pour montrer aussi le « dessous » d’un développement, et que derrière des développements « mineurs » (tout ça, c’est de la stabilité, il n’y a pas de nouvelle fonctionnalités), il peut y avoir des grosses réflexions et du temps passés en terme de spec + de développement + de testing.

Personnellement, j’adore ces développements « infrastructures » qui sont très proche de ce que je fais pour mes clients en freelance à côté de Gladys :slight_smile:

Le CHANGELOG complet est disponible ici .

Comment mettre à jour ?

Si vous avez installé Gladys avec l’image Raspberry Pi OS officielle, vos instances se mettront à jour automatiquement dans les heures à venir. Cela peut prendre jusqu’à 24h, pas de panique.

Si vous avez installé Gladys avec Docker, vérifiez que vous utilisez bien Watchtower (Voir la documentation )

7 Likes

Autant dire que je capte que dalle… Mais je salue le boulot !! :ok_hand::ok_hand:

4 Likes

Génial, merci :slight_smile:
J’allais commencer à écrire « mais comme tu fais tout ça en backend, quelle logique ? », pendant que je lisais l’article. Mais tu as eu la très bonne idée de très bien expliquer avec des schémas.

Merci de prendre le soin de documenter tout ça, pour toujours plus de transparence et d’intérêt à suivre le développement Gladys !

2 Likes

Pour l’instant les instances ont l’air de se mettre à jour tranquillement et je vois des sauvegardes passer, tout à l’air de bien se passer !

J’ai juste vu une sauvegarde en échec chez @Mastho, tu peux aller voir dans « Paramètres », « Tâches » et voir ce qui s’est mal passé ? :slight_smile:

Salut @pierre-gilles,

Super boulot ce nouveau processus de sauvegarde !

Voici l’erreur :

Merci @Mastho, je pense savoir ce qui s’est passé ! :slight_smile:

Je corrige ça !

1 Like

Je pense que j’ai trouvé, j’ai corrigé dans une PR :

Je merge ça au plus vite et je déploie une version :slight_smile:

1 Like

Bravo pour ce nouveau système, très agréable de pouvoir suivre l’évolution de la sauvegarde. Juste une petite chose à revoir peut-être : l’arrondi du % dans la vue des Tâches, on se retrouve régulièrement avec des xx.46666666667 etc. rien de méchant !!^^

Je pensais que tu avais fait la mise à jour pour le nombre de sauvegardes mais visiblement non, j’en ai toujours autant ^^

Pour info également (je ne pense pas qu’on puisse y faire grand chose) :
Au début du backup, la copie de la base de donnée c’est bien faite dans le dossier Backup. Dans les tâches je suis donc passé à 10% assez rapidement (2 minutes me semble-t-il) puis est resté bloqué à ce stade bien 10 minute. J’ai donc observé les logs et j’ai remarqué qu’une de mes caméras était HS depuis quelques jours, celle-ci fait donc des erreurs de poll toutes les 10s. J’ai donc passé cette dernière à un poll de 1 minute (idée de feature au passage : pouvoir désactiver le poll d’une caméra sans avoir à la supprimer ^^) et la sauvegarde est repartie … et s’est terminée tranquillement … l’erreur serait elle plus lourde à gérer que l’enregistrement de l’image ?? Etonnant !! Ou coïncidence ?

Effectivement, j’ai corrigé ça dans la PR de fix ! :slight_smile:

En fait les 3 premières étapes (sqlite3 backup + gzip + chiffrement) sont des étapes où je n’ai pas de retour d’avancements, donc c’est des blocs de 10% dans la progression de la sauvegarde.

0 → 10% = sauvegarde sqlite
10% → 20% => gzip
20% → 30% => openssl
30% → 100% => Upload

Je sais que c’est frustrant les progress barre ou c’est pas linéaire, mais pour le coup j’ai pas trop le choix ici, je sais quand ces commandes commencent/finissent, mais j’ai rien entre les deux :smiley:

Mmm, soit coïncidence, soit bug, soit le websocket qui avait sauté et qui est revenu ce qui pourrait donner cette impression dans l’interface que c’était stoppé puis revenu

1 Like

Par rapport à ce sujet, je viens de le faire ce matin :slight_smile:

1 Like

Gladys Assistant v4.8.7 est déployé avec les correctifs :white_check_mark:

5 Likes

Salut à tous !

Je reviens vers vous, 5 jours après le déploiement, pour vous montrer l’impact de ce développement sur la bande passante utilisée côté backend Gladys Plus:

L’impact est net, en arrêtant de faire passer tous les upload par le backend, l’utilisation de la bande passante est en décroissance, et surtout il n’y a plus de « pic » d’utilisations de bande passante.

Sur ce graphique à 14 jours on ne voit pas très bien, mais sur un graphique à 1h, on parle de pic de network a 150/200mb/s facilement, ce qui pouvait avoir un impact sur les autres utilisateurs utilisant Gladys Plus au même moment.

Ce développement apporte donc de la stabilité sur le long terme, et surtout va permettre à Gladys Plus d’accueillir des centaines de nouveaux utilisateurs sans problèmes :wink:

6 Likes

Attends je ne suis pas encore là :smiley:

1 Like

:+1: Bon boulot …

1 Like

Regarde bien en zoomant, à chaque pic il y a écrit @Terdious @Terdious @Terdious :rofl::rofl:

3 Likes

Je crois que @lmilcent m’a largement dépassé :sweat_smile:

En effet @pierre-gilles la difference est flagrante !! Good news ^^

@VonOx, je savais bien que la fibre c’etait surfait :wink::rofl:

2 Likes

Laisse tomber j’ai 2 releases de retard, Alexa qui m’engueule car « il doit y’avoir un problème avec mon routeur ».

Mais bon demain si tout va bien ça fuse

1 Like

Presque 5go localement :sweat_smile:
Mais faut que je clean tout ça, j’ai pas mal de données pas super utile.

2 Likes