DataOps : le DevOps 2.0

Le DevOps a été conçu pour réduire le temps de déploiement des logiciels en mettant en commun les compétences des équipes de développement et des équipes d’exploitation. Il s’appuie entre autres sur la méthode Agile. Le DataOps s’est fondé sur les mêmes principes et tire profit de la Data Science pour améliorer l’efficacité du processus.

project-dataops-1300px

Le DevOps : c’est quoi ?

Le DevOps est à l’origine l’ensemble des pratiques qui permettent de réduire le temps de déploiement des logiciels et d’améliorer leur efficacité. Le processus demande l’intervention d’une équipe de spécialistes en exploitation et de développeurs. Il s’agit d’un processus de développement et d’exploitation qui mène à une meilleure exécution permettant à une entreprise de devenir plus compétitive.

Les équipes d’exploitation et de développement sont associées à chacune des phases de la création d’un logiciel. Elles se chargent aussi de son développement et de son déploiement. L’application subit plusieurs tests, après quoi le DevOps permet de passer à sa production. Le DevOps a permis de mettre fin aux frictions qui existaient auparavant entre les deux équipes. Il a réussi à bâtir un pont entre elles.

Le but du DevOps

Le terme DevOps est une contraction à partir des mots anglais development et operations. Il est parfois désigné en français comme processus de développement et d’exploitation. Son but est de raccourcir les cycles de développement et d’assurer des déploiements plus fréquents. Le DevOps repose sur l’intégration continue (CI) et le développement continu (CD).

Le CI est le processus par lequel les nouveaux codes sont construits, intégrés et testés de manière répétée et automatisée. Les éventuels problèmes sont alors repérés et résolus rapidement. Quant au CD, il automatise la livraison et le déploiement des logiciels. Le DevOps a aussi pour but d’automatiser le plus possible jusqu’à l’aboutissement final et à l’administration du logiciel.

Les progrès et les promesses du Big Data n’ont pas permis jusqu’à présent de connaître un grand succès pour mener à une production rapide. De là, la nécessité d’adopter une approche plus efficace capable d’accompagner le développement d’un logiciel dans toutes les étapes.

Le principe Agile

La méthode Agile est fondée entre autres sur la livraison en continu et le test and learn. Le but est d’en arriver rapidement à l’usage, tout en faisant appel aux différentes équipes qui établissent un lien de confiance mutuelle. Le DevOps est lié fréquemment à Agile. En se basant sur Agile, il est possible de fournir des logiciels de manière continue. Les retours des utilisateurs font aussi partie intégrante du processus.

balance_1300px

Le DataOps : l’héritier

Le DataOps est considéré comme l’héritier du DevOps. Il se base sur ce dernier en perfectionnant ses avantages. Il s’agit toujours d’améliorer la collaboration entre les équipes et de mieux assurer les liens entre les technologies et les processus. Les métiers de données et les consommateurs de données sont impliqués.

Un travail d’équipe

Le DataOps demande l’implication de plusieurs intervenants afin que tous travaillent en harmonie. L’équipe comprend par exemple des :

  • Data Engineers qui s’occupent de la création et de la maintenance des bases de données ainsi que des traitements Big Data ;
  • Data Scientists, qui eux, se chargent de recouper et d’interpréter les données.

Les différentes équipes comprennent aussi des Business Analysts, des Data Architects et des Data Stewards.

À partir du modèle du DevOps, le DataOps se base sur la collaboration et sur les principes Lean et Agile. Plusieurs pratiques sont communes au DevOps et au DataOps. Tous deux font appel à l’intégration et au développement continus. Les deux utilisent aussi les tests unitaires, la gestion d’environnement, la gestion de version et le monitoring. Toutes ces pratiques permettent de mettre en commun les qualités de tous les membres des différentes équipes.

Le DataOps présente par ailleurs plusieurs améliorations par rapport au DevOps traditionnel. Ce dernier n’est pas aussi efficace lorsqu’il faut créer des applications qui sauront traiter et analyser les flux de façon continue. Le DataOps est à recommander pour construire et maintenir un Data Pipeline, c’est-à-dire un flux de données conçu depuis sa création jusqu’à son utilisation. Les données sont regroupées et circulent du point d’origine jusqu’à leur destination.

Le Data Pipeline

Le Data Pipeline est lié à l’aspect Ops du système. Un autre avantage du DataOps est lié à la création de projets de la Data Science, ou science de la donnée. La Data Science applique les sciences pures à l’informatique. Elle utilise les données recueillies pour en tirer des enseignements et des tendances de manière à concevoir des modèles prédictifs. C’est un moyen d’optimiser la prise de décisions.

Le DataOps sert à automatiser le pipeline et intègre progressivement les nouvelles données qui s’ajoutent constamment. La première analyse des données brutes est moins raffinée. Après cette première exploration, les données commencent à être nettoyées. Les modèles d’origine sont analysés puis affinés. Ils sont validés lorsqu’ils sont jugés prêts pour la production. Les modèles sont ensuite dirigés vers la production et rendus disponibles pour le consommateur.

Le DataOps et la Data Science

Le DataOps permet de profiter davantage des analyses fournies par la Data Science, notamment dans le domaine de la reproductibilité des résultats. Le Data Scientist joue aussi un rôle important en ce qui concerne le monitoring du rendement du modèle. Le modèle lui-même peut changer, ou la situation peut évoluer au point où le modèle lui-même devient obsolète. Pour les utilisateurs finaux, il est aussi important de mettre les modèles à disposition dans une application.

Les analyses et les approches favorisées par la Data Science s’appuient sur un très grand volume de données. Ces données doivent être constamment réévaluées et réinterprétées. L’accent est mis sur le développement continu du modèle. Le principe du DataOps fait en sorte que, malgré le volume des données, la mise en application s’effectue plus rapidement.

Le Data Ops applique aussi la méthode Agile pour offrir une meilleure analyse des données dans un délai très court.

Les approches combinées

Le meilleur moyen d’optimiser le rendement des applications et des logiciels est d’opter pour une approche qui combine DataOps et DevOps. Pour y arriver, il est important de faire appel à un orchestrateur de technologies.

L’orchestrateur de technologies

Cet orchestrateur organise et coordonne les systèmes et les logiciels à partir de différents processus. Il s’appuie sur l’automatisation et représente une aide précieuse pour gérer les données à toutes les étapes, de leur collecte à leur consommation. Tous les projets Data et Analytics peuvent lui être confiés afin qu’ils soient mis en place plus rapidement et plus efficacement.

Le Data et Analytics permet d’analyser les données brutes pour en dégager les tendances propres à favoriser leur utilisation dans l’optique des besoins de l’entreprise. Il se base avant tout sur l’inférence ainsi que sur le procédé et établit à partir de là une conclusion pertinente. Il peut aussi établir à quel degré les données sont bien protégées.

La gestion des technologies

Toutes les technologies sont mises à profit pour gérer toutes les étapes. On se sert notamment de Python, de HDFS, d’Impala, de Hive, de Drill, de Java, de Scala, de Jupyter et de Mongo DB. Par exemple, Python est utilisé pour automatiser plusieurs tâches répétitives. Les dernières versions sont supportées.

En conclusion, les observateurs s’entendent pour affirmer que la DataOps en est à ses premiers pas et qu’il reste à en définir les cadres. Il est indéniable qu’il s’agit d’une voie à adopter pour le futur et si vous aussi vous souhaitez exploiter vos données au maximum, Ryax vous accompagne à chaque étape.

 

La Ryax Team.