Les pratiques établies de développement de logiciels connaissent une transition à la fois subtile et importante, qui nécessite une réévaluation du secteur. L’adoption de modèles économiques disruptifs, conjuguée à l’utilisation accrue de la science des données et de l’apprentissage automatique des machines (machine learning) au sein des entreprises, a des effets profonds. A tel point que l’usage efficace des données devient aujourd’hui fondamental pour le processus de transformation numérique.

Grâce à la disponibilité croissante de plates-formes Big Data et de systèmes de stockage à leur portée, il est désormais plus économiquement viable pour les entreprises d’exploiter de grandes quantités de données pour leurs applications.

Les observations et les gains d’efficacité obtenus via la science des données vont, selon toute probabilité, causer des bouleversements majeurs dans les applications d’entreprise, et nous assistons à des investissements massifs dans le développement de logiciels dans ce domaine. Il y est question d’apprentissage automatique (machine learning), d’apprentissage profond (deep learning) et d’intelligence artificielle, autant d’applications qui font toutes appel à de gros volumes de données brutes.

Au-delà du DevOps

Les applications légères d’entreprise sont traditionnellement créées au moyen d’un processus transversal nommé DevOps, qui ne repose pas sur de grandes quantités de données persistantes. Le secteur du génie logiciel s’est réinventé il y a une dizaine d’années, à travers le développement et la codification du DevOps (contraction des mots anglais Development et Operations).

Ce terme désigne un ensemble de pratiques et de processus fondamentaux visant à accélérer la mise sur le marché en orchestrant précisément l’étroite intégration entre les développeurs et les opérations informatiques, afin de configurer, de déployer, de protéger, de superviser et d’automatiser les applications faisant un usage intensif des données.

Or, les objectifs d’instaurer une pratique robuste et productive de la science des données dans l’entreprise ont soulevé de nouveaux défis et engendré la nécessité d’une approche davantage centrée sur les données pour la création et le déploiement des applications qui en sont grandes consommatrices. Aussi importantes que demeurent l’agilité, l’efficacité et l’automatisation procurées par le DevOps, les masses de données persistantes nécessaires aux nouvelles applications ont conduit au développement du DataOps, permettant la prise en charge des applications à usage intensif de données.

Du DevOps au DataOps : une évolution logique pour les entreprises centrées sur la donnée

Le DataOps réunit les équipes suivantes :
– Développement – Création de la logique et de l’architecture applicatives
– Opérations – Déploiement et supervision des applications
– Sécurité et gouvernance – Définition des règles d’accès aux données de production et historiques
– Data Scientists – Elaboration de modèles de science des données et d’apprentissage automatique destinés à s’inscrire dans des applications de plus grande ampleur
– Data Engineering – Préparation des données pour l’équipe de data scientists.

Si l’on se penche sur le processus actuel de développement d’une application classique gourmande en données, on remarque que les fonctions de data science ou d’apprentissage automatique sont généralement intégrées dans la logique applicative. Les data scientists créent ces modèles par un entraînement itératif qui s’appuie sur de gros volumes de données. Une fois correctement entraînés, les modèles peuvent être déployés ou incorporés dans le type d’application normalement mise en œuvre par un développeur.

Un point crucial demeure : l’exploitation des données pour l’élaboration de la logique applicative proprement dite qui fait naître le besoin du DataOps. Jusque-là, cette logique était intégralement conçue par le développeur sans nécessiter de grandes expérimentations ni le recours à des volumes importants de données persistantes.

Une fois l’application déployée en production, les modèles incorporés de science des données ou d’apprentissage automatique peuvent être continuellement réévalués et perfectionnés. En conséquence, il est possible de redéployer le modèle de data science indépendamment de toute autre modification dans la logique applicative globale.

Alors que le DevOps favorise l’agilité en permettant un « déploiement continu » de la logique applicative pour tenir compte de l’ajout de nouvelles fonctionnalités ou de correctifs, les applications à usage intensif de données prolongent cette philosophie en mettant l’accent sur le « déploiement continu des modèles » de data science, nouvellement formés ou réévalués, dans les applications de production existantes.

L’ensemble du processus est principalement régi par la nécessité de veiller à la gestion et à la sécurisation appropriées des données servant à entraîner et réévaluer les modèles, ainsi que des flux de données de production.

DataOps : un nouveau départ

Bien qu’il s’agisse encore d’une pratique émergente en entreprise, le DataOps est de plus en plus la force motrice permettant aux équipes de se rassembler et de s’organiser selon des méthodes nouvelles pour créer, gérer, déployer et superviser les applications faisant un usage intensif des données. Grâce au DataOps, l’entreprise est à même de mieux valoriser la science des données et l’apprentissage automatique, en réduisant les délais de mise en production de telles applications. Le DataOps focalise ainsi le développement sur les données, au lieu de l’application elle-même.

 

___________
Tugdual Grall est évangéliste technique chez MapR Technologies