CI/CD

CI/CD

Stratégies et patterns pour déployer automatiquement un modèle de machine learning

Automatiser un déploiement c’est pouvoir rendre accessible une nouvelle version de son logiciel en un clic. En ce qui concerne le déploiement d'un modèle de machine learning, il s’agit d’automatiser deux choses : la construction de l’artéfact modèle, communément appelé entraînement ; le déploiement du service d’inférence.  Service d’inférencePipeline de construction de l’artefact modèleRôleSert les prédictionsProduit un modèle à partir de données et de codeEnjeuPouvoir déployer une nouvelle version du modèle utilisable par le logiciel à la demandePouvoir lancer un entraînement à la demande Nous…

Lire la suite
CI/CD

Introduction aux pipelines de CI en python avec Gitlab-ci

Introduction Aujourd’hui, nous sommes nombreux à utiliser la plateforme GitLab afin de gérer nos projets de code python. Nous faisons souvent appel à la fonctionnalité GitLab CI/CD pour automatiser la phase de test et s’assurer ainsi que le code qui s’intègre au dépôt partagé (repository) ne contient pas de bogues et se comporte comme on le souhaite.  Mais voilà, ce n’est pas forcément évident de construire un bon pipeline de CI, et puis d’abord, c’est quoi un bon pipeline de CI ? Comment le construit-on,…

Lire la suite
CI/CD

Pister les pisteurs, un moyen de prendre ses responsabilités d’artisan logiciel

Pourquoi ? Sur le chemin vers un numérique plus responsable, en partageant nos expertises notamment en matière d’impact environnemental du numérique et de protection de la vie privée, nous souhaitons promouvoir le pistage des pisteurs pour les réduire au strict nécessaire. En effet, les pisteurs génèrent des requêtes HTTP supplémentaires à chaque consultation de page, l’ordre de grandeur pouvant être de 20 à 100 requêtes HTTP supplémentaires par page consultée selon Benjamin Bayart. Bien sûr, la réduction de requêtes HTTP n’est pas notre seule motivation…

Lire la suite
CI/CD

Automatiser les déploiements de projets de Machine Learning. Partie 1 : la construction de modèles

Cet article fait partie de la série “Accélérer le Delivery de projets de Machine Learning”, traitant de l’application d’Accelerate dans un contexte incluant du Machine Learning. Il peut être lu indépendamment, mais si vous n’êtes pas familier avec Accelerate, ou si vous souhaitez avoir plus de détails sur le contexte de cet article, vous pouvez lire l’article introduisant cette série. Vous y trouverez également le lien vers le reste des articles pour aller plus loin. Dans Accelerate, l’automatisation des déploiements fait référence à l’aptitude à…

Lire la suite
CI/CD

SLO : la puissance insoupçonnée des métriques

Lorsque l’on exploite un produit ou que l’on monte une infrastructure, il est normal de se poser la question “Est-ce que mon application fonctionne bien ?” En général, il est commun d’avoir deux réponses dans ce genre de cas : Mettre en place du monitoring illustrant le fonctionnement de mon application Mettre en place un système d’alerting pour être prévenu en cas de dysfonctionnement Cependant, rares sont les fois où l'on va se demander si les alertes positionnées sont pertinentes dans mon contexte (ex :…

Lire la suite
CI/CD

Détectez les pisteurs sur Android avec exodus-standalone

Des bibliothèques tierces appelées pisteurs sont souvent présentes dans les applications mobiles, parfois au dépit des législations en vigueur, de la sécurité de ces applications ou des droits des personnes les utilisant. Voyons ensemble ces problématiques plus en détails et comment s’en prémunir, en particulier sur Android. Qu’est-ce qu’un pisteur et quels problèmes posent-ils ? “Pisteur”, “traceur”, “traqueur”, plusieurs termes peuvent être utilisés pour parler de la même chose. Commençons par définir ce que nous allons appeler un pisteur dans le reste de cet article.…

Lire la suite
CI/CD

Les Portails d’amorçage projet tiennent-ils leurs promesses ?

Dans le cadre d’un environnement de “delivery” agile, il est important d’être réactif sur les cycles de vie des applicatifs ainsi que sur leur initialisation. L’offre des outils permettant de gérer l’intégration et le déploiement continu est de plus en plus fournie (il serait quasi-impossible de tout recenser !), les DSI des grands groupes (principalement), tentent d’abstraire cette complexité en rendant la création des pipelines CI/CD le plus générique possible. On cherche alors à mutualiser le plus possible, afin d’accélérer au démarrage et faciliter la…

Lire la suite