Par Mathilde 24 juil. 2023

Actualité Techno – Récit de notre expérience BI avec Azure Synapse

L’intelligence d’affaires, c’est l’ensemble des processus et technologies qui vous permettent de transformer vos données d’entreprise en informations de gestion essentielles à des prises de décisions éclairées. Elle représente un avantage concurrentiel énorme, et c’est d’autant plus le cas en temps de récession. Nos clients l’ont d’ailleurs bien compris!

Au sein de notre équipe BI (Business Intelligence), nous avons eu la chance de travailler sur des projets d’envergure pour différents clients avec divers outils visant à exploiter le plein potentiel des données d’une entreprise, quel que soit son domaine d’expertise. Nous avons d’ailleurs utilisé Azure Synapse à plusieurs reprises. Après plusieurs années d’utilisation et de déploiements successifs des versions, nous souhaitons partager notre point de vue et vous donner un avis authentique sur cette fameuse plateforme Cloud développée par Microsoft.

Qu’est-ce que Synapse?

Tout d’abord, permettez-nous un bref rappel sur Synapse. Il s’agit d’un outil d’analyse de données qui permet de combiner diverses ressources, en particulier des ressources de stockage et des ressources de calcul. En gros, il nous permet d’exploiter les données de nos clients, de les consolider, de les analyser et de les visualiser, le tout au sein d’un environnement agile et évolutif.

La grande variété des ressources et l’évolutivité (scalability) de l’outil grâce à l’hébergement dans le Cloud lui permettent de s’adresser à un large panel de publics et de budgets. Nous avons donc exploré ses fonctionnalités dans les moindres détails pour vous faire un retour d’expérience utile et complet.

Les fonctionnalités de Synapse qui ont conquis notre équipe BI

Azure Synapse offre plusieurs fonctionnalités que nous avons grandement appréciées:

1. Paramétrisation

Presque tous les éléments dans Synapse (services liés, runtimes d’intégration, pipelines, data flows, triggers, etc.) peuvent être paramétrés grâce au Dynamic Content. Cela offre beaucoup de flexibilité de développement, notamment dans la réalisation de tâches répétitives. Par exemple, il est courant sur nos projets d’utiliser des fichiers de paramètres JSON. Ainsi, nous évitons par exemple d’avoir vingt pipelines similaires qui vont ingérer la même source de données et n’en avoir qu’une seule qui se module automatiquement en fonction des paramètres qui lui sont passés.

2. Historisation

Pour ceux qui ne veulent pas utiliser les méthodes traditionnelles d’historisation de données comme les SCD (Slowly Changing Dimensions), qui impliquent notamment l’utilisation de base de données SQL pouvant engendrer des coûts considérables, Synapse intègre également le format de données Delta qui repose sur la technologie Apache Parquet (une technologie open source développée par Databricks) permettant, entre autres, d’historiser des fichiers textes à l’aide de la capacité de «time travel».

3. Volume

Azure Synapse est capable de gérer des volumes massifs de données qu’elles soient structurées ou non. Grâce au Cloud, elle permet de façon élastique de mettre à l’échelle le stockage et d’exécuter également des calculs, et ce de façon indépendante. Plusieurs options existent pour le stockage de données, notamment Azure Data Lake Storage Gen2, sa plateforme de data lake, qui devrait être envisagée pour tout projet dépassant le téraoctet de données. À noter que pour ce dernier, Synapse fait usage de PolyBase qui offrent des performances sans précédent.

4. Intégration avec les services Azure

La plateforme Synapse s’intègre parfaitement avec les autres services Azure. De plus, elle intègre Spark (un clin d’œil à notre partenaire Databricks). Cependant, il convient de faire attention aux surprises de facturation, car l’utilisation de Spark sur Synapse semble être beaucoup plus coûteuse que sur Databricks!

5. Parallélisation

Les bases de données dans Azure Synapse reposent sur la technologie de traitement massivement parallèle (MPP), qui lui permet de gérer les charges de travail analytiques, d’agréger et traiter efficacement de grands volumes de données. Les moteurs de base de données parallèles répartissent également les données entre de nombreux nœuds qui fonctionnent en parallèle pour traiter différentes parties des requêtes. Cette architecture de base de données facilite les processus analytiques complexes et de longue durée. De plus, l’ajout de Spark offre autant de possibilités de traitement de données massives, notamment pour tout ce qui est du domaine de l’intelligence artificielle.

6. Connecteurs

Une multitude de connecteurs sont disponibles, permettant d’intégrer nativement des données venant des sources de données les plus populaires comme SQL, MySQL, SAP, Google Sheets, HubSpot, REST, Shopify, pour ne citer que celles-ci… Il est toujours possible de chercher d’autres connecteurs dans un catalogue partagé entre les utilisateurs, voire de créer le sien s’il n’existe pas.

Trois suggestions d’améliorations pour Azure Synapse

Malgré les atouts indéniables de l’outil Synapse, il y a d’autres aspects que nous apprécions moins et sur lesquels nous aimerions voir des améliorations dans les prochaines versions pour avoir une expérience plus fluide:

1. Variables d’environnement

Synapse ne propose pas de gestion des variables d’environnement, ce qui pose des difficultés au niveau de l’intégration des versions et de la réutilisation des projets. Nous devons le gérer «à la main», ce qui entraîne une plus grande complexité dans les pipelines en utilisant un système de versionnage JSON pour les fichiers.

2. Complexité du CI/CD

Le Déploiement et intégration continus (CI/CD = continuous integration, continuous delivery) peut rapidement devenir complexe, notamment parce que la tâche par défaut disponible sur DevOps est limitée. De plus, certains éléments tels que les pools Spark et les runtimes d’intégration requièrent une attention particulière lors du passage d’un environnement à un autre.

3. Partage de runtimes d’intégration

Contrairement à Data Factory, Synapse ne supporte pas le partage de runtimes d’intégration, ce qui pose des problèmes à différents niveaux, notamment en ce qui concerne le CI/CD.

Conclusion

Nous sommes à l’unanimité globalement satisfaits de l’utilisation de Synapse et nous espérons que Microsoft continuera à l’améliorer. Nous avons hâte de découvrir ses prochaines fonctionnalités!

En parallèle de notre expérience avec Azure Synapse, nous souhaitons également souligner l’intérêt croissant autour de Microsoft Fabric. Cette nouvelle solution de Microsoft offre des fonctionnalités avancées pour le développement et le déploiement d’applications distribuées à grande échelle. Microsoft prévoit par ailleurs de proposer des chemins de migration permettant de transitionner les projets de Synapse directement vers Fabric, et ceci dans un futur proche. En explorant les possibilités offertes par Microsoft Fabric, nous sommes convaincus que cet outil peut compléter et renforcer l’écosystème existant, y compris l’intégration avec Azure Synapse.

En combinant les capacités de Synapse avec les fonctionnalités de Microsoft Fabric, les équipes BI pourraient bénéficier d’une solution plus complète et adaptable pour leurs besoins de traitement et d’analyse des données. Nous restons très attentifs aux évolutions de Microsoft Fabric et avons hâte de l’utiliser pour des projets futurs! Restés connectés, nous vous en parlerons très bientôt. 😇

Articles recommandés
Publié le 3 juillet 2023

La recette du succès en période de récession: l'adoption de la BI

Nos experts BI vous partagent une solution qui vous aidera à résister à la crise en plus de quelques bonnes idées pour vous faufiler à travers les embûches de cette période trouble.

En lire plus
Publié le 27 juin 2023

Actualité Techno - Les 10 ressources préférées de nos développeurs

Tech, data, programmation et IA sont tes sujets de prédilection? Nos développeurs t’ont concocté une liste de leurs ressources préférées.

En lire plus
Partager sur