Outils ETL – Comment évaluer les outils ETL en cloud
La séquence Extract-Transform-Load (ETL, extraction-transformation-chargement) est le processus utilisé pour transformer les données brutes en Business Intelligence exploitable. Dans un processus ETL, les données sont extraites d'applications de type Salesforce et SAP, de bases de données Oracle ou Redshift ou de fichiers au formats CSV, XML, JSON ou AVRO. Après extraction, les données sont transformées en informations exploitables, puis chargées dans de nouvelles applications ou vers de nouvelles destinations. Elles peuvent également être stockées dans un data lake ou un data warehouse avant d'être transformées par un processus ELT.
Ces différents traitements de données peuvent être effectués par des opérations codées à la main ou à l'aide d'un outil ETL. Mais de même que les processus de traitement des données évoluent et sont de plus en plus souvent hébergés dans le cloud, les outils ETL doivent également évoluer. Une grande partie des données de l'entreprise proviennent de sources en cloud ou de capteurs, mais une partie non négligeable des données critiques de l'entreprise sont toujours stockées sur site.
Dans ce document, nous allons examiner les scénarios pour lesquels vous aurez besoin d'un outil ETL et les spécifications à prendre en compte au moment de choisir votre outil ETL et nous verrons pourquoi vos outils ETL doivent être prêts à fonctionner dans le cloud.
Outils ETL en cloud et sur site
Tous les aspects de l'IT sont en train d'évoluer vers le cloud. Un rapport Forrester indique que le marché international du cloud public a augmenté de 40 milliards $USD pour atteindre 178 milliards $USD en 2017, et qu'il va continuer de connaître un taux de croissance CAGR/TCAM de 22 %. Cette perspective crée un nouvel impératif pour les entreprises pilotées par les données : les data warehouses en cloud prennent une importance accrue, le traitement des données dans le cloud devient critique pour l'analytique en temps réel, et les applications SaaS (en cloud) permettent aux entreprises de profiter de nouvelles capacités et fonctionnalités efficaces et peu coûteuses.
Ces capacités et fonctionnalités proposées par le cloud transforment le paysage du traitement des données, mais elles créent des silos de données dans le cloud en plus de ceux qui existent déjà dans les systèmes legacy. Dans un monde de plus en plus orienté vers le cloud, les entreprises doivent travailler avec des environnements en cloud (plates-formes, bases de données, applications) et avec les données générées par ces environnements – sans oublier les données stockées dans vos systèmes sur site. Les outils ETL que vous allez choisir doivent être capables d'accepter les données provenant de n'importe quelle source : mono-cloud, multi-cloud, hybride ou sur site. Pour profiter au maximum des incessantes innovations du cloud, il est important que votre infrastructure de gestion des données soit suffisamment flexible pour migrer en toute transparence à chaque changement de prestataire cloud.
Pourquoi avez-vous besoin d'outils ETL ?
De nombreux spécialistes des données se demandent pourquoi ils auraient besoin d'outils ETL alors que le codage manuel leur permet généralement d'exécuter les tâches requises rapidement et à moindre coût. Le codage manuel présente deux inconvénients majeurs :
- Il ne facilite pas le partage et la réutilisation – Les bons outils ETL de qualité doivent inclure une interface de conception graphique pour permettre à vos collègues de consulter l'organigramme et de constater l'état d'avancement et les étapes restantes du projet. Avec le codage manuel, il est difficile de vérifier les opérations terminées, de sorte que les développeurs ont tendance à faire deux fois (ou plus !) le même travail, ce qui représente une perte de temps et un gaspillage des ressources.
- Il augmente les coûts de maintenance – Pour les personnes chargées de la maintenance et du support technique du code une fois que celui-ci est en production, la courbe d'apprentissage de l'approche codée manuellement sera très élevée, et si le code reste en production pendant plusieurs années, le renouvellement du personnel technique entraînera des coûts encore plus élevés à long terme.
L'intégration des données commence souvent par de petits projets, par exemple une preuve de concept (POC) pour des résultats rapides. Dans ce contexte, un développeur aura souvent besoin de connecter deux systèmes pour exécuter une tâche donnée, et il aura l'impression qu'il n'a pas besoin d'un outil ETL pour gérer des processus plus complexes tels que l'analytique en temps réel ou la gouvernance des données là où le codage manuel fait parfaitement l'affaire. Mais le problème est qu'il est rare que les « petits » projets ne grandissent pas... Très souvent, ces projets sont découverts, puis adoptés, par le reste de l'entreprise, de sorte que ce qui commence par un projet modeste peut se transformer très rapidement en un projet interdépartemental, et soudain cette « petite intégration rapide » codée manuellement semble beaucoup moins « rapide » et beaucoup moins « petite » !
En outre, avec l'augmentation du nombre et volume des sources de données et la multiplication des réglementations de protection des données telles que le RGPD de l'UE, les processus ETL doivent impérativement intégrer des fonctionnalités de qualité des données, gouvernance des données et gestion des métadonnées. Ces fonctionnalités sont impossibles à coder manuellement à l'échelle requise par la plupart des entreprises.
Un exemple est celui d'une entreprise américaine de télécommunications qui compte plus de 50 millions d'abonnés. Leur équipe de publicité voulait créer un nouveau produit qui leur permettrait de vendre de la publicité locale et personnalisée aux participants d'une conférence. Ils ont décidé d'utiliser Hadoop pour suivre les données de localisation des téléphones portables dans leur réseau. Avec Hadoop, ils n'ont eu aucun problème pour analyser ces données à une telle échelle. Lorsque les autres acteurs de l'entreprise ont constaté le succès de ce projet, le département IT a soudainement reçu 50 nouvelles demandes d'analytique des données ! Mais l'équipe IT n'avait ni le temps ni les ressources nécessaires pour envisager 50 intégrations en codage manuel : elle avait non seulement besoin d'un outil ETL, mais d'un outil ETL capable d'évoluer très rapidement.
Comment choisir des outils ETL adaptés à vos besoins
Lorsque vous envisagez l'achat d'un outil ETL, même pour un seul projet comme la construction d'un data warehouse chez Snowflake, vous devez vérifier si cet outil est doté des caractéristiques nécessaires.
Voici la liste des spécifications requises pour un outil ETL de qualité :
- Il doit être capable de dialoguer (lire et écrire) avec l'ensemble des sources de données dont vous avez besoin, quel que soit leur emplacement – sur site ou en cloud.
- Il doit supporter les processus de transformation de données tels que le tri, le filtrage et l'agrégation.
- Il doit intégrer des fonctionnalités de qualité des données et gouvernance des données telles que la déduplication, les correspondances et le profilage des données.
- Il doit proposer des fonctionnalités de collaboration (celles-ci auront la double mission de faciliter la réutilisation des objets de développement legacy et de contribuer à des flux d'intégration de données plus efficaces). Avec un outil ETL, vous pourrez créer un job unique capable d'alimenter plusieurs cibles au lieu d'une série de flux d'intégration de données qui répètent tous à peu près la même chose.
- Avec le passage aux systèmes en cloud, la capacité d'intégrer les processus CI/CD (intégration continue/développement continu) est désormais une nécessité.
- Vos outils ETL doivent être capables de fonctionner dans tous les types d'environnement : sur site, dans le cloud ou dans des infrastructures hybrides.
- Un outil ETL doit être capable de s'adapter facilement aux changements de prestataire. Vous pourriez par exemple construire un data lake dans Redshift aujourd'hui et le faire migrer vers Snowflake demain, ou décider de sélectionner Amazon AWS pour vos besoins cloud ce trimestre et Microsoft Azure le trimestre suivant. Il est important de disposer d'un outil ETL qui fonctionne dans un environnement multi-cloud et qui soit capable de s'adapter aux changements de prestataire et d'environnement de déploiement en remplaçant simplement quelques composants mais en conservant les algorithmes métier et de transformation.
- Un outil ETL de qualité doit être capable de fonctionner avec les dernières innovations et de s'adapter facilement aux nouvelles technologies. Les outils ETL de qualité sont prêts à s'intégrer avec les technologies sans serveur, Spark, Snowflake, le machine learning, etc. et à s'adapter rapidement aux nouvelles technologies qui n'ont pas encore vu le jour.
- L'évolutivité est très importante dans le choix des outils ETL. Il peut être tentant de s'adresser à un fournisseur d'outils spécialisés dans les processus les plus simples : ces outils sont peu coûteux et très faciles à utiliser. Mais ces outils simples ne sont pas adaptés à l'évolution des activités ; en effet, ils dépendent des spécifications matérielles des équipements, et vous devez sans cesse tenir compte de la quantité de RAM ou du nombre de CPU dont vous pouvez disposer. Autrement dit, lorsque votre entreprise connaît une évolution globale, vous imposez une limite artificielle à la croissance de vos activités analytiques ce qui, dans l'environnement hyper-concurrentiel d'aujourd'hui, pourrait vous placer dans une situation très peu favorable. Par ailleurs, il est plus difficile de collaborer et réutiliser des objets d'un projet à un autre avec ces outils simples, ce qui signifie que les projets ETL doivent souvent être lancés en partant de zéro (ce qui exige plus de temps et de ressources).
- La portabilité est également une capacité importante mais parfois négligée dans les outils ETL. Par exemple, la portabilité de l'écosystème Apache Hadoop est incroyablement rapide. En 2014 et 2015, MapReduce était le standard, mais il a été détrôné par Spark à la fin de l'année 2016, et il était impossible de porter les solutions en codage manuel de MapReduce à Spark. Les outils ETL les plus performants permettent cette flexibilité en toute transparence.
Outils ETL pour le cloud
Il ne fait aucun doute que les entreprises sont en train de converger vers le cloud. Dans bien des cas, les entreprises qui migrent vers le cloud décident de réévaluer l'ensemble de leur infrastructure en réalisant que ce qui a bien fonctionné sur site ne fonctionnera pas forcément assez bien dans le cloud. Par exemple, sur site, vous avez un meilleur contrôle sur les serveurs et le matériel en général, alors que dans le cloud le paradigme est quelque peu différent : vous devez être capable de gérer les piles en cloud et les réseaux privés situés en dehors de vos propres réseaux. Le cloud change la façon dont les outils ETL fonctionnent et la façon dont vous travaillez avec eux ; les langages de codage, les processus et les plates-formes sont différents de ceux dont vous avez l'habitude sur site, et vous avez donc besoin d'outils capables de basculer de manière transparente entre les deux environnements.
La capacité d'évolution du cloud est cruciale pour votre sélection d'outils ETL car il est difficile de prédire la taille qu'atteindra votre environnement dans le futur. Vous devrez peut-être gérer 50 ou 500 sources de données, et bien entendu, vous devrez vous adapter à de nouvelles technologies qui ne sont même pas sur le marché aujourd'hui. Avec un outil ETL en cloud, vous pouvez très facilement apporter des modifications à votre infrastructure de gestion de données.
Un autre facteur à prendre en compte lorsque vous vous intéressez aux outils ETL pour le cloud est le modèle de tarification. En effet, un des grands avantages des solutions cloud est que la facturation est limitée aux ressources que vous consommez réellement. Par exemple, si vous achetez un outil ETL qui vous facture au nombre de nœuds, vous entrez en conflit direct avec la philosophie du cloud, à savoir la possibilité d'augmenter et de réduire très facilement les ressources mobilisées (y compris aucune ressource le cas échéant). Vos outils ETL en cloud doivent fonctionner de la même manière ; vous ne devriez pas avoir à payer pour des temps d'exécution que vous n'utilisez pas ou des ressources excédentaires qui restent inactives, mais simplement payer pour vos outils ETL comme pour tout autre aspect des infrastructures cloud.
Outils ETL et qualité des données
La qualité des données est de plus en plus importante pour les entreprises : une qualité de données médiocre coûte beaucoup de temps et donc d'argent. De plus, à mesure que les règlements sur la protection des données personnelles tels que le RGPD de l'UE entrent en vigueur, la qualité et gouvernance des données deviendront des impératifs de plus en plus cruciaux pour l'entreprise.
L'ère de l'IT dans le cloud s'accompagne d'une explosion de sources de données que vous voudrez combiner pour votre Business Intelligence. Mais toutes les sources de données imaginables présentent des défis en matière de qualité des données, et lorsqu'on les intègre les unes aux autres, ces défis ne cessent de s'amplifier. Un projet ETL peut ressembler à une simple connexion entre deux systèmes, mais investir dans la qualité des données en amont permettra à votre entreprise d'économiser de l'argent et des ressources. Une approche proactive de la qualité des données vous permettra de contrôler et mesurer ce niveau de qualité avant que les données soient injectées dans vos systèmes de base. C'est pourquoi les fonctionnalités de qualité des données intégrées dans les outils ETL deviennent un facteur essentiel pour l'achat de vos outils ETL. Consultez notre document Definitive Guide to Data Quality pour en savoir plus sur la façon dont un bon outil ETL peut garantir la qualité des données en mode proactif avant qu'elles atteignent vos systèmes et soient exploitées.
Outils ETL de Talend
Talend propose un certain nombre d'outils ETL qui sont prêts pour tous vous projets d'intégration de données. Si vous avez besoin d'un outil de base pour les processus ETL, Talend Open Studio for Data Integration convient parfaitement. Cet outil gratuit fonctionne très bien avec les intégrations déployées sur Redshift, Snowflake, Google BigQuery et d'autres clouds : chargement des données en une seule opération et processus d'importation très simples. Si vous recherchez un outil open source simple mais puissant, n'hésitez pas à télécharger Open Studio for Data Integration.
Et lorsque vous êtes prêt pour un outil ETL capable de traiter la qualité et gouvernance des données, le machine learning, la collaboration et de nombreuses autres fonctionnalités, la plate-forme Talend Data Management Platform est une solution incontournable. Cette plate-forme est proposée avec un modèle de tarification dynamique, et lorsque vous décidez d'enrichir les fonctionnalités et capacités du produit Open Studio for Data Integration, la mise à niveau est simple et transparente. N'hésitez pas à comparer les spécifications de tous nos produits d'intégration de données.
Les outils ETL de Talend sont conçus pour simplifier les besoins complexes des entreprises pilotées par les données et en pleine croissance. Essayez l'outil qui vous correspond et améliorez immédiatement les processus ETL dans votre entreprise.