Les limites de SSIS : porter les packages dans le cloud déplace la dette, pas le problème
Les parcs SSIS ont trois problèmes qu'une VM dans le cloud ne résout pas : un package par table que personne ne veut ouvrir, des releases que le DevOps n'atteint pas, et une conception qui s'arrête à SQL Server. L'Azure-SSIS Integration Runtime emmène les trois dans Azure intacts. Un modèle qui génère l'entrepôt les supprime à la place.
SSIS a fait tourner l’entrepôt SQL Server pendant vingt ans et il a le parc qui va avec. La question en 2026 n’est pas de savoir s’il faut le quitter mais comment, et la réponse par défaut, une VM ou un Azure-SSIS Integration Runtime qui exécute les packages tels quels, déplace le parc sans toucher à aucune des trois choses qui le rendent coûteux.
Trois problèmes qu’une VM ne résout pas
- La dette de packages. Des centaines de packages, un par table, construits par de nombreuses mains, ouverts un à la fois. Voir l’article sur la dette de packages.
- Le déploiement. Du XML qui se merge mal, des mappings d’environnement SSISDB maintenus à la main, et des releases dont on ne sait qu’à la première exécution planifiée si elles fonctionnent. Voir l’article sur le déploiement et le CI/CD.
- La frontière de la plateforme. Conçu pour aller de SQL Server à SQL Server ; tout le reste est un connecteur, un serveur plus gros ou une réécriture. Voir l’article sur SSIS au-delà de SQL Server.
Le lift and shift emmène les trois dans le cloud intacts. Une VM est une infrastructure que vous gérez ; l’Azure-SSIS Integration Runtime est un cluster managé à l’intérieur de Data Factory avec un tarif horaire. Les packages sont les mêmes packages sur l’un comme sur l’autre. La destination de Microsoft elle-même, Fabric Data Factory, est un nouveau canvas, ce qui revient à reconstruire le parc à la main.
Ne recréez pas le problème dans le cloud
Une migration est le seul moment où tout le parc est de toute façon sur la table. Le consacrer à réhéberger des chargements construits à la main, c’est arriver dans le cloud avec un package par table, une difficulté de merge et une conception qui s’arrête toujours à une seule plateforme. Le consacrer à un modèle donne autre chose :
- Une migration plus rapide. Les sources sont mappées à partir de leurs clés métier, et non traduites package par package. Les anciens packages continuent de tourner jusqu’à ce que chaque source soit mappée, donc il n’y a pas de bascule brutale.
- Moins de problèmes ensuite. Pas d’historisation écrite à la main, pas de package que seul son auteur comprend, pas de table de mappings d’environnement. Les chargements générés ont tous la même structure.
- Une solution pérenne. Le même modèle génère pour SQL Server, Azure SQL et Fabric, et pour Snowflake, Databricks ou BigQuery si cette décision est un jour prise. Le prochain changement de plateforme est un changement de cible.
Ce qui change avec Datavault Builder
Datavault Builder décrit l’entrepôt dans un modèle visuel et en génère les chargements de staging, de vault et de livraison, avec le déploiement, le rollback, la documentation et le lineage, nativement sur SQL Server, Azure SQL et Fabric.
- Les packages sont retirés, pas réhébergés. Chaque source mappée est un package qui n’a plus besoin d’un serveur, ni on premises ni dans Azure.
- Les releases sont générées, rollback inclus. Une comparaison de deux états, les différences que vous choisissez, et les dépendances proposées pour chacune. Pas de .ispac, pas de mappings SSISDB.
- Les chargements s’exécutent dans le moteur. Du SQL delta ensembliste dans SQL Server ou Fabric. Pas de machine ETL, pas de buffer de data flow, pas de licence supplémentaire.
- Les sources se connectent directement. En batch, en delta et en CDC depuis des bases, des fichiers, des API REST, des sources NoSQL et Python, avec des flux comme Kafka traités en micro batches.
- La plateforme reste votre choix. Modernisez l’ETL sur SQL Server maintenant, déplacez la cible vers Fabric quand vous serez prêt, et gardez la porte ouverte vers n’importe quel autre entrepôt.
Par où commencer
Dressez deux listes : les packages qui ne font que charger une table vers le staging ou l’entrepôt, et les packages dont la cible est la plateforme qui déménage. La première est ce qu’un modèle devrait générer. La seconde est ce que le portage emmènerait tel quel. Commencez là où les deux se recoupent. Si les packages tournent déjà sur un Azure-SSIS Integration Runtime, ajoutez ses heures de nœuds par mois à côté de la seconde liste. C’est le prix de la conservation de la dette.
Voyez-le fonctionner sur l'une de vos sources
Réservez une démo gratuite et apportez le connecteur qui vous coûte le plus cher, en argent ou en temps.
Comment Datavault Builder supprime les frictions de l'ingestion
-
L'ingestion est intégrée
Chargements batch, delta et CDC depuis les bases de données, les fichiers, les API REST, les sources NoSQL et Python, les flux comme Kafka arrivant en micro-batches. La même plateforme qui génère le warehouse, sans seconde facture.
-
Votre schéma, pas celui du fournisseur
Les tables source sont mappées vers un modèle Data Vault 2.0 que vous avez conçu. Une nouvelle colonne ou une table renommée change un mapping, pas une chaîne de scripts post-chargement.
-
Seuls les deltas circulent
Les Hubs, Links et Satellites chargent ce qui a changé. Les rechargements complets restent en staging au lieu d’être retraités en aval chaque nuit.
-
L'historique est conservé par conception
Chaque changement est conservé tel qu’il arrive, donc le reporting historique fonctionne même là où la source écrase ses propres lignes.
-
Du code que vous n'écrivez jamais
Le chargement, l’historisation et la traçabilité sont générés depuis le modèle en temps réel et s’exécutent nativement sur Snowflake, Databricks, BigQuery, SQL Server, Fabric, Oracle ou PostgreSQL.
-
Une plateforme, jusqu'à neuf outils en moins
Modélisation, ETL, CI/CD, documentation et traçabilité au même endroit. C’est ce qui rend possible les 14,7 minutes entre le besoin et la production.
Rencontrez notre expert
Vingt minutes avec notre Sales Director et une réponse honnête sur l’adéquation avec votre stack.
Matt Collett
Sales Director
Parfait, choisissez un créneau qui vous convient :
Les autres problèmes traités par cette série
-
SSIS s'arrête-t-il là où commence votre entrepôt dans le cloud ?
SSIS a été conçu pour déplacer des données entre instances SQL Server on premises. Quand l’entrepôt part vers Fabric, Snowflake, Databricks ou BigQuery, les options sont de porter les packages sur un Azure-SSIS Integration Runtime, d’acheter des connecteurs tiers, ou de réécrire. Un modèle qui génère nativement pour la nouvelle plateforme est la quatrième option, et la seule qui n’emmène pas les packages avec elle.
-
SSIS est-il la seule partie de votre stack encore incapable de faire du CI/CD ?
Un fichier .dtsx est du XML qui se compare mal et se merge encore plus mal, si bien que deux ingénieurs sur un même package finissent par tout refaire. Les environnements résident dans des mappings de variables SSISDB maintenus à la main. Le DevOps moderne s’arrête au projet SSIS. Les releases devraient être générées à partir d’un modèle, par environnement, rollback inclus.
-
Vos packages SSIS sont-ils plus nombreux que les gens capables de les comprendre ?
Des centaines de packages .dtsx, un par table, construits dans Visual Studio par celui qui avait le ticket, avec des control flows et des data flows qui ne s’ouvrent qu’un à la fois. Ajouter une colonne revient à ouvrir les packages un par un. La solution n’est pas un modèle de package. C’est un modèle qui génère les chargements, nativement sur SQL Server, Azure SQL ou Fabric.
Questions et réponses
- Non. C’est un argument contre le fait d’emmener dans Azure des packages construits à la main sans rien y changer. L’entrepôt généré tourne nativement sur Fabric et Azure SQL, et sur SQL Server on premises aussi longtemps que vous y restez.
- L’Azure-SSIS Integration Runtime comme pont, et Fabric Data Factory comme destination. Le pont exécute les packages tels quels. La destination est un nouveau canvas, donc une reconstruction à la main. Générer à partir d’un modèle est la troisième option, et la seule où les packages sont retirés plutôt que réhébergés ou reconstruits.
- C’est un mapping par source plutôt qu’une réécriture par package, et le parc se réduit un mapping à la fois pendant que les anciens packages continuent de tourner. Aucun chiffre n’est honnête sans connaître le parc ; ce qui change, c’est la nature du travail.