promotion
La sauvegarde des données est un aspect essentiel de tout environnement DevOps, bien que les utilisateurs ne soient pas toujours conscients de l'importance de sauvegarder leurs dépôts et les données de leurs projets. On pense que le git est une sauvegarde en soi, cependant, on est loin de la vérité.
Plongeons dans la comparaison des différentes méthodes de sauvegarde de GitLab, ainsi que de leurs points forts et de leurs points faibles. Mais tout d'abord, voyons pourquoi les responsables de la sécurité et les experts DevSecOps peuvent considérer la nécessité d'une sauvegarde GitLab.
Pourquoi est-il essentiel de sauvegarder les données de GitLab ?
Combien de fois entends-tu parler d'attaques de ransomware, de vulnérabilités, de pannes et d'autres événements de défaillance qui peuvent entraîner la perte de données ? En fait, c'est déjà devenu notre réalité et chaque entreprise devrait savoir ce qu'il faut faire si un événement de défaillance se produit.
Malgré le fait que GitLab soit une plateforme DevSecOps alimentée par l'IA hautement sécurisée, ses clients doivent toujours penser à la protection et à la sauvegarde de leurs données critiques. Ce n'est pas seulement une dernière ligne contre les ransomwares, la sauvegarde permet également de minimiser, voire d'éliminer le temps d'arrêt pendant la panne, de répondre aux exigences légales et de conformité, et de remplir le modèle de responsabilité partagée au sein duquel le fournisseur de services prend soin des données importantes pour la pérennité de son infrastructure, et l'utilisateur est responsable de la protection de ses données GitLab.
Pour résumer, voici les principales raisons de sauvegarder ton écosystème GitLab :
- pour éliminer les pertes de données pendant les pannes et les attaques de ransomware.
- pour assurer la continuité des activités en cas de ces événements.
- pour répondre au modèle de responsabilité partagée.
- pour répondre aux réglementations légales et de conformité.
Méthodes de sauvegarde de GitLab
Quand il s'agit de Sauvegarde GitLab, les organisations essaient toujours de trouver le meilleur moyen de répondre à leurs exigences et à leurs attentes. Passons donc en revue les options sur lesquelles les leaders de la sécurité et les spécialistes DevSecOps arrêtent leurs yeux pour construire leur stratégie de protection des données GitLab.
Méthode # 1 – Utilitaire de sauvegarde et de restauration de GitLab
Nous avons déjà mentionné que GitLab accorde une grande importance à la sécurité. Ainsi, il fournit sa propre mesure de fiabilité pour aider ses utilisateurs avec les sauvegardes Gitlab. Pour cette raison, le fournisseur de services dispose de son propre utilitaire de sauvegarde et de restauration intégré – gitlab-rake.
Ces tâches Rake permettent de créer un fichier d'archive de toute l'instance GitLab d'un utilisateur, y compris la base de données, les référentiels, les fichiers de configuration et les pièces jointes. Cependant, tu dois garder à l'esprit que “GitLab ne sauvegarde pas les éléments qui ne sont pas stockés sur le système de fichiers”.
En fonction de la version de GitLab utilisée par ton organisation et de la façon dont tu as installé GitLab, tu devras prendre la commande appropriée :
- Si tu as installé GitLab en utilisant le paquetage Omnibus, tu devras choisir entre deux commandes. sudo gitlab-backup créer (lorsqu'il s'agit de la version de GitLab 12.2 ou ultérieure) ou gitlab-rake gitlab:bakup:crete (si tu utilises la version 12.1 ou une version antérieure de GitLab).
- Si tu as installé GitLab à partir des sources, ton option est la commande : sudo -u git -H exec rake gitlab:backup:crete RAILS_ENV=production .
- Si tu exécutes le fournisseur de services depuis le conteneur Docker, alors tu peux démarrer ta sauvegarde depuis l'hôte : docker exec -t <nom du conteneur> ; gitlab-backup create (pour GitLab version 12.2 et suivantes) ou docker exec -t <nom du conteneur> ; gitlab-rake gitlab:backup:create (pour GitLab 12.1 et les versions antérieures).
Ce qui est bien GitLab a préparé une documentation détaillée sur la façon de sauvegarder ton environnement GitLab. Cependant, il te faut de l'attention et du temps pour lire tous les conseils et créer ton plan de sauvegarde.
Méthode # 2 – Clonage du dépôt GitLab
Le clonage est-il la même chose qu'une sauvegarde ? En fait, non… bien que certains DevOps considèrent cette opération comme un substitut aux sauvegardes, car en clonant un référentiel, tu crées une copie locale, entièrement fonctionnelle. Alors, à quoi ressemble réellement le processus de clonage d'un référentiel ? Dans ce cas, tu télécharges les fichiers du dépôt distant sur ton ordinateur et tu crées une connexion entre eux. Cependant, tu ne dois pas oublier que cette connexion nécessitera l'ajout d'informations d'identification. Tu as donc plusieurs façons de cloner ton dépôt GitLab :
- Cloner avec SSH en exécutant la commande git clone. git@gitlab.com:gitlab-tests/sample-project.git si tu veux t'authentifier une seule fois.
- Cloner avec HTTPS en exécutant git clone si tu veux t'authentifier à chaque fois que tu fais une opération entre ton ordinateur et l'instance de GitLab.
- Cloner avec HTTPS en utilisant des jetons d'accès personnel, de déploiement, d'accès au projet ou d'accès au groupe si tu veux utiliser l'authentification à deux facteurs ou si tu veux avoir un ensemble d'informations d'identification récupérables et spécifiques à un ou plusieurs dépôts. Voici la commande prévue à cet effet : git clone .
Méthode # 3 Transfert de données du système de fichiers ou snapshot
Tu peux envisager d'utiliser l'option de l'instantané ou du transfert de données du système de fichiers si ton instance GitLab contient trop de données du dépôt Git, ce qui rend le script de sauvegarde GitLab beaucoup plus lent, ou si ton instance GitLab a de nombreux projets forkés et que tu ne veux pas dupliquer tes données GitLab.
Bien que tu doives te rappeler que le transfert de données du système de fichiers ou l'instantané n'est pas une stratégie de sauvegarde, il s'agit simplement d'une image de l'ensemble de ton instance GitLab à un moment donné. De plus, le système d'exploitation de la source doit être similaire à celui de la destination, ce qui rend ces méthodes de migration d'un système d'exploitation à un autre presque impossibles.
Méthode # 4 Sauvegarde GitLab DIY
Une autre option consiste à s'appuyer sur des scripts auto-développés et des solutions de bricolage. Ces méthodes impliquent la création de scripts personnalisés et peuvent sembler rentables du premier côté, mais elles présentent certaines limites :
- Extensibilité limitée : Les solutions de bricolage peuvent avoir du mal à gérer les besoins de sauvegarde des environnements GitLab vastes et complexes, ce qui entraîne des problèmes de performance.
- Complexité et maintenance : Le développement et la maintenance de scripts personnalisés peuvent prendre beaucoup de temps et de ressources, car ils nécessitent des mises à jour et un débogage permanents.
- Intégrité et cohérence des données : Les solutions bricolées peuvent rencontrer des difficultés pour assurer des sauvegardes cohérentes et fiables, ce qui augmente le risque de perte ou de corruption des données.
Méthode # 5 Sauvegarde avec PgBouncer
Une autre option pour sauvegarder ton instance GitLab consiste à utiliser une connexion PgBouncer. Bien que GitLab ne conseille pas cette méthode comme solution de sauvegarde fiable, car elle peut provoquer une panne de ton instance GitLab et tu obtiendras le message d'erreur : ActiveRecord::StatementInvalid : PG::UndefinedTable .
Pour l'éviter, GitLab indique que les tâches de sauvegarde et de restauration “doivent contourner PgBouncer et se connecter directement au nœud de base de données primaire PostgreSQL.” Ou bien, tu peux utiliser des variables d'environnement pour remplacer les paramètres de ta base de données une fois que tu as effectué ta sauvegarde.
Méthode # 6 Outils de sauvegarde tiers
Tu peux opter pour des outils de sauvegarde tiers, comme GitProtect.io, qui minimiseront à coup sûr le temps et les nerfs de ton équipe DevOps et les tiens sur les performances des sauvegardes. De plus, l'utilisation d'un logiciel professionnel GitLab Backup & ; Recovery apporte non seulement l'automatisation mais te donne également un ensemble de fonctionnalités visant à protéger tes données GitLab, à réduire tes responsabilités dans le cadre du modèle de responsabilité partagée que les fournisseurs de services suivent habituellement, et à te conformer aux audits de sécurité SOC 2 Type II et ISO 27001 (une sauvegarde DevOps fiable est une condition nécessaire si un audit de sécurité se trouve derrière le coin pour ton équipe !).
Ainsi, un fournisseur de sauvegarde te garantira des sauvegardes immuables avec la possibilité de les conserver sur quelques instances de stockage (à la fois locales et dans le cloud) et de respecter la règle de sauvegarde 3-2-1, la protection contre les ransomwares, une rétention illimitée et des possibilités de surveillance sur la façon dont tes sauvegardes GitLab ont été effectuées. Ainsi, les outils de sauvegarde tiers fournissent :
- Une configuration et une gestion simplifiées : Les outils tiers offrent des interfaces intuitives et des flux de travail rationalisés, ce qui facilite la configuration et la gestion des sauvegardes sans connaissances techniques approfondies.
- Évolutivité et performance : Les outils de sauvegarde dédiés sont conçus pour gérer les environnements GitLab à grande échelle, garantissant des opérations de sauvegarde et de restauration efficaces, même dans des scénarios complexes.
- Intégrité et sécurité des données : En mettant en place des stratégies de sauvegarde solides, les outils tiers minimisent le risque de perte, de corruption ou d'accès non autorisé aux données, offrant ainsi une meilleure protection des données.
- Automatisation et planification : Les outils de sauvegarde offrent souvent des options de planification flexibles, permettant des sauvegardes automatisées à intervalles réguliers, réduisant la charge des administrateurs et garantissant la cohérence des données.
- Technologies de restauration granulaire et de reprise après sinistre : Les logiciels de sauvegarde professionnels garantissent un flux de travail ininterrompu et la continuité des activités en assurant une récupération rapide de tes données après un événement de défaillance. Ainsi, ton équipe DevOps peut continuer à coder pendant que ton équipe DR s'occupe de la catastrophe survenue.
Et tu t'assures que des outils comme GitProtect te permettent de sauvegarder nativement toutes les données cruciales de GitLab – les référentiels, les métadonnées (à la fois SaaS et autogérées) ainsi que les groupes et sous-groupes.
À emporter
Il est important de choisir une méthode de sauvegarde qui s'aligne sur tes exigences en matière d'infrastructure, de droit, de conformité et de protection des données. Bien que les scripts de sauvegarde aient leurs mérites, ils n'offrent pas toujours le niveau optimal d'évolutivité, de simplicité et d'intégrité des données requis pour la sauvegarde et la protection des données de GitLab. Des outils de sauvegarde tiers comme GitProtect.io offrent des fonctionnalités spécialisées et une assistance dédiée, répondant aux limites des approches alternatives.
En s'appuyant sur de tels outils, les organisations peuvent rationaliser leurs processus de sauvegarde, assurer la fiabilité des données et laisser les DevOps se concentrer davantage sur leurs tâches de développement essentielles.
Tu pourrais aussi lire :
Méthodes de sauvegarde de Bitbucket:
___________________________________________________________________________________________
Si tu aimes ce site Web et que tu utilises l'annuaire complet des fournisseurs de services (plus de 6 500), tu peux obtenir un accès illimité, y compris la série exclusive de rapports approfondis sur les directeurs, en souscrivant à un abonnement Premium.
- Individuel 5€ par mois ou 50€ par an. S'inscrire
- Multi-utilisateurs, entreprises & ; comptes de bibliothèque disponibles sur demande
Renseignements sur la cybersécurité : Capturé Organisé & ; Accessible