kubernetes data science

Pourquoi Kubernetes est devenu un outil indispensable en Data Science

Bastien L

Bastien L

3 min

Kubernetes, l’outil d’orchestration de conteneurs, est non seulement utile pour le développement de logiciels, mais aussi pour la Data Science. Découvrez comment cette plateforme est devenue indispensable pour les Data Scientists…

Depuis son lancement, Kubernetes a transformé la façon dont les développeurs de logiciels créent et déploient des applications. Cette technologie largement adoptée a naturellement attiré l’attention des Data Scientists.

Ces derniers ont alors compris que certaines fonctionnalités de Kubernetes permettent d’optimiser et de soutenir le ” workflow ” de science des données. Découvrez pourquoi il s’agit d’un outil très utile pour les Data Scientists, aujourd’hui devenu presque indispensable.

Qu'est-ce que Kubernetes ?

Kubernetes est une plateforme open source, conçu pour gérer des conteneurs et des clusters depuis une interface unique et centralisée. Il est possible de déployer des conteneurs sur tous types d’environnements : Cloud, machines virtuelles, machines physiques… afin de créer un réseau de machines virtuelles.

Avec Kubernetes, un ou plusieurs conteneurs peuvent être placés dans un ” pod “ : la plus petite unité qu’il est possible de déployer. La plateforme permet le ” scaling ” des applications en fonction du workload. Les composants d’applications peuvent être déplacés entre les systèmes, offrant une extensibilité.

Les principaux avantages et fonctionnalités de Kubernete sont l’automatisation des processus manuels d’hébergement et de déploiement des conteneurs, le self-monitoring des conteneurs et des noeuds, le scaling horizontal, et la flexibilité en termes d’environnements.

Kubernetes et la Data Science

La vaste communauté d’utilisateurs de Kubernetes développe sans cesse de nouvelles fonctionnalités pour la plateforme. Un grand nombre d’entre elles sont utiles pour la Data Science. C’est le cas des déploiements déclaratifs, des capacités de monitoring de chaque composant du système, de l’intégration continue, ou du routing de service flexible .

En effet, les Data Scientists sont confrontés à de nombreux défis similaires à ceux rencontrés par les ingénieurs logiciels. Ils doivent par exemple mener de nombreuses expériences, et doivent effectuer des tâches répétitives.

De même, différentes métriques doivent être suivies et surveillées. Des accès et des identifiants doivent être gérés, et le scaling doit être aisé. En ce sens, les Data Scientists peuvent profiter de plusieurs fonctionnalités de Kubernetes.

L’exécution des jobs en batch continu peut être utilisée pour le traitement des données et les tests, ou encore pour l’entraînement et le déploiement de modèles que l’on retrouve généralement dans les pipelines de Machine Learning.

De leur côté, les architectures de microservice offrent une structure d’application simplifiée, basée sur la modularité. Ceci permet de modifier et de protéger plus facilement les composants logiciels.

En outre, les configurations déclaratives facilitent la création de modèles entre les plateformes, en illustrant les connexions entre les services. La possibilité de créer des workflows customisés, simplifiant la gestion de container, est quant à elle très utile pour créer des workflows dédiés pour chaque expérience.

Les ingénieurs en Machine Learning peuvent eux aussi profiter des avantages de Kubernetes. Par exemple, le projet Kubeflow leur permet d’exécuter des frameworks comme JupyterHub, Tensorflow, PyTorch ou Seldon sous Kubernetes. Ceci permet de développer un workload véritablement portable.

Enfin, l’intégration avec Spark permet de créer un driver Spark dans un pod Kubernetes. Ce driver créé des ” exécuteurs ” connectés aux pods Kubernetes et exécutant des applications.

Comment est utilisé Kubernetes dans la Data Science ?

Les équipes de Data Scientists utilisent Kubernetes pour de multiples applications. Il est par exemple possible de déployer des modèles pour l’inférence en ligne.

Le scaling d’une application pour soutenir l’augmentation d’une charge est simplifié par Kubernetes grâce à l’exposition des modèles. Il suffit pour cela de créer un déploiement, puis de l’exposer afin qu’il puisse être utilisé par d’autres. Le trafic sera ensuite automatiquement équilibré par Kubernetes, en respectant la configuration élaborée par le Data Scientist.

Un autre exemple de cas d’usage est l’analyse de données de R&D. En utilisant l’intégration native de Spark avec Kubernetes, les Data Scientists peuvent accéder à une plateforme d’analyse Big Data en self-service.

L’utilisation de l’orchestration de conteneurs est particulièrement utile pour les équipes de chercheurs en sciences naturelles. Les conteneurs permettent la réplication des tests scientifiques, et il est donc possible de répliquer les résultats des tests sur différents environnements et appareils.

En conclusion, Kubernetes est très utile aux Data Scientists par son extensibilité et sa flexibilité permettant d’ajuster les workflows de Machine Learning et de les déployer sur une large variété d’environnements. Parmi les autres outils de la Data Science, découvrez aussi le SQL ou encore le langage Python

Actualité data

DataScientist : Recrutement VS Formation

Pour la 5ème année consécutive, le métier de Data Scientist a été désigné comme le meilleur emploi aux USA par Glassdoor c’est aussi le métier qui connaît la croissance la plus rapide.

Lire plus »
Intelligence Artificielle et Société

Ethique ou Big Data

Comment faire prévaloir une question d’éthique en matière de données alors que la concurrence se veut mondiale ? Les européens doivent-ils se soumettre à une concurrence américaine et asiatique déloyale pour une question d’éthique ?

Lire plus »