Dans cet article, nous vous expliquons très simplement en quoi consiste l’approche DevOps et comment les principes DevOps peuvent s’appliquer aux sciences des données.
Aujourd’hui, une organisation doit être agile et capable de s’adapter en permanence. Cette nécessité d’adaptation immédiate résultant d’une compétition accrue et de la digitalisation a entraîné une refonte de la manière dont les entreprises se structurent. Au niveau de la mise en production de logiciels, voilà quelques années déjà que l’approche DevOps prime.
Ces jours-ci, les principes de l’approche DevOps tendent également à s’imposer lorsqu’il s’agit de mettre en production des modèles de data sciences. Découvrez en quoi consiste l’approche DevOps et comment les principes DevOps peuvent s’appliquer aux sciences des données.
Qu’est-ce que le DevOps ?
Le DevOps est une méthode de mise sur le marché d’un logiciel visant à intégrer les équipes de développement (Dev) et les équipes de mise en production du logiciel (Ops). L’approche DevOps suggère d’aligner les intérêts de ces équipes autour d’un objectif de création de valeur pour l’entreprise et le client final.
Utiliser une approche DevOps implique le déploiement continu des applications par le biais de tests automatisés et la mise en place d’une culture de la mesure (basée sur différents indicateurs métriques). Les applications ou logiciels sont donc développés par itération en tenant compte de manière permanente des retours clients et des résultats de tests.
L’approche DevOps constitue dès lors une approche dynamique qui permet d’améliorer son Time-to-Market (soit le temps de mise sur le marché) et de détecter d’éventuelles erreurs de conception rapidement.
Pour résumer, l’approche DevOps s’articule autour des principes fondamentaux suivants :
- vue d’ensemble de la chaine de production, transparence des processus ;
- collaboration entre les équipes de développement et de mise en production et concordance de leurs objectifs à moyen et long terme ;
- amélioration continue du produit ;
- mise en place d’une culture de la mesure; et
- automatisation accentuée (par exemple, systèmes d’alerte, de testing, de feedback, etc.).
Analogie entre approche DevOps et fonctions traditionnelles
Sous des dehors complexes, l’approche DevOps vise simplement à concilier dès les premiers stages de développement les intérêts des équipes de développement et ceux des équipes de production logicielle.
En effet, si les premières ont pour objectif d’accélérer la mise sur le marché afin de préserver la compétitivité, les secondes doivent avant tout garantir la stabilité, la fiabilité ainsi que la sécurité des logiciels.
Pour n’importe qui ayant travaillé dans une entreprise de grande taille, cela rappelle furieusement les interactions entre le département vente (sales) et le département juridique (legal). Voilà des mois que vous avez consacré toute votre énergie à la conclusion d’un accord de partenariat pour développer vos activités sur un nouveau territoire et voici qu’un membre du service juridique vous indique que les termes du contrat proposé ne conviennent pas pour X ou Y raison et qu’il faut tout repenser. Le résultat s'avère sans équivoque. D’une part, vous perdez la face vis-à-vis de votre nouveau partenaire étant contraint de modifier les termes d’un accord. D’autre part vous avez dépensé beaucoup de temps et d’énergie alors qu’il aurait été possible de connaître ces différents impératifs en amont.
Pour ces raisons, beaucoup d’organisations à succès se démarquent par une forte intégration de leur département juridique à tous les niveaux du processus opérationnel et décisionnel. Ce dernier est considéré comme un partenaire plutôt qu’un empêcheur de tourner en rond.
Adopter les principes DevOps à la mise en production de logiciels revient donc à réconcilier différents acteurs au sein de l’entreprise et de leur faire partager un objectif commun.
Si, sur papier, une telle approche semble évidente, en pratique cela implique néanmoins de nombreux efforts. Il faut en effet bousculer l’ordre établi et consacrer du temps précieux à repenser l’organigramme et des principes de travail souvent bien ancrés. Les changements doivent s’effectuer au niveau structurel mais également au niveau culturel.
Toutefois, les bénéfices à moyen ou long terme justifient souvent cet effort. L’entreprise de consultance BCG estime qu’il faut généralement compter entre 18 et 36 mois pour implémenter les modifications nécessaires.
Néanmoins, une fois l’approche DevOps adoptée, le temps de mise sur le marché sera divisé par un facteur allant de 2 à 4 en fonction de l’entreprise. De plus, la satisfaction des clients sera triplée, voire quadruplée dans certains cas.
Comment lier DevOps et Data Science ?
Lorsqu’on sait que plus de deux tiers des projets de data sciences n’atteignent jamais la mise en production, l’intérêt d’une approche DevOps dans le domaine des data sciences prend tout son sens.
Depuis quelques années déjà, le terme DataOps gagne en popularité. Le DataOps vise tout simplement à utiliser les techniques dites Agile et autres techniques DevOps afin de transformer rapidement les éléments fournis par les données en éléments exploitables.
L’approche DataOps encourage la collaboration des différents métiers de la donnée (soit les data scientists, data engineers, data architects, business analysts etc.) afin d’œuvrer de concert vers un objectif commun. L’idée fondamentale est d’intégrer l’approche métier dès la phase de conception d’un projet de data sciences pour éviter par la suite de nombreuses déconvenues.
À l’instar de l’approche DevOps, l’un des éléments essentiels des techniques DataOps consiste dans l’automatisation de toutes les étapes du processus. Cet élément s’aligne parfaitement avec la volonté croissante d’hyperautomatisation à tous les niveaux. Le cabinet de conseil Gartner considère d’ailleurs l’hyperautomatisation comme l’une des tendances lourdes du secteur technologique en 2020. L’accent est donc mis sur une automatisation sophistiquée pour faciliter le quotidien de l’entreprise. C’est exactement ce que des techniques DevOps ou DataOps tentent d’atteindre.
En résumé, on peut identifier les principes suivants comme des éléments fondamentaux de l’approche DataOps :
- hyperautomatisation ;
- création de systèmes ouverts ;
- mise en place de systèmes de contrôle et de traçabilité des données ; et
- communication et système de feedback multi directionnel.
Ces éléments ne constituent que le socle de l’approche DataOps qui couvre en pratique une réalité bien plus complexe. Pour approfondir plus en détail l’approche DataOps, nous vous renvoyons vers l’un de nos articles précédents : DataOps : le DevOps 2.0.
L’approche DataOps et l’entreprise Ryax
Adopter les techniques DevOps et DataOps relève actuellement de la bonne gestion d’une entreprise. L’objectif consiste dans la création d’une organisation toujours plus efficace, les différents départements agissant de concert pour atteindre un but partagé. En raison des coûts associés ainsi de la nécessité de mobiliser des ressources, beaucoup d’organisations peinent cependant à franchir le pas.
Ryax propose une plateforme de data engineering ouverte qui s’intègre parfaitement dans l’approche DataOps. La plateforme Ryax offre en effet un outil commun partagé par les différents acteurs des data sciences au sein de l’entreprise. Ryax permet l’automatisation des chaines de traitement de données ainsi qu’un monitoring permanent et efficace. En utilisant Ryax, une entreprise ouvre donc la porte aux techniques dynamiques DataOps.
Si vous voulez en savoir plus sur notre plateforme ou nos services, n’hésitez pas à consulter notre fiche produit. Nous vous encourageons également à prendre contact avec notre équipe qui se fera un plaisir de répondre à vos questions.
La Ryax Team.