GitHub ou Azure DevOps : choisir la bonne plateforme CI/CD pour l’analytique d’entreprise
By Mirko Peters · · Updated
Lorsqu’on conçoit des plateformes d’analytique d’entreprise modernes comme Microsoft Fabric, le choix de la colonne vertébrale d’intégration et de déploiement continus (CI/CD)…
Automatically translated with AI from the original post. Read the English original
Lorsqu’on conçoit des plateformes d’analytique d’entreprise modernes comme Microsoft Fabric, le choix de la colonne vertébrale d’intégration continue et de déploiement continu (CI/CD) est une décision d’architecture critique. Les organisations se retrouvent souvent à un carrefour, à évaluer GitHub et Azure DevOps. Ces deux plateformes sont issues du vaste écosystème d’outils pour développeurs de Microsoft, mais elles répondent à des modes de travail, des paradigmes de gouvernance et des structures communautaires historiquement différents. Comprendre comment ces outils gèrent la gouvernance, la gestion des artefacts et la souplesse des pipelines déterminera votre stratégie de déploiement et, au final, la réussite de votre plateforme.
Pour approfondir ce dilemme d’architecture et découvrir une analyse complète de l’impact de ces outils sur vos déploiements de données, écoutez notre épisode dédié : GitHub vs Azure DevOps pour le CI/CD de Microsoft Fabric.
Comprendre la propriété du déploiement

Qu’est-ce que la propriété du déploiement
La propriété du déploiement signifie que vous contrôlez chaque étape du processus DevOps. Vous décidez de la manière dont votre code passe du développement à la livraison. Vous gérez qui peut accéder à vos outils DevOps et la façon dont vous suivez les modifications. Vous définissez les règles de l’automatisation et veillez à ce que votre équipe les respecte.
Code et artefacts
Vous gérez le code source et les artefacts dans les plateformes DevOps. Ces composants forment le socle de votre pipeline de livraison. Voici les principaux éléments qui composent la propriété du déploiement dans les outils DevOps modernes :
- Suivi du code source
- Tests
- Déploiement
- Gestion de l’infrastructure
- Suivi des builds
- Gestion des secrets
- Gestion des versions
Vous utilisez les outils DevOps pour automatiser ces étapes. L’automatisation vous permet de livrer les mises à jour plus rapidement et réduit les erreurs. Vous protégez votre code et vous assurez que les artefacts correspondent aux versions testées. Vous suivez les builds et les versions pour maintenir la cohérence entre les environnements.
Accès et gouvernance
Vous contrôlez l’accès aux outils DevOps et définissez les stratégies de gouvernance. Vous décidez qui peut consulter, modifier ou déployer du code. Vous utilisez l’automatisation pour faire respecter les règles et surveiller l’activité. La gouvernance garantit que votre équipe respecte les standards pendant le développement et la livraison. Vous journalisez les actions et examinez les modifications pour protéger votre processus de développement logiciel.
Pourquoi la propriété est essentielle
La propriété vous donne la maîtrise de votre environnement DevOps. Vous protégez votre pipeline de livraison contre les risques et préservez la sécurité de vos développements. Vous maintenez la conformité aux réglementations et soutenez le contrôle opérationnel. Le tableau ci-dessous montre pourquoi la propriété du déploiement est critique dans DevOps :
| Aspect | Description |
|---|---|
| Cadre de gouvernance | Intègre la sécurité, la conformité et la responsabilité tout au long du cycle de vie du développement logiciel (SDLC). |
| Autonomie | Permet aux équipes de travailler de manière indépendante tout en respectant les standards. |
| Gestion des risques | Assure une gestion cohérente des risques tout au long du processus de développement. |
Vous utilisez les outils DevOps pour bâtir un cadre de gouvernance solide. Vous gagnez en autonomie et laissez les équipes travailler de manière indépendante. Vous maîtrisez les risques et gardez un processus de livraison fiable. L’automatisation soutient ces objectifs en rendant le développement et la livraison plus efficaces.
Astuce : lorsque vous possédez votre pipeline DevOps, vous pouvez réagir rapidement aux changements et garder votre développement logiciel sur la bonne voie.
Il est essentiel de comprendre la propriété du déploiement pour prendre de bonnes décisions concernant les outils DevOps. Vous améliorez la rapidité de livraison, protégez votre code et conservez la maîtrise de votre processus de développement.
Modèle de propriété GitHub
Stockage du code et des artefacts
Vous utilisez GitHub comme point central pour la gestion de code source. Lorsque vous poussez votre code sur github.com, vous conservez un historique clair de chaque modification. Cela vous permet de savoir qui a effectué des mises à jour et à quel moment. Vous pouvez stocker votre code dans des dépôts publics ou privés, selon vos besoins. Si vous utilisez GitHub Enterprise, vous bénéficiez de fonctionnalités supplémentaires destinées aux grandes organisations, notamment des outils avancés de sécurité et de conformité.
Pour les artefacts de déploiement, GitHub propose GitHub Packages. Ce service vous permet de stocker les sorties de compilation, les images de conteneurs et d’autres fichiers aux côtés de votre code. Vous pouvez accéder directement à ces artefacts depuis vos workflows. Toutefois, GitHub Packages ne fournit que des métadonnées de base, comme la date de création et le nombre de téléchargements. Vous ne pouvez pas ajouter de propriétés personnalisées ni utiliser de requêtes avancées pour la gestion des artefacts. D’autres plateformes, comme JFrog, offrent davantage d’options en matière de métadonnées et d’interrogation.
Voici une comparaison rapide :
| Fonctionnalité | JFrog | GitHub |
|---|---|---|
| Automatisation : CI/CD intégré nativement | ✅ | ✅ |
| Promotion de build pour la préparation des versions | ✅ | ❌ |
| Métadonnées étendues pour la traçabilité | ✅ | ❌ |
| Langage de requête avancé | ✅ | ❌ |
| Mise en cache des dépôts proxy | ✅ | ❌ |
| Solution de distribution | ✅ | ❌ |
| Solution DevOps de bout en bout | ✅ | Limitée |
Vous vous appuyez sur GitHub pour la gestion de code source et un stockage d’artefacts de base. Pour une gestion plus avancée des artefacts, vous devrez peut-être recourir à d’autres outils ou intégrer des services externes.
Accès et autorisations
Vous contrôlez qui peut consulter et modifier votre code sur github.com. Vous attribuez des rôles aux utilisateurs et aux équipes, en veillant à ce que chaque personne dispose uniquement des accès dont elle a besoin. Ce principe respecte la règle du moindre privilège. Vous pouvez créer des équipes au sein de votre organisation et définir des autorisations différentes pour chacune. Par exemple, vous pouvez accorder aux développeurs un accès en écriture tout en limitant les droits d’administration aux membres de confiance.
Vous pouvez automatiser la gestion des accès en connectant GitHub à votre système de gestion des identités et des accès (IAM). Cela facilite l’ajout ou la suppression d’utilisateurs à mesure que votre équipe évolue. Il est également conseillé de définir des stratégies claires de contrôle d’accès et de les revoir régulièrement. GitHub vous permet d’auditer les journaux d’accès afin de repérer toute activité inhabituelle.
- Attribuez les rôles et les autorisations au niveau du dépôt, de l’organisation ou de l’entreprise.
- Utilisez les propriétaires de code pour exiger une revue des modifications importantes.
- Limitez les accès administrateur et ne les utilisez que lorsque c’est nécessaire.
- Vérifiez régulièrement les journaux d’audit pour détecter les actions non autorisées.
Si vous utilisez GitHub Enterprise, vous disposez de davantage d’options pour gérer les accès à grande échelle. Vous pouvez définir des stratégies s’appliquant à de nombreux dépôts et automatiser le provisionnement des utilisateurs.
Gouvernance et conformité
Une gouvernance solide est indispensable pour assurer la sécurité et la conformité de vos déploiements. GitHub met à votre disposition plusieurs outils pour l’encadrer. Vous pouvez réutiliser des workflows d’un projet à l’autre, ce qui fait gagner du temps et garantit la cohérence. GitHub Actions vous permet d’automatiser les déploiements et d’appliquer des règles pour chaque environnement.
Vous pouvez utiliser les attestations d’artefacts pour vérifier que vos fichiers de déploiement n’ont pas été modifiés. GitHub prend en charge OpenID Connect (OIDC) pour des déploiements sécurisés vers les plateformes cloud. Vous pouvez contrôler les déploiements en définissant des règles sur qui peut déployer et quand. GitHub vous permet également de consulter l’historique des déploiements, ce qui facilite les audits et les contrôles de conformité.
| Fonctionnalité | Description |
|---|---|
| Réutiliser les workflows | Partager et réutiliser des workflows entre dépôts et organisations. |
| Utiliser les attestations d’artefacts | Vérifier l’intégrité des artefacts utilisés dans les déploiements. |
| Renforcer la sécurité des déploiements | Utiliser OIDC pour des déploiements sécurisés sur les plateformes cloud. |
| Contrôler les déploiements | Gérer et configurer efficacement les processus de déploiement. |
| Consulter l’historique des déploiements | Suivre les déploiements passés à des fins d’audit et de conformité. |
| Gérer les environnements | Organiser les environnements de déploiement pour un meilleur contrôle. |
| Créer des règles de protection personnalisées | Définir des règles pour protéger les branches et les déploiements critiques contre les modifications non autorisées. |
Vous pouvez accorder des autorisations en fonction des rôles et limiter l’accès d’administration aux utilisateurs essentiels. Vous devriez utiliser des fichiers CODEOWNERS pour exiger une revue des modifications apportées au code sensible. Ces fonctionnalités vous aident à appliquer la gouvernance et à sécuriser votre processus de déploiement.
Remarque : GitHub Actions s’intègre à Microsoft Fabric, ce qui vous permet d’automatiser les déploiements et de gérer vos solutions analytiques avec les mêmes contrôles de gouvernance.
Considérations de sécurité
Vous devez porter une attention particulière à la sécurité lorsque vous utilisez GitHub pour vos pipelines de déploiement. Les menaces de sécurité peuvent apparaître à de nombreuses étapes de votre flux de travail. Des attaquants peuvent tenter d’injecter des logiciels malveillants dans votre code source ou vos artefacts de build. Des données sensibles, comme les clés d’accès et les mots de passe, peuvent être exposées si vous ne suivez pas les bonnes pratiques. Un accès non autorisé peut donner aux attaquants le contrôle de votre pipeline et de votre environnement de production. Des dépendances obsolètes peuvent introduire des vulnérabilités qui menacent l’ensemble de votre système.
Examinez les principales menaces qui affectent les pipelines de déploiement GitHub. Le tableau ci-dessous présente les risques et leurs implications :
| Menaces de sécurité | Implications |
|---|---|
| Injection de logiciels malveillants | Des attaquants peuvent injecter des logiciels malveillants dans le code source ou les artefacts de build. |
| Exposition de données sensibles | Les clés d’accès, les identifiants et les mots de passe peuvent être exposés. |
| Accès non autorisé | Des attaquants peuvent prendre le contrôle du pipeline et de l’environnement de production. |
| Dépendances obsolètes | Des dépendances présentant des vulnérabilités connues peuvent menacer le pipeline. |
| Pipelines mal configurés | Peuvent créer des vulnérabilités dans le système. |
| Perte de données | Des attaquants peuvent voler ou détruire des données sensibles. |
| Indisponibilité | Des failles de sécurité peuvent entraîner une indisponibilité du système. |
| Atteinte à la réputation | Perte de confiance des clients et pertes financières. |
Vous devez protéger vos dépôts GitHub à l’aide de contrôles d’accès robustes. Vous devriez activer l’authentification à deux facteurs pour tous les utilisateurs. Vous pouvez utiliser la gestion des secrets pour protéger les identifiants et les jetons. Vous devez éviter de stocker des informations sensibles directement dans votre code. Vous devriez examiner régulièrement les autorisations et retirer l’accès aux utilisateurs qui n’en ont plus besoin.
Vous pouvez utiliser GitHub Actions pour automatiser les tâches de sécurité. Vous pouvez configurer des workflows qui lancent une analyse du code et des contrôles de vulnérabilités à chaque envoi de modifications. Ces contrôles automatisés vous aident à détecter les problèmes au plus tôt et à les corriger avant qu’ils n’atteignent la production. Vous pouvez également utiliser GitHub Actions pour appliquer des règles de protection de branche et exiger une revue des modifications importantes.
Vous devez maintenir vos dépendances à jour. Vous pouvez utiliser Dependabot de GitHub pour surveiller vos projets et vous alerter lorsqu’une dépendance présente une vulnérabilité connue. Vous devriez tester les configurations de vos pipelines afin de vous assurer qu’elles n’exposent pas votre système à des risques. Vous devez examiner régulièrement les journaux et les pistes d’audit afin de repérer toute activité inhabituelle.
Astuce : Vous pouvez renforcer votre posture de sécurité en combinant les outils intégrés de GitHub avec des solutions externes. Vous pouvez utiliser des analyseurs tiers ou vous intégrer à des plateformes de sécurité cloud pour une protection supplémentaire.
Vous devez considérer la sécurité comme un processus continu. Vous devriez sensibiliser votre équipe aux bonnes pratiques et encourager des revues régulières. Vous pouvez utiliser les fonctionnalités de GitHub pour automatiser de nombreuses tâches de sécurité, mais vous devez rester vigilant et proactif. Une sécurité solide vous aide à protéger votre code, vos données et votre réputation.
Démarrer avec GitHub comme dépôt – Liste de contrôle
Une liste de contrôle pratique pour bien démarrer avec GitHub comme dépôt de code.
- Créez ou connectez-vous à votre compte GitHub
- Choisissez entre un compte personnel ou une organisation pour la propriété des équipes
- Créez un nouveau dépôt (public ou privé) et sélectionnez la visibilité appropriée
- Ajoutez un nom de dépôt clair et un fichier README.md descriptif
- Ajoutez un fichier LICENSE adapté aux besoins de votre projet
- Ajoutez un fichier .gitignore adapté à votre langage ou à votre framework
- Initialisez le dépôt avec une branche par défaut (main) et des règles de protection de branche
- Configurez CODEOWNERS et les consignes de contribution (CONTRIBUTING.md)
- Mettez en place des modèles de tickets et un modèle de demande de tirage (pull request)
- Configurez les étiquettes, les jalons et les tableaux de projet pour le suivi des tickets
- Configurez des workflows GitHub Actions pour le CI/CD ou intégrez-les à vos pipelines existants
- Ajoutez les secrets de dépôt nécessaires au CI, aux déploiements et aux services tiers
- Configurez les règles de protection de branche : revues obligatoires, vérifications d’état et commits signés obligatoires si nécessaire
- Activez Dependabot pour les mises à jour de dépendances et les alertes de sécurité
- Activez les fonctionnalités de sécurité : analyse du code, détection des secrets et alertes de vulnérabilité
- Configurer des webhooks ou des intégrations pour le CI, le chatops ou les services externes
- Inviter des collaborateurs ou des membres d’équipe et définir les autorisations sur les dépôts
- Migrer les dépôts et les tickets existants (en cas de migration depuis Azure DevOps, planifier la migration et faire correspondre les éléments de travail)
- Documenter la structure des dépôts, le flux de développement et le processus de mise en production dans le wiki ou le dossier docs
- Configurer la supervision et les alertes pour les mises en production, les déploiements et les workflows importants
- Examiner et comparer les workflows avec les alternatives (GitHub vs Azure DevOps) afin d’optimiser les choix en matière de CI/CD et de gestion de projet
- Auditer régulièrement l’accès aux dépôts, les secrets et les paramètres de sécurité
Modèle de responsabilité d’Azure DevOps
Dépôts et pipelines
Avec Azure DevOps, vous disposez d’une plateforme unifiée pour gérer votre code, vos artefacts et vos processus de déploiement. Les services Azure DevOps réunissent les dépôts de code, le suivi des travaux, les outils de test et le stockage des artefacts. Cette intégration vous aide à contrôler chaque étape du cycle de livraison logicielle. Vous pouvez remonter chaque exécution de pipeline jusqu’aux commits, aux demandes de tirage ou aux éléments de travail concernés, ce qui offre une visibilité claire sur votre processus de développement.
| Fonctionnalité | Description |
|---|---|
| Gestion du cycle de vie | Azure DevOps intègre les dépôts de code, le suivi des travaux, les tests et le stockage des artefacts. |
| Intégration des pipelines | Vous pouvez remonter chaque exécution de pipeline jusqu’aux commits ou aux éléments de travail concernés. |
| Contrôle d’accès basé sur les rôles | Des rôles sont attribués aux projets pour gérer les accès et les autorisations. |
Les pipelines Azure DevOps utilisent des identités pour accéder aux ressources. Ces identités peuvent être définies au niveau de la collection ou du projet. Les identités au niveau du projet vous permettent de limiter l’accès aux seules ressources nécessaires à chaque projet, ce qui renforce la sécurité. Vous pouvez également protéger les ressources des dépôts à l’aide de vérifications et d’autorisations de pipeline. Vous gérez ainsi la propriété et les droits de modification de vos workflows de code et de déploiement.
Azure DevOps prend en charge un CI/CD fluide, afin que vous puissiez automatiser les builds, les tests et les déploiements. Avec Azure Pipelines, vous bénéficiez d’une intégration continue et d’une livraison continue, ce qui vous aide à livrer les mises à jour rapidement et de manière fiable. Microsoft a conçu Azure DevOps pour bien fonctionner avec le cloud computing, ce qui facilite la montée en charge de vos projets au fil de l’évolution de vos besoins.
Contrôle d’accès
Vous contrôlez qui peut accéder à vos services Azure DevOps grâce au contrôle d’accès basé sur les rôles. Ce modèle vous permet d’attribuer des autorisations en fonction des rôles, afin que chaque utilisateur ne dispose que de l’accès dont il a besoin. Vous pouvez regrouper les utilisateurs dans des groupes de sécurité et attribuer des autorisations au niveau de l’organisation, du projet ou de l’objet. Microsoft recommande d’appliquer le principe du moindre privilège, c’est-à-dire de n’accorder aux utilisateurs que les autorisations nécessaires à leurs tâches.
- Attribuer des rôles aux utilisateurs et aux groupes pour un contrôle d’accès précis.
- Utiliser des groupes de sécurité pour gérer les autorisations à différents niveaux.
- Examiner et auditer régulièrement les autorisations afin de repérer les usages inattendus.
Azure DevOps facilite la surveillance et l’ajustement des accès au fil des évolutions de votre équipe. Vous pouvez suivre qui a accès à chaque dépôt et à chaque pipeline, ce qui vous aide à garder la maîtrise de votre environnement DevOps.
Gouvernance et stratégies
Une gouvernance solide est indispensable à des déploiements sécurisés et fiables. Azure DevOps applique la gouvernance au moyen de stratégies de branche, de contrôles d’accès et de rôles personnalisés. Les stratégies de branche vous permettent de définir des vérifications et des exigences avant qu’un code puisse être fusionné, afin que seul un code de qualité atteigne la production. Vous pouvez affecter des principaux de sécurité à des rôles selon le principe du moindre privilège, ce qui réduit le risque d’accès non autorisé.
- Définir des stratégies de branche qui exigent des revues de code et des vérifications avant toute fusion.
- Attribuer des rôles personnalisés aux principaux de service afin d’empêcher les actions destructrices en production.
- Utiliser des contrôles d’accès pour limiter les personnes autorisées à déployer dans les environnements critiques.
Microsoft a conçu Azure DevOps pour répondre aux exigences de gouvernance des grandes entreprises. Vous pouvez intégrer Azure DevOps à d'autres outils Microsoft, comme GitHub et Microsoft Fabric, afin de créer un flux de travail DevOps fluide. Cette intégration vous aide à gérer les déploiements, à appliquer les stratégies et à maintenir la conformité dans l'ensemble de votre organisation.
Conseil : examinez régulièrement vos paramètres de gouvernance dans Azure DevOps pour que vos déploiements restent sécurisés et conformes.
Sécurité et conformité
Des contrôles de sécurité et de conformité rigoureux sont indispensables lorsque vous gérez vos déploiements. Azure DevOps met à votre disposition un large éventail d'outils pour protéger votre code, vos données et vos flux de travail. Vous pouvez vous appuyer sur les fonctionnalités de sécurité intégrées pour garder votre processus de développement sûr et conforme aux normes du secteur.
Azure DevOps utilise le contrôle d'accès basé sur les rôles pour limiter les personnes autorisées à consulter ou modifier vos ressources. Vous attribuez des autorisations à des utilisateurs et à des groupes, en veillant à ce que seules les bonnes personnes aient accès. Vous pouvez également utiliser des connexions de service pour contrôler la manière dont vos pipelines interagissent avec d'autres services Azure. Cela vous aide à réduire le risque d'actions non autorisées.
Vous pouvez configurer des stratégies de branche dans Azure DevOps pour exiger des revues de code et des vérifications avant la fusion des modifications. Ces stratégies vous permettent de détecter les problèmes au plus tôt et de préserver la sécurité de votre base de code. Vous pouvez aussi utiliser des contrôles d'approbation dans vos pipelines pour garantir que seul le code testé et approuvé atteint la production. Ce processus favorise la conformité en appliquant des règles à chaque étape.
Azure DevOps fournit des journaux d'audit détaillés. Vous pouvez suivre chaque action effectuée dans vos projets. Cela facilite l'examen des modifications et la détection d'activités inhabituelles. Vous pouvez exploiter ces journaux pour étayer les audits de conformité et satisfaire aux exigences réglementaires.
Vous pouvez stocker les secrets et les identifiants de manière sécurisée dans Azure DevOps. La plateforme s'appuie sur un stockage sécurisé pour les informations sensibles. Vous pouvez lier des secrets à vos pipelines sans les exposer dans votre code. Vos mots de passe, jetons et clés restent ainsi protégés contre les fuites.
Azure DevOps prend en charge l'intégration aux outils de sécurité Azure. Vous pouvez utiliser Microsoft Defender for Cloud pour analyser votre code et vos ressources à la recherche de menaces. Vous pouvez également vous connecter à Azure policy pour appliquer des règles de conformité dans l'ensemble de votre environnement. Ces intégrations vous aident à bâtir une posture de sécurité solide.
Vous pouvez automatiser les contrôles de sécurité dans vos pipelines. Vous pouvez ajouter des tâches qui recherchent des vulnérabilités ou vérifient les problèmes de conformité. Cette automatisation vous aide à détecter et corriger les problèmes avant qu'ils n'atteignent la production. Vous pouvez également utiliser l'intégration continue pour exécuter ces contrôles à chaque envoi de code.
Vous pouvez compter sur Azure DevOps pour vous aider à gérer la sécurité et la conformité. Vous disposez des outils nécessaires pour protéger votre code, contrôler les accès et respecter les normes du secteur. Vous pouvez vous concentrer sur la création de logiciels de qualité tout en gardant vos déploiements en sécurité.
Démarrer avec Azure DevOps comme dépôt : liste de contrôle
- Créez une organisation Azure DevOps ou connectez-vous à une organisation existante
- Créez un nouveau projet (choisissez la visibilité : privée ou publique) et sélectionnez le contrôle de version : Git
- Créez votre premier dépôt ou importez un dépôt existant (depuis GitHub ou en local)
- Ajoutez un fichier README.md descriptif ainsi qu'un fichier de licence
- Ajoutez un fichier .gitignore adapté au langage ou au framework de votre projet
- Définissez la stratégie de branches et les conventions de nommage (main, develop, feature/*, hotfix/*)
- Protégez la branche main : activez les stratégies de branche, les réviseurs obligatoires et les vérifications d'état
- Créez des modèles de demande de tirage (pull request) et des directives à l'intention des contributeurs
- Configurez les autorisations et les groupes du dépôt (Lecteurs, Contributeurs, Administrateurs de projet)
- Configurez les connexions de service pour les déploiements (Azure, AWS, registres Docker, fournisseurs Git externes)
- Créez des pipelines CI (Azure Pipelines en YAML ou version classique) et validez les builds sur les demandes de tirage
- Créez des pipelines CD ou des pipelines de mise en production pour vos environnements (dev, préproduction, production) et ajoutez des contrôles d'approbation
- Intégrez Boards : créez des éléments de travail et associez les validations et les demandes de tirage à ces éléments
- Configurez des webhooks ou des hooks de service pour les intégrations externes (Slack, Teams, Jenkins)
- Configurez les stratégies de rétention des branches et des builds du dépôt
- Activez l'audit et mettez en place les contrôles de conformité et de sécurité requis
- Mettez en place l'analyse de code, l'analyse de sécurité et la vérification des dépendances (GitHub propose peut-être des outils supplémentaires : comparez-les à vos besoins)
- Configurez un flux d'artefacts si vous avez besoin d'héberger des packages (NuGet, npm, Maven)
- Créez un wiki ou un site de documentation, et conservez la documentation dans le dépôt lorsque cela est pertinent
- Planifiez les étapes de migration si vous passez depuis GitHub : cartographiez les dépôts, tickets, demandes de tirage, CI/CD et comptes de service
- Invitez les membres de l'équipe et vérifiez leurs accès depuis leurs comptes
- Effectuez un premier test de bout en bout : clonage, commit, push, ouverture d’une PR, exécution du pipeline, puis déploiement dans l’environnement de test.
- Surveillez l’utilisation et les pipelines, et ajustez en continu vos stratégies et votre automatisation.
Intégration de Microsoft Fabric
Intégration Git
Vous pouvez connecter directement votre espace de travail Microsoft Fabric à un dépôt GitHub. Cette connexion vous offre un contrôle de version robuste pour vos projets analytiques. Vous liez votre espace de travail à la branche develop dans GitHub. Cette configuration vous permet de suivre chaque modification et de revenir en arrière si nécessaire. Vous pouvez utiliser les pipelines de déploiement de Microsoft Fabric pour faire passer le contenu du développement au test, puis à la production. Ce processus vous aide à éviter les problèmes de synchronisation entre les environnements.
Lorsque vous souhaitez publier des fonctionnalités stables, vous créez une branche de version. Vous utilisez les pipelines de déploiement pour pousser ces modifications en production. Si vous devez corriger des problèmes urgents, vous créez une branche de correctif (hotfix) que vous fusionnez ensuite dans la branche principale pour le déploiement. Vous devez utiliser des bases de données distinctes pour chaque environnement. Cette pratique protège vos données de production contre les modifications accidentelles pendant les phases de test ou de développement.
CI/CD avec Azure DevOps et GitHub
Vous pouvez mettre en place des pipelines CI/CD dans Microsoft Fabric à l’aide d’Azure DevOps ou de GitHub Actions. Ces outils vous aident à automatiser les étapes de build, de test et de déploiement. Vous devez donner des noms clairs et descriptifs à vos pipelines de déploiement. Vous identifiez ainsi facilement la finalité de chaque pipeline. Vous pouvez utiliser des espaces de travail existants ou en créer de nouveaux pour les différentes étapes du pipeline, comme le développement, les tests et la production.
Comparez régulièrement le contenu entre les étapes. Cette vérification garantit que tous les éléments ont été correctement déployés. Vous pouvez publier des applications depuis n’importe quel espace de travail du pipeline. Cette étape permet aux utilisateurs finaux de tester les fonctionnalités avant le déploiement final. Conservez des branches distinctes pour chaque développeur ou fonctionnalité. Cette pratique vous aide à éviter les conflits de fusion. Une stratégie de branchement solide, comme Gitflow, vous aide à gérer les développements, les versions et les correctifs.
Exigez des revues de code avant de fusionner les modifications. Cette règle garantit que d’autres membres de l’équipe vérifient et valident les mises à jour. Microsoft Fabric vous permet de comparer le contenu des espaces de travail source et cible avant de déployer les modifications. Cette fonctionnalité vous aide à repérer les erreurs au plus tôt et à maintenir la cohérence de vos environnements.
Gouvernance des données
Microsoft Fabric intègre la gouvernance à chaque étape du cycle de vie des données. Vous gérez la collecte, le stockage et l’analyse des données dans un seul environnement. Microsoft Purview catalogue vos données et suit leur lignage. OneLake fournit un stockage centralisé, ce qui facilite l’application des stratégies de gouvernance. Microsoft Entra ID vous offre un contrôle d’accès basé sur les rôles, afin que vous décidiez qui peut consulter ou modifier les données.
Vous appliquez les stratégies de gouvernance au niveau de OneLake. Ces règles suivent vos données à travers les espaces de travail et les jeux de données. Cette approche garantit une gestion des données cohérente et rapide. Vous n’avez pas besoin de définir des règles distinctes pour chaque espace de travail. La conception de Microsoft Fabric vous aide à conserver le contrôle et à répondre aux exigences de conformité à mesure que vos données se développent.
Sécurité et conformité
Vous avez besoin de contrôles de sécurité et de conformité renforcés lorsque vous gérez les données et les déploiements dans Microsoft Fabric. La plateforme vous fournit des outils avancés pour protéger vos informations et répondre aux exigences réglementaires. Vous pouvez classer et protéger les données sensibles dans vos pipelines Data Factory. Cela vous permet de préserver les informations importantes contre tout accès non autorisé.
Microsoft Fabric fonctionne avec Microsoft Defender for Cloud Apps. Cette intégration vous offre une meilleure visibilité et un meilleur contrôle sur vos opérations. Vous pouvez surveiller les activités et définir des alertes pour les comportements à risque. Vous pouvez aussi suivre la lignée des données. Cette fonctionnalité vous permet de voir comment les données circulent dans votre système. Vous pouvez utiliser ces informations pour vérifier la conformité et comprendre la circulation des données sensibles.
Vous pouvez configurer des stratégies de prévention de la perte de données (DLP) dans Microsoft Fabric. Ces stratégies vous aident à empêcher le partage non autorisé d’informations sensibles. Vous pouvez créer des règles personnalisées adaptées aux besoins de votre organisation. Par exemple, vous pouvez empêcher les utilisateurs d’envoyer des données confidentielles en dehors de votre entreprise. Vous pouvez aussi recevoir des alertes lorsqu’un utilisateur tente de partager des informations protégées.
Microsoft Fabric prend en charge la localisation des données. Vous pouvez choisir l’emplacement de stockage de vos données grâce à la fonctionnalité Multi-Geo. Cela vous aide à respecter les lois sur la résidence des données dans différents pays. Vous pouvez conserver les données dans des régions spécifiques afin de satisfaire les réglementations locales. Cette fonctionnalité est importante pour les organisations présentes dans de nombreux pays.
Microsoft Fabric prend en charge les droits à la vie privée prévus par des textes comme le RGPD. La plateforme vous fournit des outils pour traiter les demandes des personnes concernées (DSR). Vous pouvez rechercher les données d’une personne à l’aide de Microsoft Purview. Vous pouvez exporter ces données dans des formats tels que JSON ou CSV. Si vous constatez des erreurs, vous pouvez les corriger. Vous pouvez également supprimer les identités des utilisateurs si nécessaire. Ces étapes vous aident à respecter la vie privée et à vous conformer aux règles juridiques.
Voici un résumé de la gestion des droits à la vie privée dans Microsoft Fabric :
- Recherche et découverte : retrouver les informations d’une personne concernée avec Microsoft Purview.
- Récupération : exporter les données dans des formats courants.
- Rectification : corriger les erreurs dans les données stockées.
- Effacement : supprimer définitivement les identités des utilisateurs.
Vous pouvez utiliser ces fonctionnalités pour bâtir une plateforme de données sécurisée et conforme. Microsoft Fabric vous aide à protéger vos données, à contrôler les accès et à répondre aux exigences des réglementations actuelles. Vous pouvez être serein, sachant que vos déploiements respectent les bonnes pratiques en matière de sécurité et de conformité.
Conseil : examinez régulièrement vos paramètres de sécurité et de conformité. Des contrôles réguliers vous aident à anticiper les nouveaux risques et à protéger vos données.
GitHub vs Azure DevOps vs Fabric : comparaison de la propriété
Emplacement du dépôt
Vous devez savoir où se trouve votre code. Dans le débat GitHub vs Azure DevOps, c’est un point clé. GitHub stocke vos dépôts dans le cloud. Vous pouvez choisir entre des options publiques et privées. De nombreux projets open source utilisent GitHub, car il est facile d’y partager et d’y collaborer. Azure DevOps stocke également le code dans le cloud, mais il se concentre sur les projets privés de niveau entreprise. Vous gardez un meilleur contrôle sur les personnes autorisées à voir et à modifier votre code. Microsoft Fabric se connecte à GitHub et à Azure DevOps pour le contrôle de version. Vous gérez vos projets analytiques dans Fabric, mais le code proprement dit reste dans le dépôt lié.
Voici une comparaison rapide :
| Plateforme | Emplacement du dépôt | Idéal pour |
|---|---|---|
| GitHub | Cloud (GitHub.com) | Open source, collaboration |
| Azure DevOps | Cloud (Azure Repos) | Entreprise, projets privés |
| Microsoft Fabric | GitHub/Azure DevOps liés | Analyse de données, contrôle unifié |
Vous devez choisir la plateforme qui correspond à vos besoins. Si vous recherchez une collaboration ouverte, GitHub convient bien. Si vous avez besoin d’un contrôle strict, Azure DevOps offre davantage d’options. Microsoft Fabric vous permet d’utiliser l’une ou l’autre, afin d’adapter votre flux de travail.
Gestion des artefacts
La gestion des artefacts consiste à gérer les résultats de compilation, les paquets et les fichiers produits par vos projets. Dans la comparaison GitHub vs Azure DevOps, les différences sont importantes. GitHub utilise GitHub Packages pour stocker les artefacts. Vous bénéficiez de fonctionnalités de base, comme le stockage et le partage de paquets. Azure DevOps propose Azure Artifacts, qui offre des contrôles avancés. Vous pouvez gérer les versions, configurer des flux et suivre l’utilisation. Microsoft Fabric se concentre sur les artefacts analytiques, comme les rapports Power BI et les modèles sémantiques. Il se lie à votre dépôt pour le contrôle de version et utilise des pipelines de déploiement pour déplacer les artefacts d’un environnement à l’autre.
Vous devriez examiner ces points lors de la comparaison de la gestion des artefacts :
- Authentification : Azure DevOps utilise des comptes utilisateurs Microsoft Entra. Cela rend la connexion simple et sécurisée. GitHub repose sur des jetons d’accès personnels. Ceux-ci peuvent être plus difficiles à gérer, en particulier pour les grandes équipes.
- Gouvernance : Azure DevOps dispose de fonctionnalités de gouvernance intégrées. Vous pouvez définir des règles et suivre les modifications facilement. GitHub Enterprise offre une meilleure gouvernance que GitHub standard, mais Azure DevOps reste en tête pour les besoins des grandes entreprises.
- Intégration : Microsoft Fabric prend en charge uniquement les versions cloud d’Azure DevOps et de GitHub pour la gestion des artefacts. Si vous utilisez Fabric, vous devez être prêt à adopter des workflows cloud.
Voici un tableau pour vous aider à comparer :
| Plateforme | Stockage des artefacts | Fonctionnalités de gouvernance | Intégration avec Fabric |
|---|---|---|---|
| GitHub | GitHub Packages | Basique (Enterprise recommandé) | Oui |
| Azure DevOps | Azure Artifacts | Avancées, intégrées | Oui |
| Microsoft Fabric | Dépôt lié | Unifié dans Fabric | N/A (utilise le dépôt lié) |
Vous devriez choisir Azure DevOps si vous recherchez une gestion des artefacts et une gouvernance robustes. GitHub convient aux besoins simples ou aux projets open source. Microsoft Fabric vous offre un contrôle unifié des artefacts analytiques, mais s’appuie sur votre dépôt lié pour le stockage.
Accès et autorisations
Les accès et les autorisations déterminent qui peut voir, modifier ou déployer votre code et vos artefacts. Dans le débat GitHub contre Azure DevOps, on observe des approches différentes. GitHub permet de définir des rôles au niveau du dépôt, de l’organisation ou de l’entreprise. Vous utilisez des équipes et des propriétaires de code pour contrôler les modifications. Azure DevOps s’appuie sur un contrôle d’accès basé sur les rôles. Vous affectez des utilisateurs à des groupes de sécurité et définissez les autorisations au niveau du projet ou de l’objet. Vous disposez ainsi d’un contrôle fin, ce qui est essentiel pour les grandes organisations.
Microsoft Fabric s’appuie sur Microsoft Entra ID pour le contrôle d’accès. Vous définissez des rôles pour votre espace de travail analytique. Vous pouvez décider qui peut afficher, modifier ou déployer le contenu analytique. Lorsque vous liez Fabric à GitHub ou Azure DevOps, vous utilisez leurs contrôles d’accès pour le code et les artefacts. Vous bénéficiez ainsi du meilleur des deux mondes : une gestion robuste des identités par Microsoft et des contrôles souples de la part du dépôt que vous avez choisi.
Voici un résumé :
- GitHub : rôles et équipes, propriétaires de code, journaux d’audit.
- Azure DevOps : contrôle d’accès basé sur les rôles, groupes de sécurité, contrôles au niveau du projet.
- Microsoft Fabric : rôles Entra ID, autorisations des espaces de travail, hérite des contrôles du dépôt lié.
Vous devez revoir vos paramètres d’accès régulièrement. Assurez-vous que seules les personnes concernées disposent des autorisations nécessaires. Cela protège vos projets et contribue à la conformité.
Astuce : appliquez le principe du moindre privilège. N’accordez aux utilisateurs que les accès dont ils ont besoin. Cela réduit les risques et vous aide à rester sécurisé.
Gouvernance et conformité
Une gouvernance et une conformité solides sont indispensables pour protéger vos déploiements et répondre aux normes du secteur. Chaque plateforme (GitHub, Azure DevOps et Microsoft Fabric) propose des outils et des approches différents pour ces besoins.
GitHub offre une gouvernance souple. Vous pouvez définir des règles de protection des branches, exiger des revues de code et utiliser des fichiers CODEOWNERS. Ces fonctionnalités vous permettent de contrôler qui peut modifier votre code. Vous pouvez également utiliser les journaux d’audit pour suivre les actions dans vos dépôts. Pour la conformité, GitHub prend en charge les intégrations avec des outils tiers. Vous pouvez automatiser les vérifications de stratégies et utiliser GitHub Actions pour appliquer des règles. Si vous utilisez GitHub Enterprise, vous bénéficiez de fonctionnalités de conformité avancées, comme l’authentification unique SAML et la gestion des stratégies à l’échelle de l’entreprise.
Azure DevOps mise sur une gouvernance d’entreprise. Vous pouvez définir des stratégies de branche, des portes d’approbation et des rôles personnalisés. Ces contrôles vous aident à appliquer des normes à l’ensemble de vos projets. Azure DevOps vous permet d’utiliser le suivi des éléments de travail pour relier les modifications de code aux exigences métier. Vous pouvez mettre en place des contrôles de conformité dans vos pipelines. Azure DevOps prend en charge les pistes d’audit et la journalisation détaillée. Vous pouvez exporter des rapports pour démontrer la conformité à des référentiels comme ISO, SOC et RGPD. Azure DevOps s’intègre également à Azure Policy et à Microsoft Purview pour une gouvernance unifiée.
Microsoft Fabric apporte la gouvernance à vos flux d’analyse de données. Vous utilisez Microsoft Purview pour cataloguer les données et suivre leur lignage. Vous définissez des stratégies au niveau d’OneLake, qui s’appliquent à tous les espaces de travail. Cette approche unifiée facilite la gestion de la conformité à mesure que vos données se développent. Microsoft Fabric prend en charge un accès basé sur les rôles grâce à Microsoft Entra ID. Vous pouvez définir des règles pour l’accès aux données et pour les déploiements. Vous disposez également d’outils de conformité intégrés pour les lois sur la confidentialité, comme le RGPD. Vous pouvez rechercher, exporter et effacer les données des utilisateurs selon vos besoins.
Voici un tableau pour vous aider à comparer les fonctionnalités de gouvernance et de conformité :
| Plateforme | Outils de gouvernance | Prise en charge de la conformité | Intégration à Azure |
|---|---|---|---|
| GitHub | Règles de branche, CODEOWNERS, journaux | Tiers, Enterprise | Oui |
| Azure DevOps | Stratégies, rôles, journaux d’audit | ISO, SOC, RGPD, Purview | Native |
| Microsoft Fabric | Purview, OneLake, Entra ID | RGPD, outils de confidentialité | Native |
Conseil : passez régulièrement en revue vos paramètres de gouvernance. Une gouvernance solide vous aide à respecter vos obligations de conformité et à garder vos déploiements sûrs.
Posture de sécurité
Vous devez protéger votre code, vos données et vos déploiements contre les menaces. Chaque plateforme vous propose des fonctionnalités et des contrôles de sécurité différents.
GitHub vous aide à sécuriser vos dépôts grâce à l’authentification à deux facteurs, à la gestion des secrets et à la protection des branches. Vous pouvez utiliser GitHub Actions pour automatiser les analyses de sécurité et les contrôles de vulnérabilités. Dependabot vous alerte en cas de dépendances obsolètes. Vous pouvez examiner les journaux d’audit pour repérer toute activité inhabituelle. Pour les déploiements dans le cloud, GitHub prend en charge OpenID Connect pour une authentification sécurisée. Vous devez utiliser ces outils pour protéger votre code et vos artefacts.
Azure DevOps vous offre des contrôles de sécurité avancés. Vous utilisez l’accès basé sur les rôles pour limiter les autorisations. Azure DevOps stocke les secrets de manière sécurisée et les relie à vos pipelines. Vous pouvez mettre en place des points de contrôle d’approbation pour bloquer les déploiements risqués. Azure DevOps s’intègre à Microsoft Defender for Cloud pour analyser les menaces. Vous pouvez utiliser Azure Policy pour appliquer des règles de sécurité à l’ensemble de votre environnement. Des journaux d’audit détaillés vous permettent de suivre chaque action. Vous pouvez automatiser les contrôles de sécurité dans vos pipelines pour détecter les problèmes au plus tôt. Azure DevOps prend en charge la conformité aux normes du secteur et vous fournit des outils pour exporter les rapports de sécurité.
Microsoft Fabric se concentre sur la sécurité des données. Vous utilisez Microsoft Defender for Cloud Apps pour surveiller l’activité et définir des alertes en cas de comportement à risque. Vous pouvez classer et protéger les données sensibles dans vos pipelines. Microsoft Fabric prend en charge les stratégies de prévention de la perte de données (DLP). Vous pouvez bloquer le partage non autorisé d’informations confidentielles. Vous bénéficiez également de la localisation des données avec Multi-Geo, ce qui vous permet de choisir où stocker vos données. Microsoft Fabric vous aide à gérer les droits en matière de confidentialité et à traiter les demandes des personnes concernées. Vous pouvez rechercher, exporter et effacer les données des utilisateurs pour répondre aux exigences légales.
Voici un récapitulatif des fonctionnalités de sécurité :
- GitHub : authentification à deux facteurs, gestion des secrets, analyses automatisées, journaux d’audit.
- Azure DevOps : accès basé sur les rôles, secrets sécurisés, points de contrôle d’approbation, Defender for Cloud, application des stratégies, journaux d’audit.
- Microsoft Fabric : Defender for Cloud Apps, stratégies DLP, classification des données, Multi-Geo, gestion de la confidentialité.
Remarque : vous devez combiner les fonctionnalités de sécurité des plateformes avec les bonnes pratiques. Formez vos équipes, examinez les paramètres et mettez à jour les stratégies à mesure que les menaces évoluent.
Vous obtenez le niveau de sécurité le plus élevé lorsque vous utilisez les bons outils et que vous adoptez une démarche proactive. Chacune des plateformes — GitHub, Azure DevOps et Microsoft Fabric — vous donne les contrôles nécessaires pour protéger vos déploiements et vos données.
Scénarios DevOps concrets
Open source avec GitHub
Lorsque vous travaillez sur des projets open source, GitHub vous offre un moyen simple de gérer la propriété des déploiements. Vous pouvez automatiser votre processus de déploiement et garder votre projet en ligne à chaque modification du code. Voici comment fonctionne la propriété dans un flux DevOps open source type avec GitHub :
- Vous transférez votre code vers un dépôt public sur GitHub.
- Chaque push vers la branche principale déclenche un déploiement automatique.
- Vous n’avez ni à demander d’autorisation ni à attendre une approbation pour déployer.
- Vous gardez la maîtrise de votre infrastructure cloud en utilisant votre propre compte AWS ou des services similaires.
- Votre projet reste en ligne, sur une infrastructure de niveau production, en permanence.
Cette approche vous permet de vous concentrer sur la conception et l’amélioration de votre projet. Vous n’avez pas à vous soucier des validations manuelles ni des retards. Vous restez propriétaire de votre processus de déploiement et de votre infrastructure, même lorsque vous partagez votre code avec le monde entier. Avec GitHub, vous pouvez également utiliser des outils DevOps comme GitHub Actions pour automatiser les étapes de test et de déploiement.
Entreprise avec Azure DevOps
Dans un contexte d’entreprise, vous utilisez souvent Azure DevOps pour gérer des projets complexes. Vous devez concilier rapidité, sécurité et conformité. Dans cet environnement, la question de la propriété peut devenir délicate. Le tableau ci-dessous présente certaines difficultés courantes auxquelles vous pourriez être confronté :
| Type de difficulté | Description |
|---|---|
| Ambiguïté des responsabilités | L’évolution des responsabilités liée à DevOps entraîne une confusion quant à la personne chargée de gérer l’infrastructure cloud. |
| Enjeux de sécurité et de conformité | La maîtrise des configurations de sécurité et des exigences de conformité ajoute de la complexité à la question de la propriété des déploiements. |
| Complexité de l’infrastructure cloud | L’introduction d’une infrastructure cloud complique les processus de déploiement traditionnels ainsi que la question de la propriété. |
Vous devez définir clairement les rôles et les responsabilités de votre équipe. Azure DevOps vous y aide en vous permettant d’attribuer des autorisations et d’utiliser le contrôle d’accès basé sur les rôles. Vous pouvez suivre chaque modification et appliquer des stratégies conformes aux normes de votre entreprise. Microsoft fournit des outils intégrés de sécurité et de conformité afin de protéger votre code et vos données. Vous pouvez également intégrer Azure DevOps à d’autres services Microsoft pour bénéficier d’une expérience DevOps unifiée.
Analytique des données avec Fabric
Lorsque vous gérez des projets d’analytique des données, Microsoft Fabric vous offre une maîtrise solide de la propriété des déploiements. Vous contrôlez qui peut déployer, modifier ou consulter chaque élément de votre espace de travail. Le tableau ci-dessous montre comment fonctionne la propriété pour les différents éléments de Microsoft Fabric :
| Élément Fabric | Autorisation requise pour déployer un élément existant | Propriété de l’élément après un premier déploiement | Propriété de l’élément après déploiement vers une étape contenant déjà l’élément |
|---|---|---|---|
| Modèle sémantique | Membre de l’espace de travail | L’utilisateur qui a effectué le déploiement devient le propriétaire | Inchangée |
| Dataflow | Propriétaire du dataflow | L’utilisateur qui a effectué le déploiement devient le propriétaire | Inchangée |
| Datamart | Propriétaire du datamart | L’utilisateur qui a effectué le déploiement devient le propriétaire | Inchangée |
| Rapport paginé | Membre de l’espace de travail | L’utilisateur qui a effectué le déploiement devient le propriétaire | L’utilisateur qui a effectué le déploiement devient le propriétaire |
Vous gagnez un contrôle clair sur vos actifs analytiques. Lorsque vous déployez un nouvel élément, vous en devenez le propriétaire. Si vous le déployez vers une étape où l’élément existe déjà, la propriété reste inchangée. Microsoft Fabric s’appuie sur les rôles et les autorisations des espaces de travail pour vous aider à gérer les accès. Vous pouvez relier votre espace de travail à GitHub ou à Azure DevOps pour le contrôle de version et les déploiements automatisés. Cette intégration vous offre un flux de travail DevOps unifié pour vos projets d’analytique des données.
Astuce : utilisez les pipelines de déploiement de Microsoft Fabric et les autorisations des espaces de travail pour protéger vos données tout en gardant votre équipe productive.
Déploiements hybrides
Vous devez souvent recourir à plusieurs plateformes pour gérer vos déploiements. C’est fréquent dans les grandes organisations ou lorsque vous souhaitez combiner les atouts de différents outils. Les déploiements hybrides vous permettent d’utiliser GitHub pour la gestion de code source, Azure DevOps pour les pipelines et Microsoft Fabric pour l’analytique. Vous pouvez relier ces plateformes afin de créer un flux de travail adapté à vos besoins.
Vous pouvez commencer par stocker votre code dans GitHub. Vous pouvez utiliser GitHub Actions pour exécuter des tests et compiler votre application. Ensuite, vous pouvez envoyer les artefacts de compilation vers Azure DevOps, qui offre des contrôles avancés sur les pipelines et une gestion des artefacts. Vous pouvez configurer des portes d’approbation et utiliser le contrôle d’accès basé sur les rôles pour déterminer qui peut déployer en production. Lorsque vous devez traiter des données analytiques, vous pouvez relier Microsoft Fabric à vos dépôts. Vous gérez ainsi vos actifs analytiques et leurs déploiements avec une gouvernance solide.
Les déploiements hybrides vous offrent de la souplesse. Vous pouvez choisir le meilleur outil pour chaque partie de votre flux de travail, et faire évoluer vos opérations au rythme de la croissance de votre équipe. Toutefois, vous devez gérer la propriété avec soin. Chaque plateforme possède ses propres règles en matière d’accès, de gouvernance et de sécurité, et vous devez vous assurer que ces règles fonctionnent ensemble.
Voici quelques bonnes pratiques pour gérer la propriété des déploiements dans les environnements hybrides :
| Bonne pratique | Description |
|---|---|
| Automatisation | Utilisez des pipelines de déploiement continu pour automatiser la création, les tests et le déploiement. Cela réduit les erreurs et vous fait gagner du temps. |
| Stratégies de déploiement | Appliquez des stratégies de déploiement bleu-vert ou canary. Ces méthodes vous aident à mettre à jour vos applications avec moins de risques et moins d’interruptions. |
| Outils de gestion cohérents | Utilisez des outils comme Octopus, Anthos ou OpenShift pour gérer les déploiements sur différentes plateformes. Ces outils vous aident à maintenir un processus cohérent. |
Vous devez automatiser autant que possible. L’automatisation réduit les erreurs et accélère vos déploiements. Vous devez également recourir à des stratégies de déploiement intelligentes. Les déploiements bleu-vert et canary vous permettent de tester de nouvelles versions sans affecter tous les utilisateurs. Vous détectez ainsi les problèmes plus tôt.
Vous devez utiliser des outils de gestion compatibles avec plusieurs plateformes. Ces outils vous aident à suivre les déploiements et à vous assurer que chacun respecte les mêmes règles. Vous pouvez configurer des tableaux de bord pour surveiller vos pipelines et recevoir des alertes en cas de problème.
Astuce : examinez vos paramètres d’accès et de gouvernance sur chaque plateforme. Assurez-vous que seules les personnes habilitées peuvent déployer ou modifier votre code. Cela renforce la sécurité de votre flux de travail.
Les déploiements hybrides peuvent sembler complexes, mais vous pouvez les gérer avec les bonnes pratiques. Vous bénéficiez des atouts de chaque plateforme tout en gardant le contrôle de vos déploiements. En suivant ces bonnes pratiques, vous garantissez la fiabilité et la sécurité de vos logiciels.
Choisir la bonne plateforme DevOps
Questions clés sur la propriété
Vous devez poser les bonnes questions avant de choisir une plateforme DevOps. Ces questions vous aident à comprendre comment chaque outil gère la propriété, la gouvernance et l’intégration. Tenez compte des points suivants :
- Qui contrôle l’accès à votre code et à vos artefacts ?
- Comment la plateforme applique-t-elle la gouvernance et la conformité ?
- Pouvez-vous automatiser des rappels pour les métadonnées manquantes dans les déploiements ?
- La plateforme prend-elle en charge l’intégration avec vos outils existants ?
- Comment la plateforme gère-t-elle la propriété des services et les métadonnées ?
Recherchez une plateforme DevOps qui vous permet de gérer la propriété des services. Veillez à ce que les développeurs saisissent les métadonnées des services lorsqu’ils en créent de nouveaux. L’automatisation vous aide à garder ces métadonnées exactes. Vous pouvez faire évoluer votre plateforme de déploiement vers une plateforme de développement interne (IDP) afin de centraliser la propriété et de rationaliser vos processus DevOps.
Astuce : posez ces questions dès le début. Vous éviterez toute confusion et bâtirez une base solide pour votre flux de travail DevOps.
Points forts des plateformes
Chaque plateforme DevOps présente des atouts spécifiques. Vous devez les faire correspondre aux besoins de votre projet. Voici un aperçu rapide :
| Plateforme | Points forts |
|---|---|
| GitHub | Mise en place simple, automatisation rapide, intégration fluide avec les flux de travail centrés sur les dépôts |
| Azure DevOps | Services CI/CD matures, gouvernance avancée, portes d’approbation, déploiements complexes en plusieurs étapes |
| Microsoft Fabric | Analyse unifiée, gouvernance des données robuste, intégration fluide avec GitHub et Azure DevOps |
Vous pouvez utiliser GitHub Actions pour une adoption rapide et une intégration facile. GitHub convient bien aux équipes qui recherchent des solutions simples. Azure DevOps vous offre des contrôles avancés pour les flux de travail complexes. Vous bénéficiez de fonctionnalités telles que les portes d’approbation et les stratégies d’exécution conditionnelle. Azure Pipelines est idéal pour les déploiements riches en intégrations. Microsoft Fabric apporte une analyse unifiée et une gouvernance centralisée. Vous pouvez lier votre espace de travail à GitHub ou Azure DevOps pour le contrôle de version et le déploiement.
- GitHub Actions privilégie la simplicité et une mise en œuvre rapide.
- Azure DevOps propose des services matures pour l’intégration et la livraison continues.
- Microsoft Fabric regroupe les outils d’ingénierie des données, d’entrepôt et d’analyse.
Note : choisissez une plateforme adaptée à votre flux de travail et à vos besoins de gouvernance. Chaque plateforme offre des atouts différents en matière de propriété DevOps.
Vous gagnez une responsabilité claire sur vos déploiements en comprenant comment GitHub, Azure DevOps et Microsoft Fabric gèrent le code, les artefacts, les accès et la gouvernance. Choisissez une plateforme adaptée à vos exigences en matière de sécurité et de conformité. Définissez des stratégies de gestion des points de terminaison, établissez une responsabilité partagée entre les équipes et identifiez les contrôles de sécurité essentiels. Passez régulièrement en revue les fonctionnalités des plateformes pour garder une longueur d’avance sur les risques. Alignez le choix de votre plateforme sur les stratégies d’IA responsable, notamment l’équité, la fiabilité et la responsabilité. Cette approche vous aide à protéger vos données et à maintenir une gouvernance solide.
Pour résumer l’incidence de ces choix sur vos stratégies de déploiement, pensez à écouter notre épisode de podcast associé, GitHub vs Azure DevOps for Microsoft Fabric CI/CD, qui examine en détail ces décisions stratégiques pour les entreprises.
Questions fréquentes
Que signifie la responsabilité du déploiement dans les plateformes DevOps ?
La responsabilité du déploiement signifie que vous contrôlez votre code, vos artefacts, vos accès et la gouvernance. Vous décidez qui peut déployer, suivez les modifications et appliquez les règles. Cette responsabilité vous aide à protéger vos projets et à maintenir la conformité.
Comment GitHub, Azure DevOps et Microsoft Fabric gèrent-ils le contrôle d’accès ?
Vous définissez les rôles et les autorisations dans chaque plateforme. GitHub utilise les équipes et les propriétaires de code. Azure DevOps s’appuie sur des groupes de sécurité et un contrôle d’accès basé sur les rôles. Microsoft Fabric repose sur Microsoft Entra ID pour les autorisations sur les espaces de travail.
Peut-on automatiser les déploiements sur les trois plateformes ?
Oui, vous pouvez automatiser les déploiements avec GitHub Actions, Azure Pipelines ou les pipelines de déploiement de Microsoft Fabric. L’automatisation vous permet de livrer les mises à jour plus rapidement et réduit les erreurs.
Comment Microsoft Fabric s’intègre-t-il à GitHub et Azure DevOps ?
Vous connectez votre espace de travail Fabric à un dépôt GitHub ou Azure DevOps. Cette intégration vous offre le contrôle de version, des déploiements automatisés et une gouvernance unifiée des analyses.
Quelles fonctionnalités de sécurité protègent vos déploiements ?
Vous utilisez l’authentification à deux facteurs, la gestion des secrets et des analyses de sécurité automatisées. Azure DevOps ajoute des portes d’approbation et Defender for Cloud. Microsoft Fabric propose des outils de prévention de la perte de données et de gestion de la confidentialité.
Comment gérez-vous la conformité dans ces plateformes ?
Vous définissez des stratégies de branche, des journaux d’audit et des règles de gouvernance. Azure DevOps et Microsoft Fabric prennent en charge des référentiels de conformité tels que le RGPD et ISO. GitHub Enterprise propose des outils de conformité avancés pour les organisations.
Qui est propriétaire des éléments analytiques déployés dans Microsoft Fabric ?
Vous devenez propriétaire lorsque vous déployez un nouvel élément. Si vous déployez vers une étape contenant déjà un élément, la propriété reste inchangée. Les rôles et les autorisations de l’espace de travail vous permettent de gérer les accès.
Quelles sont les principales différences entre Azure DevOps et GitHub ?
Azure DevOps (ADO) est une suite d’outils pour développeurs qui propose Azure Boards, Pipelines, Repos, Test Plans et la gestion des artefacts, axée sur la gestion de projet d’entreprise et le CI/CD. GitHub, quant à lui, est une plateforme centrée sur Git, articulée autour des dépôts Git, des demandes de tirage (pull requests) et de la communauté des développeurs, avec des fonctionnalités telles que GitHub Repos, GitHub Enterprise Cloud et GitHub Actions. Azure DevOps est souvent privilégié pour le suivi intégré des éléments de travail et pour son héritage de Visual Studio Team Services (TFS), tandis que GitHub offre un vaste écosystème open source et des fonctionnalités de collaboration modernes.
Quel outil utiliser pour le contrôle de version : Azure Repos ou GitHub Repos ?
Les deux prennent en charge les dépôts Git et le contrôle de version. Azure Repos s’intègre étroitement à Azure Boards et Azure Pipelines, ce qui le rend attractif pour les équipes qui utilisent les flux de travail Microsoft Azure DevOps. GitHub Repos (hébergé sur GitHub) excelle pour les dépôts publics et privés, la gestion de projets open source, les contributions de la communauté et des fonctionnalités telles que les flux de demandes de tirage. Le choix dépend de votre préférence : un Azure Boards intégré ou la plateforme GitHub et sa communauté plus large.
Peut-on migrer des dépôts d’Azure Repos vers GitHub ?
Oui, vous pouvez déplacer des dépôts d’Azure Repos vers GitHub. De nombreuses équipes exportent les dépôts git depuis les dépôts ADO et les importent dans un dépôt GitHub, ou utilisent des outils de migration. La migration implique souvent de préserver l’historique des commits, de gérer les utilisateurs gérés par l’entreprise pour GitHub Enterprise Cloud et, si vous le souhaitez, de mettre à jour les intégrations CI/CD, en passant d’Azure Pipelines à GitHub Actions.
Comment Azure Boards et GitHub Issues se comparent-ils pour la gestion de projet agile ?
Azure Boards offre une gestion de projet agile complète, avec des éléments de travail, des backlogs, des sprints et une intégration poussée avec les pipelines et Test Plans, ce qui en fait un outil de gestion de projet solide pour les grandes entreprises. GitHub Issues (et les tableaux de projet) sont plus simples et mieux adaptés aux workflows des projets open source et des communautés de développeurs. GitHub a toutefois élargi ses fonctionnalités de planification de projet. Certaines équipes tirent le meilleur des deux mondes en connectant leurs dépôts GitHub à Azure Boards.
GitHub Copilot est-il disponible pour les utilisateurs d’Azure DevOps ?
GitHub Copilot s’intègre principalement aux outils de développement comme Visual Studio Code et Visual Studio. Les développeurs qui utilisent Azure DevOps peuvent donc continuer à utiliser Copilot dans leurs IDE. Le lancement de GitHub Copilot et les fonctionnalités d’espace de travail Copilot qui ont suivi le rendent accessible aux développeurs, quel que soit le service CI/CD utilisé en back-end. Certains contrôles d’entreprise et certaines licences dépendent toutefois de votre choix entre GitHub Enterprise Cloud et des environnements gérés avec Azure DevOps.
Quelle plateforme est la meilleure pour la sécurité et les utilisateurs gérés par l’entreprise : GitHub ou Azure DevOps ?
Les deux plateformes proposent des fonctionnalités avancées pour les entreprises. Microsoft Azure DevOps offre un contrôle d’accès précis, une intégration à Azure AD et des fonctionnalités de conformité avancées. GitHub Enterprise Cloud inclut les utilisateurs gérés par l’entreprise ainsi que GitHub Advanced Security for Azure, qui apporte l’analyse de code, la détection de secrets et la gestion des dépendances. Le choix dépend des besoins de votre organisation. Azure DevOps peut mieux s’intégrer aux outils Microsoft existants, tandis que GitHub offre des fonctionnalités open source et communautaires plus solides, ainsi que des options de sécurité avancées.
Comment se comparent les pipelines CI/CD d’Azure Pipelines et de GitHub Actions ?
Azure Pipelines (qui fait partie d’Azure Boards and Pipelines) propose un CI/CD multiplateforme robuste, fortement intégré à Azure DevOps et Visual Studio. GitHub Actions est étroitement intégré à la plateforme GitHub et offre des workflows flexibles déclenchés par les événements des dépôts, ainsi qu’une automatisation fluide des pull requests. Les deux prennent en charge les conteneurs, les déploiements cloud et les runners auto-hébergés. Choisissez l’outil DevOps qui correspond à votre workflow, ou combinez-les pour tirer le meilleur des deux mondes.
Puis-je utiliser Visual Studio et VS Code avec les deux plateformes ?
Oui, Visual Studio et Visual Studio Code (VS Code) prennent en charge GitHub et Azure DevOps. Visual Studio dispose d’intégrations natives pour Azure Repos et ADO, tandis que VS Code fonctionne très bien avec les dépôts GitHub, GitHub Copilot et les dépôts git en général. Les développeurs peuvent utiliser ces outils sur les deux plateformes pour modifier le code, exécuter des tests et interagir avec les pull requests ou les éléments de travail.
Qu’en est-il des tests : Azure Test Plans existe-t-il sur GitHub ?
Azure Test Plans est une solution de test intégrée à Azure DevOps, qui fournit des outils de tests manuels et exploratoires. GitHub ne propose pas de produit de plan de test intégré équivalent. En revanche, vous pouvez intégrer aux dépôts GitHub des frameworks de test, des actions et des outils tiers de gestion des tests afin d’obtenir des capacités similaires d’automatisation et de reporting des tests.
Quelles sont les différences de tarification et d’hébergement entre GitHub et Microsoft Azure DevOps ?
GitHub propose des services hébergés (GitHub.com, GitHub Enterprise Cloud) avec des offres par paliers destinées aux équipes et aux entreprises, centrées sur les dépôts publics et privés ainsi que sur l’accès communautaire. Microsoft Azure DevOps Services propose également des options cloud hébergées, avec une tarification par utilisateur, ainsi que des variantes sur site (anciennement TFS et Visual Studio Team Services). Les décisions de coût tiennent compte du temps d’exécution des pipelines, du stockage des artefacts, des utilisateurs gérés par l’entreprise et du besoin éventuel d’un hébergement sur site.
Les équipes peuvent-elles utiliser GitHub et Azure DevOps ensemble ?
Oui. De nombreuses organisations combinent GitHub pour l’hébergement du code et la collaboration communautaire avec Azure DevOps pour la gestion de projet, les pipelines ou les plans de test. Cette approche permet de tirer le meilleur des deux mondes : les atouts de la plateforme GitHub pour les dépôts et la communauté, et les fonctionnalités d’Azure DevOps, comme Azure Boards. Les intégrations et les connecteurs facilitent la synchronisation des dépôts d’Azure Repos vers GitHub, ou la liaison des événements des dépôts GitHub aux tableaux ADO.
Quel outil les développeurs de la communauté privilégient-ils : GitHub ou Azure DevOps ?
Les contributeurs open source et de nombreux développeurs indépendants préfèrent GitHub, car il favorise la communauté, propose des dépôts publics et privés ainsi que des workflows de revue intégrés. Les développeurs en entreprise et les équipes ayant besoin d’une gestion de projet complète optent plus souvent pour Azure DevOps. Les préférences dépendent aussi de l’investissement existant dans Visual Studio et Microsoft Azure, ainsi que de la priorité accordée à des fonctionnalités comme GitHub Copilot ou GitHub Advanced Security pour Azure.
Quels critères une équipe doit-elle prendre en compte pour choisir entre GitHub et Azure DevOps ?
Tenez compte de vos besoins en gestion de versions, de l’intégration avec Visual Studio ou VS Code, de la nécessité d’une gestion de projet agile (Azure Boards), de vos exigences en matière de sécurité et de conformité, du besoin d’Azure Test Plans, de la visibilité communautaire et open source, ainsi que de votre souhait de disposer de fonctionnalités comme GitHub Copilot ou d’une analyse de sécurité avancée. Évaluez quel outil DevOps correspond à votre flux de travail, ou adoptez un modèle hybride pour exploiter les dépôts d’Azure Repos ou utiliser des dépôts GitHub avec Azure Boards et les pipelines.