Alors qu’on considère de plus la Data as a Product, les deux rôles peuvent sembler similaires puisque le DevOps se concentre sur le Software as a Product. Et il est vrai que les deux se concentrent sur la qualité de leurs produits respectifs, l’anticipation et la résolution des problèmes qui peuvent affecter l’efficacité de l’entreprise.
Le DataOps est focalisé sur la production de données de qualité et les données sont le produit.
Le DevOps lui se concentre sur la qualité du code et les modifications ou évolutions des applications mais ne regarde pas vraiment les spécifiés liées aux données alors qu’en DataOps, dès que l’on touche au code et qu’on met en production, on vérifie l’intégrité des métadonnées pour qu’elles soient conformes aux attendus.
LE DEVOPS
Le DevOps se concentre sur le déploiement et les tests des modifications apportées au niveau du code dans tous les différents environnements ; puis la validation avec ceux qui ont fait ces changements.
Il met en place les pipelines CI/CD (Jenkins, Gitlab par ex) et les tests nécessaires.
En général les DevOps n’écrivent pas le code qu’ils déploient, ils ne vérifient pas sa qualité ni si le code est bien optimisé mais ils encouragent les code review et mettent en place des tests automatisés qui participent à la qualité du code. Ils sont souvent aussi impliqués dans le codage de scripts pour automatiser les processus.
Ils gèrent l’infrastructure qui supporte le code dont le dimensionnement et la validation des ressources cloud nécessaires (clusters) avec des outils comme Docker, Kubernetes, Ansible (…).
Le DevOps est focusé sur la qualité du delivery et la stabilité de l’environnement de production. Il doit limiter au maximum les temps d’arrêt, ce qui est l’indicateur le plus utilisé en termes de suivi de ses performances.
LE DATAOPS
Le DataOps est quant à lui sur la data as a product, il n’est pas focusé sur la partie logicielle de base mais sur la qualité des métadonnées, c’est-à-dire les plus précises, fiables et fraiches possibles.
Le DataOps n’est pas tant une « fonction » ou un profil en tant que tel en ingénierie des données mais davantage un rôle avec une méthodologie distincte et un ensemble de tâches que chaque ingénieur des données doit intégrer dans son travail au quotidien avec des outils spécifiques (Apache Aitrflow par exemple). C’est un processus d’amélioration continue de bout-en-bout qui vise aussi à automatiser les flux relatifs aux données (collecte, traitement puis analyse).
Du moins, c’est comme cela que nous l’envisageons chez Smartpoint. En effet, dans nos missions, chaque data engineer doit avoir la capacité de valider les modèles et les données qui sont produites, il mène ses propres tests, il en assure le monitoring et il contrôle la qualité de l’intégration des données dans le système data existant chez nos clients.
Comme le DevOps, le DataOps applique les pratiques agiles, met en place un pipeline CI/CD afin de fiabiliser les changements et un outil de contrôle des versions. Il peut également nécessiter la mise en place de d’environnements de tests pour valider les impacts des changements apportés aux données sources ou aux modèles.
Il est donc focusé sur la qualité des données et la gouvernance. Pour mesurer ses performances, on utilise les mêmes critères qu’en observabilité (disponibilité et fréquence des données, fraicheur, etc).