Comment ByteSync exploite le Cloud & rsync pour synchroniser avec rapidité et simplicité

Publié le 29 décembre 2021 par Paul Fresquet
Dernière mise à jour le 23 avril 2022



Comment ByteSync exploite le Cloud & rsync pour synchroniser avec rapidité et simplicité

A propos de ByteSync

Cet article a été publié initialement sur https://www.pow-software.com/fr/blog/bytesync-cloud-rsync-synchroniser-rapidite-simplicite/ le 29 décembre 2021.

Nous finalisons actuellement le développement de ByteSync, notre solution de sauvegarde et de synchronisation de données à distance. Sécurisée, performante, légère, facile à déployer, elle trouvera facilement sa place dans la palette d’outils dont disposent les techniciens des systèmes d’informations.
ByteSync a la particularité de reposer sur le Cloud et sur la technologie rsync pour apporter simplicité d’utilisation et efficacité aux utilisateurs : il apporte rsync sur Internet.
Le logiciel sera disponible publiquement en 2022 en version gratuite et en version payante.

Avant de commencer, précisons tout de suite un point important : ByteSync n’est pas une solution de sauvegarde de données dans le Cloud. ByteSync utilise le Cloud pour mettre en relation des logiciels clients via Internet et pour leur permettre de synchroniser des données distantes.
Autrement dit, si vous devez sauvegarder des données entre deux ordinateurs situés sur des réseaux différents, vous pourrez le faire avec ByteSync, mais si vous souhaitez sauvegarder des données dans un Cloud (Google Drive, OneDrive, DropBox, etc.), il vous faudra alors utiliser un autre logiciel.

ByteSync utilise le Cloud pour synchroniser les fichiers à distance

ByteSync a un fonctionnement général comparable à celui des solutions de sauvegarde de fichiers à distance qui utilisent des protocoles tels que FTP ou SFTP. Il peut d’ailleurs les compléter ou les remplacer.
Il peut être utilisé pour contrôler rapidement l’intégrité d’une ou plusieurs copies de sauvegarde et il excelle dans la resynchronisation de données volumineuses entre des ordinateurs et des réseaux distants. Une de ses particularités est qu’il permet d’associer de 2 à 5 participants dans une même session de synchronisation.

Des innovations grâce au Cloud et à rsync

Si ByteSync offre une simplicité d’utilisation, une rapidité d’analyse, et des performances de synchronisation si élevées, c’est parce que les fonctionnalités de la solution exploitent la puissance du Cloud et de rsync.
Nous allons voir plus bas, au travers de 4 avantages spécifiques, certaines des possibilités offertes par ByteSync grâce à l’utilisation combinée de ces technologies :

  • Déploiement de la solution
    La mise en œuvre du logiciel est très simple. Après avoir téléchargé le logiciel client, proposé en version installable et en version portable, il suffit de l’installer ou de le décompresser puis de l’exécuter. Comme ByteSync communique avec les autres clients via le Cloud en utilisant le protocole HTTPS, il est prêt à l’emploi. La plupart du temps, il n’y aura aucun réglage réseau à effectuer et aucun autre composant à déployer pour que le logiciel fonctionne correctement.
  • Sessions sécurisées
    Pour synchroniser des fichiers entre des logiciels clients, il suffit de les connecter entre eux grâce à un système de sessions sécurisées et authentifiées. Une session d’échange de données peut réunir jusqu’à 5 membres.
    Le logiciel affiche à chaque participant qui sont les autres membres de la session, quelles sont les données qu’ils ont sélectionnées et quelle est la progression des traitements d’analyse et de synchronisation.
    Afin de garantir la sécurité et la confidentialité, les données échangées entre les logiciels clients d’une même session sont cryptées avec un chiffrement de bout en bout (E2EE).
Avantages Clés que ByteSync propose grâce à son utilisation du Cloud et de rsync
  • Analyse en 2 temps des données
    La phase d’analyse comprend l’inventaire des données et la comparaison de ces inventaires pour déterminer ce qui est similaire et ce qui est différent.
    ByteSync exploite intelligemment le Cloud et rsync pour effectuer ces opérations en utilisant le moins de ressources et le moins de temps possible, et tout en obtenant le maximum d’informations utiles pour guider ensuite les utilisateurs dans leurs choix. Pour cela, les inventaires sont établis de façon itérative et dynamique. Ils contiennent les signatures rsync des fichiers en doublon pour déterminer précisément les différences et accélérer ensuite la phase de synchronisation.
  • Synchronisation et resynchronisation
    Durant la phase de synchronisation, les fichiers sont échangés entre les membres de la session selon les choix effectués par les utilisateurs. Plus les différences à corriger sont nombreuses et plus le volume de données à transférer est important.
    ByteSync tire parti du Cloud et de rsync pour diminuer la quantité de données à transférer et pour fiabiliser les transferts. Les fichiers sont découpés en blocs pour faciliter la reprise sur erreur puis ils sont chiffrés avant d’être envoyés. Ils sont mis en tampon sur le serveur pour qu’un même bloc puisse être téléchargé par les différents destinataires du fichier. Lorsqu’un fichier déjà présent chez plusieurs clients est synchronisé, l’utilisation de rsync permet de ne transférer que les parties qui diffèrent.

Quelques définitions

Avant de décrire plus précisément ces quatre innovations propres à ByteSync, voici quelques définitions brèves de certains termes employés dans ce billet.

Cloud
C’est une notion qui est apparue il y a plusieurs années et que vous connaissez certainement si vous êtes un technicien IT ou que vous avez réussi à lire ce billet jusqu’ici. Cloud, ou Cloud Computing, en français « Informatique en nuage » correspond à des services informatiques hébergés par un fournisseur de services spécialisés et accessibles via Internet.
La partie serveur de ByteSync, qui effectue l’orchestration et qui sert de zone de dépôt temporaire lors du transfert des fichiers, est hébergée sur Azure, la plateforme Cloud de Microsoft.

rsync
rsync est un logiciel libre de synchronisation de fichiers qui opère de manière unidirectionnelle et qui propose de nombreuses options possibles pour sauvegarder des données.
Une des particularités de rsync est qu’il utilise un algorithme dédié pour calculer des signatures numériques évoluées des fichiers, ce qui permet de déterminer efficacement les parties qui diffèrent entre 2 doublons. Grâce à ce système, lors de la resynchronisation, un volume de données minimal contenant uniquement les différences transitera entre la source et la destination et permettra de reconstituer les données sur la destination. C’est cet ensemble fonctionnel de rsync qui est implémenté dans ByteSync.

La Bêta Ouverte de ByteSync est lancée,
Vous pouvez y participer gratuitement !

Participez à la phase de test final de l’application, aidez-nous à l’améliorer et recevez des codes de réduction pour bénéficier de la solution à un tarif réduit !
👉 Informez-vous sur la Bêta Ouverte de ByteSync sur notre blog.

BÊTA OUVERTE

GRATUIT

ByteSync

5 instances simultanées
1 To de synchronization par mois
Toutes les fonctionnalités
Codes de réduction Accès Anticipé

Sauvegarde ou synchronisation ?
Habituellement, on considère que sauvegarder signifie copier des fichiers d’une source A vers une destination B en conservant les données supprimées durant une période donnée. Il est possible de conserver des états intermédiaires des données.
Synchroniser signifie copier et supprimer des fichiers entre la source A et la destination B de façon à s’assurer que A et B ont le même ensemble de fichiers identiques à la fin du processus.
Dans l’esprit, ByteSync est plutôt un logiciel de synchronisation de données. Toutefois, comme l’utilisateur pourra choisir de conserver ou non les données supprimées, et comme il est possible de connecter jusqu’à 5 clients pour synchroniser des données de façon multidirectionnelle, il peut également être considéré comme un logiciel de sauvegarde.

HTTPS et Chiffrement de bout en bout (E2EE)
HTTPS est l’un des protocoles sécurisés de communication les plus utilisés sur Internet et dans le monde du Cloud. Il utilise des certificats numériques pour garantir la confidentialité et l’intégrité des données échangées entre un utilisateur et un serveur.
Le Chiffrement de bout en bout, ou End-to-end encryption (E2EE), est un système de communication qui permet à des utilisateurs uniquement de confiance d’échanger des données chiffrées.
ByteSync exploite HTTPS et E2EE. Ainsi, les clients communiquent entre eux par le biais du serveur, de façon bidirectionnelle, sans que ni le serveur, ni aucune autre entité non autorisée, ne puisse lire ou modifier les messages échangés.

Avantage 1 : ByteSync, une solution facile à déployer

ByteSync est une solution logicielle dotée d’une architecture client-serveur dont la partie serveur est hébergée dans le Cloud. Chaque logiciel client établit lui-même une connexion sortante bidirectionnelle en HTTPS avec le serveur ByteSync.

Pour obtenir le logiciel client, il suffit de le télécharger depuis l’Espace Client. Deux versions seront proposées : une version « installateur », qui s’installe en quelques étapes seulement, et une version « portable », qui ne nécessite qu’une simple décompression.

Pour que ByteSync puisse fonctionner, le framework .NET 6 de Microsoft doit être installé au préalable sur la machine. Le téléchargement et l’installation sont habituellement rapides sur des postes et des réseaux informatiques modernes (environ 200 Mo).

Il n’y pas de service à installer ou à configurer et un seul logiciel est exécuté sur chaque machine. Il n’y a pas non plus de réglage propre au fonctionnement du logiciel à effectuer dans les pare-feux et proxies : le logiciel ne nécessite ni redirection, ni ouverture de ports entrants.
Sur les réseaux fortement sécurisés où les domaines non autorisés explicitement ne sont pas accessibles, il faudra autoriser les accès vers quelques serveurs Azure dont les noms de domaine seront indiqués dans la documentation. Seules des connexions HTTPS sortantes sont utilisées par le logiciel.

Ainsi, le déploiement est très simple et quelques minutes suffisent habituellement pour mettre en service ByteSync.

Les 4 étapes nécessaires pour synchroniser des données à distance avec ByteSync

Cela change la donne car c’est rarement le cas avec les solutions de sauvegarde. La plupart du temps, la mise en œuvre est plus complexe. Le déploiement de plusieurs composants logiciels et le paramétrage des équipements réseaux sont fréquemment requis. Il est souvent nécessaire de vérifier et de corriger plusieurs fois les réglages pour que la solution fonctionne correctement. Et même lorsque tout est bien réglé, il faut maintenir le fonctionnement et la sécurité du système avec des mises à jour des logiciels et des audits des règles réseaux et des paramètres.

Mais, supposons que vous ayez un besoin critique ou urgent d’effectuer un contrôle d’intégrité ou de synchroniser des données entre des ordinateurs ou des réseaux distants pour lesquels, soit aucune solution n’a été prévue, soit les solutions déployées sont trop lentes ou peu adaptées. Avec ByteSync, il vous suffira de quelques minutes seulement pour que le système soit pleinement opérationnel, et que l’analyse et la synchronisation des données puissent commencer.

Avantage 2 : ByteSync, des sessions sécurisées jusqu’à 5 clients

Une fois le déploiement effectué, il suffit de lancer le logiciel puis d’effectuer quelques manipulations pour créer ou rejoindre une session de synchronisation.
Dans ByteSync, une session peut être vue comme un salon sécurisé dans lequel vont se rejoindre les participants. Le créateur initie la session et les autres membres la rejoignent après s’être authentifiés. Chaque participant a une vision en temps réel des données sélectionnées et de la progression des opérations d’analyse et de synchronisation chez chacun des autres membres.
Une même session pourra réunir jusqu’à 5 clients qui pourront éventuellement sélectionner des données différentes pour les comparer et les synchroniser. Ainsi, des cas d’utilisation des très variés pourront être mis en œuvre, et ce avec beaucoup de souplesse.

Pour commencer, voici 3 exemples de synchronisation en un-à-un, avec 2 clients A et B :

  • Si chaque participant sélectionne un répertoire, il sera possible d’effectuer une synchronisation en miroir de A vers B. Il sera également possible d’effectuer une sauvegarde de A vers B si l’on indique qu’on conserve sur B les fichiers supprimés sur A.
  • Si chaque participant sélectionne un répertoire, il sera possible de synchroniser certains fichiers de A vers B et certains fichiers de B vers A.
  • Si les participants sélectionnent des répertoires ou des fichiers différents, il sera possible de contrôler quelles sont les données présentes à la fois sur A et sur B et de synchroniser les différences avec simplicité.

Dès que plus 3 membres ou plus prendront part à une session, il sera possible d’effectuer des synchronisations en étoile. Cela signifie qu’il sera possible de synchroniser des données de manière asymétrique, avec des membres qui seront à la fois source de données pour certains fichiers et destination des données pour d’autres fichiers.

Voici quelques exemples :

  • Avec 3 participants qui sélectionneront chacun un répertoire, il sera possible d’effectuer une synchronisation miroir de A vers B et C. Il sera également possible d’effectuer une sauvegarde de A vers B et C si l’on indique qu’on conserve sur B et C les fichiers qui seraient supprimés sur A.
  • Avec 4 participants, il sera possible de synchroniser une partie des données de A vers B, une partie des données de B vers C, une partie des données de C vers D et une partir des données de D version A.
  • Avec 5 participants qui sélectionneront des répertoires ou des fichiers différents, il sera possible de contrôler quelles données de A sont présentes sur B et C, et quelles données de A sont présentes sur D et E. Il sera alors possible de synchroniser une partie des données de A sur B et C et une autre partie sur D et E.
  • Avec 5 participants qui sélectionneront des répertoires ou des fichiers différents, il sera possible de contrôler et synchroniser les données entre un cluster (A et B) et un autre cluster (C, D et E).
Jusqu’à 5 clients peuvent synchroniser des données de façon sécurisée lors d’une session ByteSync

Évidemment, la sécurité est au cœur de ByteSync et de son système de sessions. Les connexions entre les clients et le serveur utilisent systématiquement le protocole HTTPS qui permet de chiffrer les communications sur le réseau Internet. De plus, les données échangées entre les membres d’une même session sont sécurisées par un chiffrement de bout en bout (E2EE) dédié. Ainsi, seuls les participants pourront lire ou écrire des données partagées. Ce système permet d’empêcher les intrusions par des utilisateurs ou des logiciels non autorisés (exemple : attaque de l’homme du milieu). Même le serveur ByteSync est dans l’incapacité de lire les données. Il ne peut que les transmettre de façon aveugle aux clients.

Voulez-vous recevoir les futures annonces ?

Abonnez-vous à la newsletter ByteSync !

Avantage 3 : ByteSync, une analyse des données rapide et précise

Habituellement, avant qu’un logiciel ne synchronise des fichiers, il commence par faire l’inventaire des données sur les sources et sur les destinations pour déterminer les différences à corriger. En fonction de l’arborescence des données et du protocole utilisé, cet inventaire peut nécessiter de nombreux échanges d’informations entre les points de terminaison impliqués. Par exemple, dans le cas d’une analyse via le protocole FTP, il y a à peu près autant de requêtes distantes qu’il y a de répertoires dans les dépôts de destination. Pour éviter d’avoir à effectuer cette analyse systématiquement, certains logiciels enregistrent la structure du dépôt distant. Cela permet de gagner du temps en évitant l’analyse initiale des données déportées, mais cela impose cependant qu’aucune modification ne soit effectuée sur les dépôt de destination entre les sauvegardes, ce qui n’est pas toujours applicable.

Quand l’analyse des dépôts se fait à distance, une autre problématique se pose. La plupart du temps, seules les dates de dernière modification et les tailles des fichiers sont inventoriées, et aucune information sur le contenu n’est enregistrée. De ce fait, seules les dates de dernières modifications et les tailles des fichiers pourront être comparées et on considèrera que ces fichiers sont identiques si ces propriétés sont identiques. Or, il n’y a aucune garantie de cela. Le contenu d’un des fichiers aurait pu être modifié par un logiciel, malveillant ou non, sans que sa date de dernière modification ni sa taille n’ait changé. Il est aussi possible que certains blocs du disque dur soient défectueux et que cela empêche la lecture du fichier. Bien entendu, en l’absence de menace connue ou de défaut matériel avéré, on peut considérer que des dernières dates de modification et des tailles identiques sont un gage suffisant d’unicité. Mais si jamais un doute subsiste, comment l’opérateur en charge de la sauvegarde peut-il en avoir l’assurance si le protocole ou le logiciel utilisé ne permet pas le contrôle du contenu ?

Capture d'écran d'une version de développement de ByteSync
Capture d’écran d’une version de développement de ByteSync

ByteSync utilise le Cloud et rsync pour effectuer une analyse des dépôts itérative et adaptative qui repose sur les principes suivants :

  • Chaque client fait l’inventaire lui-même de ses données. Les inventaires se font en parallèle sur chacune des machines clientes.
  • Les inventaires sont échangés entre les clients via les Cloud.
  • Quand un fichier n’est présent que sur un dépôt, il devra être transféré intégralement en cas de synchronisation, il n’est alors pas utile de calculer sa signature rsync.
  • Quand des fichiers sont en doublon et que leur date de dernière modification ou leur taille diffère, leur signature rsync sera calculée et les inventaires seront mis à jour.
  • Quand des fichiers sont en doublon et que leur date de dernière modification et leur taille sont égales, le comportement dépendra des paramètres d’analyse définis par les utilisateurs.
    En mode checksum, leur signature rsync sera calculée et les inventaires seront mis à jour.
    En mode standard, ils seront considérés comme identiques et la signature rsync ne sera pas calculée automatiquement. Mais dans ce mode, une fois que les inventaires seront terminés et affichés, les utilisateurs pourront demander au cas par cas que la signature rsync de certains fichiers soit calculée.

Le temps d’analyse est optimisé car les inventaires se font localement, en parallèle, et car les signatures rsync ne sont calculées qu’en fonction des besoins.

Grâce au Cloud, l’analyse des données de ByteSync est décentralisée et calcule des signatures rsync dynamiquement

Avantage 4 : ByteSync, des synchronisations et resynchronisations rapides

ByteSync exploite la souplesse du Cloud et la puissance de rsync pour optimiser les transferts de fichiers entre les membres de la session.
Pour transférer un fichier à un ou plusieurs destinataires, l’expéditeur le découpe en morceaux qui seront chacun chiffrés avec AES-256. Chaque morceau est ensuite envoyé et stocké sur le serveur ByteSync en attendant d’être téléchargé. Une fois que tous les destinataires ont téléchargé le morceau, celui-ci est supprimé du serveur ByteSync. Ce mode de fonctionnement présente au moins 3 avantages :

  • En cas d’échec du téléversement ou du téléchargement d’un morceau, il suffit de retenter l’opération pour ce morceau uniquement et non pas pour le fichier intégral.
  • Si un fichier a plusieurs destinataires, il n’est téléversé par l’expéditeur qu’une seule fois. Chaque destinataire télécharge ensuite les mêmes morceaux.
  • Les morceaux stockés sur le serveur sont systématiquement chiffrés avec le système de chiffrement de bout en bout de la session. Ils ne sont donc lisibles et exploitables que par les membres de la session. Les morceaux de fichiers sont supprimés du serveur dès qu’ils ont été téléchargés par les destinataires.

Si le fichier à transférer est présent chez plusieurs clients, la technologie rsync va entrer en jeu pour optimiser la resynchronisation. Grâce aux signatures rsync calculées lors de la phase d’analyse, ByteSync va déterminer quelles sont les parties à transférer pour reconstituer le fichier chez les destinataires. Ce système est particulièrement performant dès que les copies d’un fichier volumineux ne diffèrent que de façon mineure. Au lieu de retransférer intégralement tout le contenu du fichier, seules des parties minimales contenant les différences seront envoyées par l’expéditeur aux destinataires.

Pour finir, et pour faire suite à ce qui a été évoqué dans le chapitre précédent consacré à l’analyse des données, la synchronisation peut être bidirectionnelle, voire multidirectionnelle quand la session comprend 3 membres ou plus.

Présentation de la Zone Tampon Sécurisée de dépôt des données échangées lors de la synchronisation ByteSync

Une solution de synchronisation des données à distance efficace

La solution fait fonctionner rsync sur Internet et elle va plus loin. Nous avons vu dans ce billet quatre spécificités majeures de ByteSync, obtenues avec l’utilisation du Cloud, de rsync ou de l’exploitation conjointe des deux.

Le déploiement aisé de la solution permettra aux techniciens IT de la mettre en œuvre très rapidement, ce qui sera un avantage pour un usage régulier comme pour un besoin ponctuel et ciblé. Son système de session moderne et sécurisé facilitera la connexion des utilisateurs qui, grâce à l’apport de son moteur d’analyse innovant, disposeront d’informations pertinentes en un temps minimal. Une fois les choix de synchronisation effectués, les transferts de données seront effectués de façon optimisée grâce à la mise en mémoire tampon sur le serveur et à la technologie de resynchronisation de rsync.

Tout cela fait de ByteSync une solution unique sur le marché de la sauvegarde des données. Mais la liste des avantages des ByteSync ne s’arrête pas là. Le logiciel fourmillera d’autres fonctionnalités et particularités destinées à le rendre simple, rapide et léger. Notre objectif est d’en faire l’une des meilleures solutions de sauvegarde et de synchronisation.

Comme je l’ai indiqué au début de l’article, le logiciel est toujours en cours de développement. Dans les prochaines semaines, nous confirmerons quels seront les systèmes d’exploitation compatibles. Notre objectif est que ByteSync puisse fonctionner de manière interopérable sur Windows, Linux et Mac afin de permettre à chacun de pouvoir l’utiliser sur ses environnements de production et de sauvegarde. Par ailleurs, nous communiquerons également les modalités du programme Bêta qui démarrera au début de l’année 2022.

Connectez-vous avec ByteSync !

Suivez-nous sur Twitter et LinkedIn pour suivre les sorties de version et les actualités de ByteSync.