dbt Core ou dbt Cloud ?
Dans cet article je vous partage ma vision sur le sujet, “dbt Core ou dbt Cloud ?”
Au-delà des descriptions disponibles sur la toile et qui sont plus proches du marketing que de la réalité opérationnelle, voici ce que j’ai appris au fur et à mesure des années à travailler avec ces 2 versions de dbt.
dbt Cloud
- coût fixe de 100$ par utilisateur par mois (simplifions et disons 100€)
- scheduling intégré
- lineage
- documentation
- une liste longue comme le bras de nouvelles fonctionnalités que dbt a développé récemment (article à venir sur le sujet)
- des limites malgré tout : 15000 modèles construits par mois, 8 développeurs (aka Analytics Engineer), au-delà il faut les contacter pour définir un budget
dbt Core
- aucun coût fixe mensuel
- scheduling à gérer soi-même (disons par exemple… Airflow !)
- lineage
- documentation
Il y a selon moi 2 facteurs qui rentrent en compte pour le choix :
- l’argent
- la complexité induite par le choix de dbt Core vs dbt Cloud, et donc… l’argent !
J’ai entendu dans un grand groupe sur le coût de dbt Cloud : “Tu te rends compte, ça veut dire payer un coût mensuel à dbt, ça nous coûterait énormément. Non, il vaut mieux avoir dbt Core et ne pas payer, on y gagne !” En tant que Freelance récemment débarqué chez ce client, je n’allais pas changer une politique groupe en quelques jours, les deadlines étant serrées j’ai donc utilisé dbt Core.
Ce sujet est selon moi un vrai sujet, et on ne peut pas se contenter de penser que d’un côté il y a le coût de l’abonnement de dbt Cloud vs dbt Core qui serait “gratuit”.
Posons les chiffres. Je me dis que c’est pas mal pour un Analytics Engineer de commencer ainsi 😉 Pour simplifier, je vais raisonner annuellement.
dbt Cloud
- Abonnement : 100€ par mois donc 1200€ annuel
- Scheduling inclus dans l’abonnement
dbt Core
- Abonnement : 0€
- Scheduling : 0€
Vous avez dit 0 pour le scheduling de dbt Core ? Mmm, allez, on prend Airflow et puis… voilà !
Eh bien, quelques précisions s’imposent, mon expérience m’a montré que plusieurs éléments sont à prendre en compte, il y a parfois des chiffres plus ou moins “cachés” :
- Il faut trouver un profil qui maîtrise Airflow. Cela rajoute du temps de recherche pour le bon profil, et donc cela coûte
- Aussi il faudra un tout petit plus de temps pour trouver un profil à l’aise avec dbt Core par rapport à dbt Cloud, car la personne doit être à l’aise d’initialiser dbt sans que tout soit fait automatiquement dans dbt Cloud. Donc un peu de temps de recherche en plus, à nouveau
- Une fois le profil trouvé, je suis convaincu qu’en moyenne, un profil qui maîtrise dbt Core + Airflow va coûter plus cher qu’un profil qui est à l’aise avec dbt Cloud
- L’initialisation de dbt pour la version Core vs Cloud est bien plus longue. Du temps, donc de l’argent
- Le scheduling via Airflow nécessite du temps, et par rapport à dbt Cloud on sait d’avance qui va mettre quelques minutes et qui va mettre… bien plus longtemps via Airflow
- Lorsqu’un Analytics Engineer quitte le projet (eh oui il faut en tenir compte) la (re)prise en main du projet existant sur dbt Core + Airflow me semble plus compliquée que sur dbt Cloud
- L’abonnement par utilisateur. 0€ annuel pour dbt Core, mais 1200€ pour dbt Cloud (au 27 décembre 2024)
En synthèse :
dbt Core | Cloud | |
Temps trouver un profil qui maîtrise Airflow | +++++ | |
Coût supplémentaire journalier lié à l’expertise du profil qui maîtrise Airflow | +++ | |
Temps pour trouver un profil qui maîtrise dbt Core par rapport à dbt Cloud | + | |
Initialisation de dbt Core vs dbt Cloud | ++ | |
Initialisation du scheduling | ++++ | |
Temps nécessaire pour reprendre un projet de type dbt Core + Airflow vs dbt Cloud | +++ | |
Coût fixe annuel (abonnement) | 1200€ |
On le voit très rapidement, on a d’un côté pour dbt Core un coût d’abonnement annuel de 0€, mais une liste importante de critères qu’il faut évaluer, et qui, je vous l’assure, feront vite faire monter la facture. De l’autre côté, pour dbt Cloud on a ce coût fixe de 1200€ par utilisateur mais on obtient une prise en main de l’outil plus simple qu’avec dbt Core.
Je ne donnerai qu’un seul chiffre, pour éclairer vos décisions. Un freelance qui maîtrise Airflow + dbt Core coûtera je pense 50€ par jour de plus qu’un profil à l’aise avec dbt Cloud. J’ai été gentil, la réalité me semblerait plus être de 100€ par jour. Mais prenons 50€ par jour, 20 jours travaillés, cela fait la bagatelle de 1000€ par mois en plus pour ce profil en passant par dbt Core + Airflow vs dbt Cloud. Vous vous souvenez des 1200€ par utilisateur par an de dbt Cloud ? Je ne dirai rien d’autre…
A vous de jouer ! Chaque entreprise a ses propres compétences, ses propres coûts, et chacun doit en son âme et conscience faire ce travail d’estimation réel de ces coûts, afin de prendre une décision éclairée entre dbt Core et dbt Cloud.
Et puis, au-delà du temps et des coûts, il y a d’autres critères à prendre en compte. Par exemple, via dbt Core les données ne circulent pas via une (énième) plateforme en ligne, vous êtes certains de tout contrôler de A à Z. De l’autre côté, on ne va pas se le cacher, dbt est une entreprise, et ils ont pour l’instant décidé de mettre le paquet sur ce qui leur rapporte, à savoir… dbt Cloud. Donc de nombreuses fonctionnalités y sont uniquement disponibles, et je ne suis pas convaincu qu’ils vont les développer de sitôt pour dbt Core. Donc le choix n’est pas si simple que ça ! En tous cas, pour ces autres fonctionnalités présentes dans dbt Cloud par rapport à dbt Core, ceci sera l’objet d’un autre article !
Datament vôtre,
Martin
Vous cherchez un Analytics Engineer ? Vous êtes au bon endroit.
J’ai plus de 8 ans d’expérience en tant qu’Analytics Engineer.
Des clients prestigieux m’ont fait confiance :
– Facebook
– Carrefour
– Accor
– Total…