Migrer une data platform d’AWS Glue à Snowflake x dbt
Mars 2025
Theodo Data & AI
Sommaire
01
Contexte initial et choix des technos
02
Planifier et structurer la migration par étapes
03
Deep dive �Les tests dbt
04
Résultats, apprentissages et retour d’expérience
2
Contexte initial et choix des technos
01
La data plateforme initiale
01�Contexte initial et choix des technos
4
Difficultés rencontres
Expérience développeur
Avant la migration
Développer, itérer avec la donnée sur la data plateforme AWS Glue existante
5
Notebook avec un environnement Spark à lancer en local (~2min)
Mise en prod
01�Contexte initial et choix des technos
Présentation des technos
Framework de transformation SQL
��
Data Warehouse
Gouvernance
01�Contexte initial et choix des technos
Motivations et choix des technos
Collaboration
Data Quality
Structuration des accès à la donnée et des rôles (utilisateurs, producteur)
Création d’environnements de Développement, staging et Prod
Production de documentation et de tests
7
Planifier et structurer la migration par étapes
02
La data plateforme cible
02�Planifier et structurer la migration par étapes
9
Snowflake dbt
Cartographie de l’existant
02�Planifier et structurer la migration par étapes
10
Cartographie
➡ Identifier les priorités métiers
➡ Ne pas oublier de migrer certaines entités
➡ Sécuriser la migration des modèles critiques
➡ Estimer le temps de migration et son avancée
Découpage de la migration
02�Planifier et structurer la migration par étapes
11
Etape 3
Etape 4
Etape 2
🥇
🥈
Run de la plateforme existante
Build de la nouvelle plateforme
Etape 5
Run de la nouvelle plateforme
Etape 1
📚
Nos principes clés pour une migration iso fonctionnelle
02�Planifier et structurer la migration par étapes
12
Priorisation des bugs
Log des bugs remontés lors de la migration et définition de critère de sévérité
Script python de comparaison des données AWS vs Snowflake
Validation data
Intégrité
Data quality
Validation en DEV
MEP
Validation en PROD
Création de standards et de modes opératoires
Documentation
Deep dive - Les tests dbt
03
Migration d’un modèle de données transformée
03
Deep dive - Les défis techniques rencontrés
14
Modularisation des transformations
Traduction du SQL Spark vers Snowflake
Catégorisation des transformations base, staging et mart
Comparaison des modèles avec le script d’intégrité
Retro engineering
Compréhension du comportement du modèle existant
Documentation du modèle mart cible
Comment tester nos transformations et fiabiliser nos données
03
Deep dive - Les tests dbt
15
🧪 Tests de qualité �
📐 Tests métier �
Tests unitaires ��
03
Deep dive - Les défis techniques rencontrés
16
Décrire un modèle de donnée
03
Deep dive - Les défis techniques rencontrés
17
Séparation des environnements sur Snowflake
03
Deep dive - Les défis techniques rencontrés
18
Isolation des environnements����
Création de bases de données de chaque environnement : Silver DEV, Silver PROD, Gold DEV
Gestion avec dbt
Configuration du profiles.yml pour l’ajout dynamique des bases de données
Résultats de la migration, apprentissage et retour d’expérience
04
Expérience développeur
Après la migration
Développer, itérer avec la donnée sur la data plateforme dbt Snowflake
20
Run et aperçu des données en local instantané
Mise en prod
Amélioration de l’expérience développeur
04
Résultats de la migration
21
💡 Conseil pour une migration réussie : Commencez par un inventaire détaillé, documentez chaque étape et itérez avec les consommateurs pour aligner vos besoins et objectifs