Adaltas Summit 2021, seconde édition sur l'Île de Beauté
By WORMS David
21 sept. 2021
- Catégories
- Adaltas Summit 2021
- Formation
- Tags
- Ansible
- Hadoop
- Spark
- Azure
- Blockchain
- Deep Learning
- Docker
- Terraform
- Kubernetes
- Node.js [plus][moins]
Ne ratez pas nos articles sur l'open source, le big data et les systèmes distribués, fréquence faible d’un email tous les deux mois.
Pour sa seconde édition, l’ensemble de l’équipe Adaltas se réunit en Corse pour une semaine avec 2 jours dédiés à parler tech les 23 et 24 septembre 2021.
Après une année et demi de restriction sanitaire, nous méritons tous un cadre féérique. Porto Vecchio en Corse est à la hauteur de nos attentes. La douceur du soleil méditerranéen, l’eau transparente accompagnée de sable blanc, et les majestueuse montagnes de l’arrière pays. Pour l’occasion, deux villas sont louées. Le choix est entre se réveiller les pieds dans l’eau dans l’une des plus belles baies de Méditerranée et le confort d’une large villa de luxe avec une vue imprenable sur cette même baie.
Nous sommes reconnaissant envers nos clients pour la flexibilité et la compréhension dont ils firent preuve. L’organisation de l’évènement dans le contexte de ces derniers mois fut une tâche ardue. Malgré l’annonce tardive, presque toute l’équipe a répondu présente. Certain on prit quelques jours de congés pour profiter du cadre, d’autre ont travaillé en distantiel, et une poignée nous rejoigne en milieu de semaine.
Les participants choisissent entre 3 formats disponibles :
- presentation : entre 20mn et 1h
- démonstration : entre 45mn et 2h
- formation : entre 1h et 2h
Adaltas est une équipe de hackers, leaders et innovateurs dans le développement de logiciels situés en France, au Maroc et au Canada.
Program
Une fois l’intervention réalisée, les supports utilisés ainsi qu’un article reprenant le contenu de l’intervention seront publiés sur le site d’Adaltas. Voici le calendrier et la liste des sujets abordés lors de cette semaine.
Jeudi 23 septembre 2021
- 10h00 TDP, la distribution Big Data 100% open source
- 11h00 Intégration de Jupyter Lab/Notebook avec Spark sur Hadoop avec Kerberos
- 12h00 GitOps avec Argo CD
- 14h30 Déploiement automatisé d’infrastructure avec Nikita, vers une version 1.0
- 15h30 Optimiser votre code Terraform avec les Modules et les Workspaces
- 16h30 Désacraliser le overlay filesystem de Linux dans Docker
- 17h30 Bonnes pratiques et limites d’Ansible pour maintenir des configurations complexes
Vendredi 24 septembre 2021
- 9h00 Que signifie le monitoring pour un data scientist ?
- 10h00 Blockchain pour les nuls, la technologie derrière toute la hype et la spéculation
- 11h00 WasmEdge, environnement d’exécution natif cloud pour le edge
- 12h00 Microsoft Azure Log Analytics, requête et analyse de logs Cloud et on-premises
- 14h30 Azure Purview, the SaaS Data Catalog service proposed by Microsoft
- 15h30 HBase RegionServer collocation
- 16h30 Environments de deep learning sous conteneur avec Docker et nvidia-docker
- 17h30 Platforme analytique moderne sur Azure, défis et leçons apprises.
Abstracts
TDP, la distribution Big Data 100% open source
- Intervenant : Leo SCHOUKROUN
- Durée : 1h
- Format : talk + demo
- Schedule : Jeudi 23 septembre à 10h00
Les distributions commerciales autour d’Apache Hadoop ne sont plus légions. Les deux leaders, Coudera et Hortonworks, ont fusionné : HDP n’existe plus et CDH est devenu CDP. MapR a été racheté par HP. IBM a cessé la commercialisation de BigInsights. La plupart de ces sociétés font partie des gros contributeurs du projet Apache Hadoop. Leurs clients attendent d’eux des builds Hadoop (et autres logiciels de l’écosystème Big Data) sécurisés, testés et stables. Le projet Hadoop a maintenant plus de 10 ans, des milliers de commits et une architecture complexe.
La TOSIT Data Platform (TDP) est une initiative du TOSIT, une association de grandes entreprises françaises promouvant l’utilisation de l’open source. TDP est une collection de rôles Ansible conçus pour déployer des produits Big Data de l’écosystème Hadoop (ex : HDFS, YARN, Hive, HBase, etc.) sur des machines distantes de manière automatique et sécurisée (Kerberos, SSL, ACLs). Les services installés sont buildés directement à partir des du code source Apache des projets.
Cette présentation reviendra sur le processus suivi pour créer des releases des projets Apache (le build, patching, test et packaging) et inclut une démonstration d’un déploiement de cluster TDP sur des machines virtuelles.
Intégration de Jupyter Lab/Notebook avec Spark sur Hadoop avec Kerberos
- Intervenant : Aargan COINTEPAS
- Durée : 45mn
- Format : discussion + demo
- Horaire : Jeudi 23 septembre à 11h00
Jupyter est actuellement l’un des serveurs web de notebooks les plus populaires. Un large panel d’utilisateurs, y compris des data scientists mais pas seulement, s’appuient sur Python et Jupyter pour leurs expériences. Dans les clusters big data basés sur l’écosystème Apache, Apache Zeppelin est un service populaire. Il est inclus dans les distributions Cloudera HDP et CDP. Cependant, nos utilisateurs ne sont pas familiers avec Apache Zeppelin, et il n’est pas aussi mature et riche que Jupyter peut l’être.
Dans cet exposé, je présente deux façons de connecter votre serveur Jupyter à votre cluster Spark :
- script shell pour lancer un serveur Jupyter personnel
- spark-magic pour créer l’interpréteur Spark pour un serveur partagé Jupyter
GitOps avec Argo CD
- Intervenant : Paul-Adrien CORDONNIER
- Durée : 1h
- Format : talk + demo
- Horaire : Jeudi 23 septembre à 12h00
Le modèle GitOps stipule que les dépôts Git doivent faire foi en ce qui concerne l’état de l’application désiré.
Les définitions d’applications, les configurations et les environnements doivent être déclaratifs et versionnés.
Argo CD automatise le déploiement d’applications vers les environnements cibles spécifiés. Les déploiements peuvent suivre les mises à jour des branches, des tags ou suivre une version spécifique des manifestes lors d’un commit Git.
Déploiement automatisé d’infrastructure avec Nikita, vers une version 1.0
- Intervenant : David WORMS
- Durée : 1h
- Format : discussion + demo
- Horaire : Jeudi 23 septembre à 14h30
L’automatisation est essentielle au déploiement et à l’exploitation de systèmes complexes. Plus il y a de serveurs et de services à gérer, plus il devient difficile pour une équipe de s’acquitter de ses tâches opérationnelles sans une automatisation appropriée en place.
Nikita présente plusieurs avantages par rapport aux solutions comparatives comme Ansible, Puppet et Chef. Il est écrit en JavaScript, un langage familier à beaucoup et dôté d’un large écosystème. L’utilisation de SSH est transparente, chaque action s’exécute localement ou via une connexion sécurisée à distance. Il n’y a pas d’état, ce qui le rend parfait pour l’intégration GitOps et CI/CD. Il combine le meilleur des deux mondes entre une API déclarative, lorsqu’il est écrit en CoffeeScript, avec un langage impératif. L’utilisation de template est également prise en charge si vous souhaitez emprunter cette voie. Il est extrêmement flexible, le noyau est écrit en 140 lignes, le reste ne sont que des plugins.
Nikita, un projet vieux de près de 10 ans chez Adaltas, a été entièrement réécrit pendant les confinements. L’initiative englobe de nombreux domaines. Il comprend une organisation de type Git monorepo, la possibilité pour une action de retourner une valeur, le support natif asynch/await, une architecture où tout est plug-in, la validation des paramètre avec JSON Schema, les variables de templates résolue en runtime, un nouveau site Web et bien plus encore.
Avant la version 1.0.0, l’API publique ne doit pas être considérée comme stable. La prochaine version 1.0.0 définit l’API publique. Dans le cas de Nikita, cela signifiait beaucoup de travail. Il y a encore quelques points à travailler avant d’être prêt. Nous nous rapprochons. La version actuelle est “1.0.0-alpha.2”. Nous vous présenterons Nikita, son utilisation, ses améliorations, et ses évolutions futures.
Optimiser votre code Terraform avec les Modules et les Workspaces
- Intervenant : Ferdinand DE BAECQUE
- Durée : 1h
- Format : talk + demo
- Horaire : Jeudi 23 septembre à 15h30
Terraform est un outil IaC (Infrastructure as Code) qui aide les utilisateurs à gérer leurs ressources Cloud. Je l’utilise tous les jours pour créer et mettre à jour des ressources GCP. Le fonctionnement est le suivant. Terraform construit un plan pour comparer ce qui a déjà été créé dans un système avec le code poussé par un utilisateur. L’étape plan
détecte les ressources à créer/mettre à jour/supprimer. Ensuite, l’étape apply
exécute l’action décrite dans l’étape plan
, et les informations de sortie associées sont persistées dans un fichier “state”.
Lorsqu’une équipe gère une grande infrastructure avec plusieurs entités utilisant le même type de ressource, l’utilisation de Module et de Workspace peut faciliter leur travail afin de modéliser la façon dont les ressources sont définies et d’isoler l’état des ressources par entité. Si les ressources d’une nouvelle entité doivent être créées, les définitions de ses ressources sont standardisées et le plan ne concerne que les ressources de cette entité.
Cette présentation introduit les Modules et les Workspaces Terraform puis illustre comment je les utilise à travers un exemple simple.
Désacraliser le overlay filesystem de Linux dans Docker
- Intervenant : David WORMS
- Durée : 1h
- Format : talk
- Horaire : Jeudi 23 septembre à 16h30
Le overlay filesystem (également appelés union filesystems) est une technologie fondamentale dans Docker pour créer des images et des conteneurs. Ils permettent de créer une union de répertoires pour créer un système de fichiers. Plusieurs systèmes de fichiers, qui ne sont que des répertoires, sont superposés les uns sur les autres pour créer un nouveau système de fichiers. Ces répertoires sont appelés des couches, layers en anglais, et le processus d’unification est appelé un montage d’union.
During this talk, nous apprendrons comment créer nous-mêmes un overlay filesystem et comment Docker l’utilise pour construire des images et exécuter des conteneurs.
Bonnes pratiques et limites d’Ansible pour maintenir des configurations complexes
- Intervenant : Xavier HERMAND
- Durée : 1h
- Format : talk
- Horaire : Jeudi 23 septembre à 17h30
Ansible est la norme de facto pour la gestion de configuration open source. Son format YAML lisible est ce qui l’a rendu si populaire, ainsi que son extensibilité à l’aide de Python. Cependant, utiliser Ansible tel qu’il est censé être utilisé n’est pas toujours évident. Cette conférence couvrira les bonnes et les mauvaises pratiques d’utilisation d’Ansible, et l’évolution récente : les collections Ansible.
Nous passerons en revue les limites de l’utilisation d’Ansible lors de la gestion des versions et des dépendances de la configuration. À titre d’exemple, nous montrerons comment Ansible a été utilisé pour déployer un cluster TDP Hadoop et décrirons ces défis.
L’objectif final de cet exposé est d’ouvrir une discussion sur différentes solutions techniques potentielles permettant une gestion de configuration complexe.
Que signifie le monitoring pour un data scientist ?
- Intervenant : Petra KAFERLE DEVISSCHERE
- Durée : 1h00
- Format : talk + demo
- Horaire : Vendredi 24 septembre à 9h00
Dans l’informatique, le monitoring est une technique dominante pour assurer le bon fonctionnement des ressources du système sous-jacent. Par exemple, nous surveillons l’utilisation du processeur, de la RAM, du réseau ou des performances des applications. Tout cela dans le but de maintenir le processus automatisé en marche et d’offrir une bonne expérience aux utilisateurs. Étant crucial pour des opérations de production en douceur, il est d’une grande importance également lors du déploiement de modèles d’apprentissage automatique.
Mais est-ce que la pratique de surveillance en tant que MLOps diffère de celle dans le contexte DevOps ? En bref, DevOps s’occupe principalement du développement et du déploiement du code. En revanche, MLOps gère en même temps le code, les données et le modèle, tous étant interdépendants. Ainsi, en plus des ressources, nous devons surveiller la qualité et le contenu des données et le comportement du modèle, qui lui-même dépend des données. Cette étape est complexe et souvent laissée de côté dans les manuels scolaires. Les plateformes de science des données exclusives l’incluent de plus en plus souvent, mais les bibliothèques open-source et la bonne littérature sont rares.
Au cours de la présentation, j’expliquerai plus en détail les mécanismes qui entraînent des changements dans les données et la façon dont ils influent sur le modèle. Nous verrons l’exemple pratique de la dégradation du modèle, qui ouvre la nouvelle question importante : Quand faut-il alerter pour le re-entrainement ?
Blockchain pour les nuls, la technologie derrière toute la hype et la spéculation
- Intervenant : Gauthier LEONARD
- Durée : 1h30
- Format : talk + demo
- Horaire : Vendredi 24 septembre à 10h00
Les cryptomonaies explosent en 2021 : le marché est passé de 750 milliards à plus de 2600 milliards. Soyons honnête, c’est principalement dû à de la spéculation. La majorité des utilisateurs n’ont aucune idée de ce qui se cache derrière les tokens qu’ils achètent.
Mais si nous mettons cela de côté et examinons les fondamentaux techniques, nous pouvons reconnaître que 2020-2021 apporte un tas de nouvelles blockchains avec des mécanismes de consensus meilleurs et plus rapides (viables ?), comme Proof of Stake (PoS).
Avant de parler de POS, il faut prendre du recul : Pourquoi la décentralisation ? Qu’est-ce qu’une blockchain ? une crypto-monnaie ? Proof of Work ? un bloc ? un wallet ? un smart contract ? l’Ethereum Virtual Machine (EVM) ? un ERC-20 ? un NFT ? la Decentralized Finance (DeFi) ?
Cette présentation passera en revue tous les principaux aspects de la technologie blockchain et même plus !
Avis de non-responsabilité : ceci n’est pas un conseil financier.
WasmEdge, environnement d’exécution natif cloud pour le edge
- Intervenant : Guillaume BOUTRY
- Durée : 45min
- Format : talk + demo
- Horaire : Vendredi 24 septembre à 11h00
Le WebAssembly est une nouvelle manière de compiler des langages produisant un bytecode capable d’être lu dans un navigateur.
Avec toutes les contraintes de sécurité nécessaires pour travailler dans un navigateur web résolues lors de la conception du WebAssembly, beaucoup de projets ont à bénéficier du WASM.
Le moteur d’exécution WasmEdge est une machine virtuelle optimisée pour le edge computing. Ses principales utilisations sont :
- Jamstack apps, au travers d’un front end statique couplé avec un backend serverless (FaaS)
- Automobiles
- IoT and Stream processing
Il s’agit d’une machine virtuelle intégrable qui peut être utilisée comme un processus, dans un processus ou orchestrée comme un conteneur natif (fournissant une interface conforme à OCI).
Cette présentation couvre les principales caractéristiques de ce projet et se termine par un projet de démonstration.
Microsoft Azure Log Analytics, requête et analyse de logs Cloud et on-premises
- Intervenant : Claire Playe
- Durée : 1h
- Format : talk + use case
- Horaire : Vendredi 24 septembre à 12h00
Tous les systèmes et applications produisent des logs qui contiennent des informations essentielles pour détecter les problèmes, les erreurs et les tendances. La centralisation des données de logs, provenants d’une grande variété de sources nous permet d’établir des corrélations et des aggrégations à de nombreuses fins comme la recherche de problèmes de sécurité, la compréhension du comportement des utilisateurs sur les applications, la surveillance ou encore l’alerte en temps réel.
Azure Log Analytics est un outil Microsoft intégré à la plateforme Azure qui collecte et stocke les données provenant de diverses sources de logs et nous permet de les interroger avec un langage de requête nommé Kusto, de créer des rapports visuels “Workbook” et de configurer des alertes spécifiques sur des modèles identifiés grâce aux requêtes.
Dans cette présentation, je ferai un tour d’horizon de Logs Analytics et de ses différents outils, puis je présenterai un cas d’utilisation de son implémentation chez Autodistribution pour le monitoring et l’alerte en temps réel sur Data Factory, Power BI et Databricks.
Azure Purview, the SaaS Data Catalog service proposed by Microsoft
- Intervenant : Jules HAMELIN-BOYER
- Durée : 1h
- Format : talk + demo
- Horaire : Vendredi 24 septembre à 14h30
La gestion de la gouvernance des données s’apparente à la lecture des conditions générales d’un nouveau service au moment de son inscription : tout le monde devrait les lire et comprendre, mais peu sont prêts à en fournir faire l’effort.
En preview publique pour le moment, Azure Purview est un service qui permet la découverte, la gouvernance et la cartographie des sources de données sur la plateforme cloud de Microsoft.
Basé sur l’API d’Apache Atlas, l’outil propose des solutions pour identifier les rouages de l’environnement de données. Étiqueter les données sensibles, accorder l’accès aux Data Stewards, assigner des Data Experts sur un jeu de données spécifique, exposer le linéage entre les flux… Les fonctionnalités proposées sont nombreuses et répondent chacune à des besoins spécifiques.
Dans cette présentation, la discussion portera sur l’état actuel d’Azure Purview. Du module de glossaire à l’automatisation de l’analyse, un parcours approfondi du Data Catalog sera proposé. Pour mieux comprendre la mise en œuvre de l’outil d’un point de vue pratique, une démonstration de la solution via un linéage de Databricks Lineage sera réalisée.
HBase RegionServer collocation
- Intervenant : Pierre BERLAND
- Durée : 1h
- Format : talk + demo
- Horaire : Vendredi 24 septembre à 15h30
De nos jours, de nombreuses entreprises disposent encore d’infrastructures on-premise pour gérer leurs données. Leurs serveurs en bare-metal bénéficient ainsi de l’intégralité de l’espace mémoire de leur machine. Parmi ces entreprises, celles qui s’appuient sur HBase exploitent inefficacement leurs ressources, car chaque RegionServer est déployé sur son propre nœud Worker pour profiter de la scalabilité horizontale, impliquant à la fois une perte de puissance et d’argent.
Les RegionServers sont les processus qui gèrent le stockage et la récupération des données dans Apache HBase. Les JVM qu’ils utilisent étant plafonnées à 30 GB, serait-il possible de mettre plusieurs RegionServers sur une même machine ? En effet, chaque machine pourrait aisément accueillir d’avantages de RegionServers afin d’exploiter la RAM disponible. Par conséquent, nous pourrions retirer certaines machines de leur cluster tout en respectant les exigences de performance, ce qui réduirait drastiquement les coûts de licence, dépendant directement du nombre de nœuds utilisés.
Lors de cette présentation, je développerai l’étude que j’ai réalisée sur ce sujet, et exposerai ses résultats.
Environments de deep learning sous conteneur avec Docker et nvidia-docker
- Intervenant : Robert SOARES
- Durée : 1h
- Format : talk + demo
- Horaire : Vendredi 24 septembre à 16h30
Dans ce monde où l’intelligence artificielle coexiste de plus en plus avec nous, il est important de comprendre comment elle fonctionne.
Nous avons principalement deux types d’intelligence artificielle, le machine learning et le deep learning. Ce dernier fait partie d’une famille plus large de méthodes de machine learning basées sur les réseaux de neurones artificiels avec apprentissage par représentation.
Dans le contexte du deep learning où les opérations sont essentiellement des multiplications de matrices, les GPU s’avèrent plus efficaces par rapport aux CPU. C’est pourquoi l’utilisation des GPU (Graphics Processing Unit) s’est développée ces dernières années. En effet, le GPU (Graphics Processing Unit) est considéré comme le cœur du deep learning en raison de son architecture.
Cependant, en pratique, comment utiliser et communiquer avec vos GPUs depuis vos codes Python/R. Des technologies, dont Cuda et CudNN, sont apparues pour communiquer facilement et efficacement avec un GPU. Les bibliothèques de deep learning comme TensorFlow et Keras reposent sur ces technologies.
Platforme analytique moderne sur Azure, défis et leçons apprises.
- Intervenant : Nabil MELLAL
- Durée : 1h
- Format : talk
- Horaire : Vendredi 24 septembre à 17h30
Depuis 2 ans maintenant, nous construisons une plateforme d’analyse et de ml sur Azure pour un client.
Au cours de cette session, nous partagerons avec vous les décisions prises, l’architecture, les technologies, les principes de conception et surtout les défis rencontrés et les leçons apprises.