http://www.brownbaglunch.fr/baggers.html#Olivier_BAZOUD
Monitoring: regarder votre application à la loupe!
Regarder fonctionner votre application sous toutes les coutures.
Nous verrons comment alimenter Graphite, un excellent outil de métrologie, dans une architecture java (je peux m'adapter à vote langage): collectd, jmxtrans, metrics, statsd,.. afin de prendre des mesures au niveau du système, de l'applicatif, des batchs et du métier (KPI). Nous aborderons ensuite la corrélation tous ces métriques de façon très visuelle et comment réveiller vos sysadmins en cas d'urgence ;)
Articulé autour de C++ 11, cette session amène celui qui y assiste aux fondamentaux du développement logiciel : libraries, dépendances, TR1 et C++0X les fondations de C++ 11, runtime C alias CRT, runtime C++ alias STL, agilité en C++, ALM en C++, Windows 8 et C++, C++ et Windows 8 avec le nouveau modèle COM nommé WRL.
Monitoring applicatif : Pourquoi et comment ?Kenny Dits
Vous êtes développeur, chef de projet technique ou même responsable et vous souhaitez avoir de la visibilité sur le fonctionnement de vos applicatifs, ou sur la plateforme sur laquelle ils sont hébergés ?
Nous étudierons comment, grâce à des outils simples (StatD / Graphite / Log BDD) et nos expériences chez M6Web, mettre en place un monitoring applicatif ultra complet.
Ce monitoring vous permettra de retrouver la vue sur vos projets, pour mieux anticiper la charge, detecter la root cause en cas d'incident et connaitre l'état de chacun de vos services ...
http://www.brownbaglunch.fr/baggers.html#Olivier_BAZOUD
Monitoring: regarder votre application à la loupe!
Regarder fonctionner votre application sous toutes les coutures.
Nous verrons comment alimenter Graphite, un excellent outil de métrologie, dans une architecture java (je peux m'adapter à vote langage): collectd, jmxtrans, metrics, statsd,.. afin de prendre des mesures au niveau du système, de l'applicatif, des batchs et du métier (KPI). Nous aborderons ensuite la corrélation tous ces métriques de façon très visuelle et comment réveiller vos sysadmins en cas d'urgence ;)
Articulé autour de C++ 11, cette session amène celui qui y assiste aux fondamentaux du développement logiciel : libraries, dépendances, TR1 et C++0X les fondations de C++ 11, runtime C alias CRT, runtime C++ alias STL, agilité en C++, ALM en C++, Windows 8 et C++, C++ et Windows 8 avec le nouveau modèle COM nommé WRL.
Monitoring applicatif : Pourquoi et comment ?Kenny Dits
Vous êtes développeur, chef de projet technique ou même responsable et vous souhaitez avoir de la visibilité sur le fonctionnement de vos applicatifs, ou sur la plateforme sur laquelle ils sont hébergés ?
Nous étudierons comment, grâce à des outils simples (StatD / Graphite / Log BDD) et nos expériences chez M6Web, mettre en place un monitoring applicatif ultra complet.
Ce monitoring vous permettra de retrouver la vue sur vos projets, pour mieux anticiper la charge, detecter la root cause en cas d'incident et connaitre l'état de chacun de vos services ...
Stockage et analyse temps réel d'événements avec Riak chez Booking.comDamien Krotkine
Chez Booking.com, un flux constant d'événements provient des différents systèmes et applications internes. Ces "events" sont des données critiques, et doivent être stockés pour être analysés en temps réel, ou bien sur du moyen et long terme. Ces données sont très peu structurées et de nature changeante, rendant difficile l'utilisation d'outils standards d'analyse.
Cette présentation montre comment fut construit un système de stockage complet avec analyse temps-réel, basé sur Riak.
Riak est une base de donnée NoSQL distribuée hybride très robuste et rapide.
Les points abordés seront: sérialisation et aggrégation des données, la configuration de Riak, les solutions pour diminuer la consommation de bande passante du cluster, l'implémentation de l'analyse temps-réel grace aux fonctions avancées de Riak: MapReduce, Secondary Indexes, commit-hooks.
Dans cette session, vous découvrirez les nouveaux standards supportés par Internet Explorer 10. Coté CSS3, on verra ainsi des choses comme grid layout, animations ou transitions. Coté nouvelles APIs, nous passerons un peu de temps sur la gestion du drag-n-drop, IndexedDB, la gestion de l’Application Cache ou bien encore la gestion du tactile. Pour découvrir tout cela, nous verrons à chaque fois de petits exemples d’illustration ainsi que des sites plus « complexes » les mettant en œuvre.
Les dernières avancées html5 & css3 en action !davrous
Dans cette session, vous découvrirez les nouveaux standards supportés par Internet Explorer 10. Coté CSS3, on verra ainsi des choses comme grid layout, animations ou transitions. Coté nouvelles APIs, nous passerons un peu de temps sur la gestion du drag-n-drop, IndexedDB, la gestion de l'Application Cache ou bien encore la gestion du tactile. Pour découvrir tout cela, nous verrons à chaque fois de petits exemples d'illustration ainsi que des sites plus « complexes » les mettant en oeuvre.
Présentation jouée pendant les MS Techdays 2013: http://www.microsoft.com/france/mstechdays/programmes/2013/fiche-session.aspx?ID=4a174b26-32b7-4d4c-8523-ad3a3228ef53
Retrouvez tous les exemples de code sur mon blog ici: http://blogs.msdn.com/b/davrous/archive/2012/11/03/demos-links-amp-articles-associated-to-htm5-amp-css3-latest-features-in-action-build-3-114.aspx
Symfony2 - Un Framework PHP 5 PerformantHugo Hamon
L’arrivée de PHP 5.3 en milieu d’année 2009 a bouleversé la manière de développer des applications web. En effet, cette nouvelle version a apporté de nouveaux outils au langage tels que les espaces de nommage qui favorisent la réutilisabilité du code lorsqu’ils sont employés à bon escient. Les nouveaux frameworks de développement rapide ont aussi suivi le mouvement et reposent sur la base de PHP 5.3. C’est le cas de Symfony2 dont la version stable est prévue prochainement.
Cette présentation offre un tour d’horizon de la nouvelle architecture du framework qui s’articule autour de “bundles”, de librairies externes et de nombreux composants indépendants tels que le conteneur d’injection de dépendances. Nous dresserons un panorama des principales fonctionnalités offertes par le framework telles que la couche d’ORM Doctrine 2, le moteur de templating Twig et la gestion des formulaires. Nous nous intéresserons également à la gestion du cache HTTP, à la couche de sécurité ainsi qu’aux outils de débogage destinés à améliorer la productivité du développeur et la maintenance de l’application.
Découvrez Spring Batch, sa simplicité, les concepts de bases ainsi que les notions avancées. Tout tout tout, vous saurez tout sur Spring Batch!
Intervenant : Olivier Bazoud @obazoud
Agenda :
Les enjeux de la performance d'un site Web
Les différents éléments de performance d'un site Web
Infrastructure, architecture technique, tuning, architecture applicative, WebPerf
L'obsession de la mesure
Les outils
Les quickwins
Caches, upscaling, outscaling, sharding
La démarche de test de charge
Méthodologie, outils, types de test, données de test
La démarche PDCA
Intégrer les tests de charge au cycle de développement
Environnement éphémère
Oxalide MorningTech #2 - Démarche de performance
2ème MorningTech @Oxalide, animé par Adrien Le Priol (@Priolix) et Ludovic Piot (@lpiot), le 28 février 2017.
Une vue d'ensemble sur la démarche et les outils pour aborder et maîtriser la performance de son site Web.
En 2012, Amazon publiait une étude indiquant que chaque seconde de performance perdue sur son site de commerce lui coûtait $1.6 milliards de chiffre d'affaire.
Par delà ce chiffre colossal avancé par le géant du Web, il est une réalité business : plus un site est lent, et moins les utilisateurs sont enclin à naviguer dessus. Les smartphones et le SoLoMo exacerbent cette réalité avec encore plus depuis 10 ans maintenant.
Sur le terrain, l'architecture technique des sites Web, de plus en plus complexe, rendent ses performances impossibles à prédire : complexité des développements applicatifs, multitude des composants impliqués dans l'architecture technique, recours à des services tiers (issus du SI de votre entreprise, ou de services tiers), big data, machine learning…
Une seule façon de prédire les performances : tester… en situation réelle.
A travers les différentes étapes d'une démarche d'optimisation des performances d'un site Web, les enjeux et les écueils d'une telle démarche vous seront détaillés.
Subject: Oxalide's MorningTech talk about an overview of how to deal with performance in a Web site.
Date: 28-feb-2017
Speakers: Adrien Le Priol (@Priolix, @Oxalide) and Ludovic Piot (@lpiot, @Oxalide)
Language: french
Lien SpeakerDeck : https://speakerdeck.com/lpiot/oxalide-morning-tech-number-2-demarche-performance
Lien SlideShare : https://www.slideshare.net/LudovicPiot/morning-tech-2-demarche-performance-slides
YouTube Video capture: https://youtu.be/a8jSbvyBzYU
Main topics:
* Les enjeux de la performance d'un site Web
* Les différents éléments de performance d'un site Web
** Infrastructure, architecture technique, tuning, architecture applicative, WebPerf
* L'obsession de la mesure
* Les outils
* Les quickwins
** Caches, upscaling, outscaling, sharding
* La démarche de test de charge
** Méthodologie, outils, types de test, données de test
* La démarche PDCA
** Intégrer les tests de charge au cycle de développement
** Environnement éphémère
* Questions / Réponses
Découverte du moteur de rendu du projet SpartanMicrosoft
Dans cette session, nous découvrirons l'ensemble des nouveautés du moteur de rendu du dernier navigateur de Microsoft. Vous l'avez peut-être déjà découvert lors de l'évènement du 21 janvier. Venez cette fois-ci découvrir ce qu'il y a sous le capot du point de vue du développeur. Ce sera pour nous l'occasion de vous parler des dernières technologies HTML5 comme ECMAScript 6, des dernières avancées côté WebGL ou bien encore du support de Web Audio. Pour finir, vous verrez également les progrès que nous avons effectué du côté la barre de développement.
Les données transitoires (transients) vous veulent du bienBoiteaweb
Je parle bien sûr des transients, cette fameuse API qui ne vous veut que du bien. Voyons des cas concrets d’utilisation pour réduire les requêtes distances et ainsi gagner en performances de temps de chargement. L’auditoire apprendra à utiliser l’API “transient” de WordPress dans le but dé gagner en performances.
Ingénierie de la performance au sein des mégadonnéesDaniel Lemire
Les index logiciels accélèrent les applications en intelligence d'affaire, en apprentissage machine et en science des données. Ils déterminent souvent la performance des applications portant sur les mégadonnées. Les index efficaces améliorent non seulement la latence et le débit, mais aussi la consommation d'énergie. Plusieurs index font une utilisation parcimonieuse de la mémoire vive afin que les données critiques demeurent près du processeur. Il est aussi souhaitable de travailler directement sur les données compressées afin d'éviter une étape de décodage supplémentaire.
(1) Nous nous intéressons aux index bitmap. Nous les trouvons dans une vaste gamme de systèmes :
Oracle, Hive, Spark, Druid, Kylin, Lucene, Elastic, Git... Ils sont une composante de systèmes, tels que Wikipedia ou GitHub, dont dépendent des millions d'utilisateurs à tous les jours. Nous
présenterons certains progrès récents ayant trait à l'optimisation des index bitmap, tels qu'ils sont utilisés au sein des systèmes actuels. Nous montrons par des exemples comment multiplier la
performance de ces index dans certains cas sur les processeurs bénéficiant d'instructions SIMD (instruction unique, données multiples) avancées.
(2) Nous ciblons aussi les listes d'entiers que l'on trouve au sein des arbres B+, dans les indexes inversés et les index bitmap compressés. Nous donnons un exemple récent de technique de compression (Stream VByte) d’entiers qui permet de décoder des milliards d’entiers compressés par seconde.
3 Microsoft Advanced Threat Analytics - GenèveaOS Community
Session qui va décrire et présenter la technologie Azure Site Recovery. Ce service dans Azure propose un PRA pour les systèmes d'informations avec comme source plusieurs technologies ( Hyper-V , VMware) cette session va présenter ASR dans les moindres détails en passant par la phase design , déploiement et administration.
In this presentation, Marc Dutoo of Open Wide discusses document import in Alfresco document management solution, provides guidance to choose the best answer in each use case, and finally presents the Alfresco ETL Connector for Talend bulk import extension.
Utilisation de l’IA dans le manufacturing - Retour d'expérienceMathieu Goeminne
Retour d'expérience sur l'utilisation de l'intelligence artificielle dans le manufacturing. Différentes techniques sont exposées, et des cas concrets d'utilisation sont discutés.
Stockage et analyse temps réel d'événements avec Riak chez Booking.comDamien Krotkine
Chez Booking.com, un flux constant d'événements provient des différents systèmes et applications internes. Ces "events" sont des données critiques, et doivent être stockés pour être analysés en temps réel, ou bien sur du moyen et long terme. Ces données sont très peu structurées et de nature changeante, rendant difficile l'utilisation d'outils standards d'analyse.
Cette présentation montre comment fut construit un système de stockage complet avec analyse temps-réel, basé sur Riak.
Riak est une base de donnée NoSQL distribuée hybride très robuste et rapide.
Les points abordés seront: sérialisation et aggrégation des données, la configuration de Riak, les solutions pour diminuer la consommation de bande passante du cluster, l'implémentation de l'analyse temps-réel grace aux fonctions avancées de Riak: MapReduce, Secondary Indexes, commit-hooks.
Dans cette session, vous découvrirez les nouveaux standards supportés par Internet Explorer 10. Coté CSS3, on verra ainsi des choses comme grid layout, animations ou transitions. Coté nouvelles APIs, nous passerons un peu de temps sur la gestion du drag-n-drop, IndexedDB, la gestion de l’Application Cache ou bien encore la gestion du tactile. Pour découvrir tout cela, nous verrons à chaque fois de petits exemples d’illustration ainsi que des sites plus « complexes » les mettant en œuvre.
Les dernières avancées html5 & css3 en action !davrous
Dans cette session, vous découvrirez les nouveaux standards supportés par Internet Explorer 10. Coté CSS3, on verra ainsi des choses comme grid layout, animations ou transitions. Coté nouvelles APIs, nous passerons un peu de temps sur la gestion du drag-n-drop, IndexedDB, la gestion de l'Application Cache ou bien encore la gestion du tactile. Pour découvrir tout cela, nous verrons à chaque fois de petits exemples d'illustration ainsi que des sites plus « complexes » les mettant en oeuvre.
Présentation jouée pendant les MS Techdays 2013: http://www.microsoft.com/france/mstechdays/programmes/2013/fiche-session.aspx?ID=4a174b26-32b7-4d4c-8523-ad3a3228ef53
Retrouvez tous les exemples de code sur mon blog ici: http://blogs.msdn.com/b/davrous/archive/2012/11/03/demos-links-amp-articles-associated-to-htm5-amp-css3-latest-features-in-action-build-3-114.aspx
Symfony2 - Un Framework PHP 5 PerformantHugo Hamon
L’arrivée de PHP 5.3 en milieu d’année 2009 a bouleversé la manière de développer des applications web. En effet, cette nouvelle version a apporté de nouveaux outils au langage tels que les espaces de nommage qui favorisent la réutilisabilité du code lorsqu’ils sont employés à bon escient. Les nouveaux frameworks de développement rapide ont aussi suivi le mouvement et reposent sur la base de PHP 5.3. C’est le cas de Symfony2 dont la version stable est prévue prochainement.
Cette présentation offre un tour d’horizon de la nouvelle architecture du framework qui s’articule autour de “bundles”, de librairies externes et de nombreux composants indépendants tels que le conteneur d’injection de dépendances. Nous dresserons un panorama des principales fonctionnalités offertes par le framework telles que la couche d’ORM Doctrine 2, le moteur de templating Twig et la gestion des formulaires. Nous nous intéresserons également à la gestion du cache HTTP, à la couche de sécurité ainsi qu’aux outils de débogage destinés à améliorer la productivité du développeur et la maintenance de l’application.
Découvrez Spring Batch, sa simplicité, les concepts de bases ainsi que les notions avancées. Tout tout tout, vous saurez tout sur Spring Batch!
Intervenant : Olivier Bazoud @obazoud
Agenda :
Les enjeux de la performance d'un site Web
Les différents éléments de performance d'un site Web
Infrastructure, architecture technique, tuning, architecture applicative, WebPerf
L'obsession de la mesure
Les outils
Les quickwins
Caches, upscaling, outscaling, sharding
La démarche de test de charge
Méthodologie, outils, types de test, données de test
La démarche PDCA
Intégrer les tests de charge au cycle de développement
Environnement éphémère
Oxalide MorningTech #2 - Démarche de performance
2ème MorningTech @Oxalide, animé par Adrien Le Priol (@Priolix) et Ludovic Piot (@lpiot), le 28 février 2017.
Une vue d'ensemble sur la démarche et les outils pour aborder et maîtriser la performance de son site Web.
En 2012, Amazon publiait une étude indiquant que chaque seconde de performance perdue sur son site de commerce lui coûtait $1.6 milliards de chiffre d'affaire.
Par delà ce chiffre colossal avancé par le géant du Web, il est une réalité business : plus un site est lent, et moins les utilisateurs sont enclin à naviguer dessus. Les smartphones et le SoLoMo exacerbent cette réalité avec encore plus depuis 10 ans maintenant.
Sur le terrain, l'architecture technique des sites Web, de plus en plus complexe, rendent ses performances impossibles à prédire : complexité des développements applicatifs, multitude des composants impliqués dans l'architecture technique, recours à des services tiers (issus du SI de votre entreprise, ou de services tiers), big data, machine learning…
Une seule façon de prédire les performances : tester… en situation réelle.
A travers les différentes étapes d'une démarche d'optimisation des performances d'un site Web, les enjeux et les écueils d'une telle démarche vous seront détaillés.
Subject: Oxalide's MorningTech talk about an overview of how to deal with performance in a Web site.
Date: 28-feb-2017
Speakers: Adrien Le Priol (@Priolix, @Oxalide) and Ludovic Piot (@lpiot, @Oxalide)
Language: french
Lien SpeakerDeck : https://speakerdeck.com/lpiot/oxalide-morning-tech-number-2-demarche-performance
Lien SlideShare : https://www.slideshare.net/LudovicPiot/morning-tech-2-demarche-performance-slides
YouTube Video capture: https://youtu.be/a8jSbvyBzYU
Main topics:
* Les enjeux de la performance d'un site Web
* Les différents éléments de performance d'un site Web
** Infrastructure, architecture technique, tuning, architecture applicative, WebPerf
* L'obsession de la mesure
* Les outils
* Les quickwins
** Caches, upscaling, outscaling, sharding
* La démarche de test de charge
** Méthodologie, outils, types de test, données de test
* La démarche PDCA
** Intégrer les tests de charge au cycle de développement
** Environnement éphémère
* Questions / Réponses
Découverte du moteur de rendu du projet SpartanMicrosoft
Dans cette session, nous découvrirons l'ensemble des nouveautés du moteur de rendu du dernier navigateur de Microsoft. Vous l'avez peut-être déjà découvert lors de l'évènement du 21 janvier. Venez cette fois-ci découvrir ce qu'il y a sous le capot du point de vue du développeur. Ce sera pour nous l'occasion de vous parler des dernières technologies HTML5 comme ECMAScript 6, des dernières avancées côté WebGL ou bien encore du support de Web Audio. Pour finir, vous verrez également les progrès que nous avons effectué du côté la barre de développement.
Les données transitoires (transients) vous veulent du bienBoiteaweb
Je parle bien sûr des transients, cette fameuse API qui ne vous veut que du bien. Voyons des cas concrets d’utilisation pour réduire les requêtes distances et ainsi gagner en performances de temps de chargement. L’auditoire apprendra à utiliser l’API “transient” de WordPress dans le but dé gagner en performances.
Ingénierie de la performance au sein des mégadonnéesDaniel Lemire
Les index logiciels accélèrent les applications en intelligence d'affaire, en apprentissage machine et en science des données. Ils déterminent souvent la performance des applications portant sur les mégadonnées. Les index efficaces améliorent non seulement la latence et le débit, mais aussi la consommation d'énergie. Plusieurs index font une utilisation parcimonieuse de la mémoire vive afin que les données critiques demeurent près du processeur. Il est aussi souhaitable de travailler directement sur les données compressées afin d'éviter une étape de décodage supplémentaire.
(1) Nous nous intéressons aux index bitmap. Nous les trouvons dans une vaste gamme de systèmes :
Oracle, Hive, Spark, Druid, Kylin, Lucene, Elastic, Git... Ils sont une composante de systèmes, tels que Wikipedia ou GitHub, dont dépendent des millions d'utilisateurs à tous les jours. Nous
présenterons certains progrès récents ayant trait à l'optimisation des index bitmap, tels qu'ils sont utilisés au sein des systèmes actuels. Nous montrons par des exemples comment multiplier la
performance de ces index dans certains cas sur les processeurs bénéficiant d'instructions SIMD (instruction unique, données multiples) avancées.
(2) Nous ciblons aussi les listes d'entiers que l'on trouve au sein des arbres B+, dans les indexes inversés et les index bitmap compressés. Nous donnons un exemple récent de technique de compression (Stream VByte) d’entiers qui permet de décoder des milliards d’entiers compressés par seconde.
3 Microsoft Advanced Threat Analytics - GenèveaOS Community
Session qui va décrire et présenter la technologie Azure Site Recovery. Ce service dans Azure propose un PRA pour les systèmes d'informations avec comme source plusieurs technologies ( Hyper-V , VMware) cette session va présenter ASR dans les moindres détails en passant par la phase design , déploiement et administration.
In this presentation, Marc Dutoo of Open Wide discusses document import in Alfresco document management solution, provides guidance to choose the best answer in each use case, and finally presents the Alfresco ETL Connector for Talend bulk import extension.
Similar to Spark - au dela du dataframe avec Tungsten et Catalyst (20)
Utilisation de l’IA dans le manufacturing - Retour d'expérienceMathieu Goeminne
Retour d'expérience sur l'utilisation de l'intelligence artificielle dans le manufacturing. Différentes techniques sont exposées, et des cas concrets d'utilisation sont discutés.
Du capteur à l'amélioration de procédés - Opportunités du machine learning po...Mathieu Goeminne
Présentation du projet P15 Insight lors de l'atelier inaugural du Réseau IA wallon. Ce projet est réalisé en partenariat entre le Cetic et Prayon, afin de concevoir et développer une plateforme d'analyse de données afin de stabiliser des procédés industriels.
L'intelligence artificielle au sein des entreprises wallonnesMathieu Goeminne
Présentation "grand public" de la notion d'intelligence artificielle. Cas d'utilisation dans les entreprises wallonnes. Risques et opportunités de l'utilisation de l'IA dans les entreprises.
Co-Evolving Code-Related and Database-related Changes in Data Intensive Softw...Mathieu Goeminne
Current empirical studies on the evolution of software systems are primarily analyzing source code. Very few studies, however, focus on data-intensive software systems (DISS), in which a significant part of the total development effort is devoted to maintaining and evolving the database schema, typically through the use of a specific database management system and database technology (such as Hibernate).
Adding new functionality to the system may affect the database structure and, conversely, modifying the database structure may impact the source code associated to it.
Because of this, evolution of the DISS requires the source code and the database schema to co-evolve. Very little empirical studies have been carried out to study the co-evolution between source code changes and database schema changes in a DISS.
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Laurent Speyser
(Conférence dessinée)
Vous êtes certainement à l’origine, ou impliqué, dans un changement au sein de votre organisation. Et peut être que cela ne se passe pas aussi bien qu’attendu…
Depuis plusieurs années, je fais régulièrement le constat de l’échec de l’adoption de l’Agilité, et plus globalement de grands changements, dans les organisations. Je vais tenter de vous expliquer pourquoi ils suscitent peu d'adhésion, peu d’engagement, et ils ne tiennent pas dans le temps.
Heureusement, il existe un autre chemin. Pour l'emprunter il s'agira de cultiver l'invitation, l'intelligence collective , la mécanique des jeux, les rites de passages, .... afin que l'agilité prenne racine.
Vous repartirez de cette conférence en ayant pris du recul sur le changement tel qu‘il est généralement opéré aujourd’hui, et en ayant découvert (ou redécouvert) le seul guide valable à suivre, à mon sens, pour un changement authentique, durable, et respectueux des individus! Et en bonus, 2 ou 3 trucs pratiques!
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...OCTO Technology
par Claude Camus (Coach agile d'organisation @OCTO Technology) et Gilles Masy (Organizational Coach @OCTO Technology)
Les équipes infrastructure, sécurité, production, ou cloud, doivent consacrer du temps à la modernisation de leurs outils (automatisation, cloud, etc) et de leurs pratiques (DevOps, SRE, etc). Dans le même temps, elles doivent répondre à une avalanche croissante de demandes, tout en maintenant un niveau de qualité de service optimal.
Habitué des environnements développeurs, les transformations agiles négligent les particularités des équipes OPS. Lors de ce comptoir, nous vous partagerons notre proposition de valeur de l'agilité@OPS, qui embarquera vos équipes OPS en Classe Business (Agility), et leur fera dire : "nous ne reviendrons pas en arrière".
L'IA connaît une croissance rapide et son intégration dans le domaine éducatif soulève de nombreuses questions. Aujourd'hui, nous explorerons comment les étudiants utilisent l'IA, les perceptions des enseignants à ce sujet, et les mesures possibles pour encadrer ces usages.
Constat Actuel
L'IA est de plus en plus présente dans notre quotidien, y compris dans l'éducation. Certaines universités, comme Science Po en janvier 2023, ont interdit l'utilisation de l'IA, tandis que d'autres, comme l'Université de Prague, la considèrent comme du plagiat. Cette diversité de positions souligne la nécessité urgente d'une réponse institutionnelle pour encadrer ces usages et prévenir les risques de triche et de plagiat.
Enquête Nationale
Pour mieux comprendre ces dynamiques, une enquête nationale intitulée "L'IA dans l'enseignement" a été réalisée. Les auteurs de cette enquête sont Le Sphynx (sondage) et Compilatio (fraude académique). Elle a été diffusée dans les universités de Lyon et d'Aix-Marseille entre le 21 juin et le 15 août 2023, touchant 1242 enseignants et 4443 étudiants. Les questionnaires, conçus pour étudier les usages de l'IA et les représentations de ces usages, abordaient des thèmes comme les craintes, les opportunités et l'acceptabilité.
Résultats de l'Enquête
Les résultats montrent que 55 % des étudiants utilisent l'IA de manière occasionnelle ou fréquente, contre 34 % des enseignants. Cependant, 88 % des enseignants pensent que leurs étudiants utilisent l'IA, ce qui pourrait indiquer une surestimation des usages. Les usages identifiés incluent la recherche d'informations et la rédaction de textes, bien que ces réponses ne puissent pas être cumulées dans les choix proposés.
Analyse Critique
Une analyse plus approfondie révèle que les enseignants peinent à percevoir les bénéfices de l'IA pour l'apprentissage, contrairement aux étudiants. La question de savoir si l'IA améliore les notes sans développer les compétences reste débattue. Est-ce un dopage académique ou une opportunité pour un apprentissage plus efficace ?
Acceptabilité et Éthique
L'enquête révèle que beaucoup d'étudiants jugent acceptable d'utiliser l'IA pour rédiger leurs devoirs, et même un quart des enseignants partagent cet avis. Cela pose des questions éthiques cruciales : copier-coller est-il tricher ? Utiliser l'IA sous supervision ou pour des traductions est-il acceptable ? La réponse n'est pas simple et nécessite un débat ouvert.
Propositions et Solutions
Pour encadrer ces usages, plusieurs solutions sont proposées. Plutôt que d'interdire l'IA, il est suggéré de fixer des règles pour une utilisation responsable. Des innovations pédagogiques peuvent également être explorées, comme la création de situations de concurrence professionnelle ou l'utilisation de détecteurs d'IA.
Conclusion
En conclusion, bien que l'étude présente des limites, elle souligne un besoin urgent de régulation. Une charte institutionnelle pourrait fournir un cadre pour une utilisation éthique.
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO Technology
En cette année 2024 qui s’annonce sous le signe de la complexité, avec :
- L’explosion de la Gen AI
-Un contexte socio-économique sous tensions
- De forts enjeux sur le Sustainable et la régulation IT
- Une archipélisation des lieux de travail post-Covid
Découvrez les Tech trends incontournables pour délivrer vos produits stratégiques.
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...OCTO Technology
Par Nicolas Bordier (Consultant numérique responsable @OCTO Technology) et Alaric Rougnon-Glasson (Sustainable Tech Consultant @OCTO Technology)
Sur un exemple très concret d’audit d’éco-conception de l’outil de bilan carbone C’Bilan développé par ICDC (Caisse des dépôts et consignations) nous allons expliquer en quoi l’ACV (analyse de cycle de vie) a été déterminante pour identifier les pistes d’actions pour réduire jusqu'à 82% de l’empreinte environnementale du service.
Vidéo Youtube : https://www.youtube.com/watch?v=7R8oL2P_DkU
Compte-rendu :
3. www.cetic.be
Le problème
• Solutions pour améliorer l’IO
• SSD ou HDD strippé, agrégation de bande passante
• Pruning des données sur disque, format de fichier performant en
termes d’IO (cf Parquet)
• Dans de nombreux cas, la performance est limitée par la charge de calcul.
• Gestion de la mémoire gourmande en CPU
• Sérialisation/Désérialisation
• Garbage Collector
3
4. www.cetic.be
Apport de Tungsten: Gestion de la mémoire
• Système de pagination en RAM
• Suppression du système d’objets de la JVM
• Compactage des données
• Transformation des traitements pour travailler sur les données brutes
4
5. www.cetic.be
Apport de Tungsten: Gestion de la mémoire
• Système de pagination en RAM
• Suppression du système d’objets de la JVM
• Compactage des données
• Transformation des traitements pour travailler sur les données brutes
4
6. www.cetic.be
Apport de Tungsten: Gestion de la mémoire
• Système de pagination en RAM
• Suppression du système d’objets de la JVM
• Compactage des données
• Transformation des traitements pour travailler sur les données brutes
4
5 objets Java
Indirections
en-tête d’objet: 12 octets
char[]: 20 octets d’en-tête + 10 octets de texte
hashcode: 8 octets
total: 50 octets pour 5 caractères
7. www.cetic.be
Apport de Tungsten: Gestion de la mémoire
• Système de pagination en RAM
• Suppression du système d’objets de la JVM
• Compactage des données
• Transformation des traitements pour travailler sur les données brutes
4
5 objets Java
Indirections
en-tête d’objet: 12 octets
char[]: 20 octets d’en-tête + 10 octets de texte
hashcode: 8 octets
total: 50 octets pour 5 caractères
8. www.cetic.be
Apport de Tungsten: Gestion de la mémoire
• L’évaluation d’expressions arbitraires est très coûteuse pour la JVM
• Dispatching de fonctions polymorphes
• Comportement variable en fonction du type des objets manipulés
• Boxing/Unboxing: overhead en temps et en mémoire
• Écriture inutile en mémoire des résultats intermédiaires
5
9. www.cetic.be
Apport de Tungsten: Gestion de la mémoire
• L’évaluation d’expressions arbitraires est très coûteuse pour la JVM
• Dispatching de fonctions polymorphes
• Comportement variable en fonction du type des objets manipulés
• Boxing/Unboxing: overhead en temps et en mémoire
• Écriture inutile en mémoire des résultats intermédiaires
5
• Réponse : Évaluation des
expressions, génération de
(byte)code ad hoc qui
supprime ces étapes
intermédiaires. ie, compilation
des expressions.
• Backends: JVM, LLVM, GPU, …
Temps
(sec)
0
10
20
30
40
Interprété Code généré Manuel
9,33
9,36
36,65
10. www.cetic.be
Pour aller plus loin
• https://spoddutur.github.io/spark-notes/
second_generation_tungsten_engine.html
• https://jaceklaskowski.gitbooks.io/mastering-spark-sql/spark-sql-
tungsten.html
• https://www.slideshare.net/SparkSummit/deep-dive-into-project-
tungsten-josh-rosen
6
12. www.cetic.be
Le problème
• Spark introduit des APIs de plus en plus abstraites: Dataframe/
Dataset, SQL, … : Structured APIs
• Objectif: expression plus aisée des traitements, même API pour
le batch et le streaming
8
13. www.cetic.be
Le problème
• Spark introduit des APIs de plus en plus abstraites: Dataframe/
Dataset, SQL, … : Structured APIs
• Objectif: expression plus aisée des traitements, même API pour
le batch et le streaming
8
data .map { case (dpt, age) => dpt -> (age, 1) }
.reduceByKey { case ((a1, c1), (a2, c2)) => (a1 + a2, c1 + c2) }
.map { case (dpt, (age, c)) => dpt -> age / c }
RDD
14. www.cetic.be
Le problème
• Spark introduit des APIs de plus en plus abstraites: Dataframe/
Dataset, SQL, … : Structured APIs
• Objectif: expression plus aisée des traitements, même API pour
le batch et le streaming
8
data .map { case (dpt, age) => dpt -> (age, 1) }
.reduceByKey { case ((a1, c1), (a2, c2)) => (a1 + a2, c1 + c2) }
.map { case (dpt, (age, c)) => dpt -> age / c }
RDD
data.groupBy(‘’dept’’).avg(‘’age’’)
select dept, avg(age) from data group by dept
DataFrame
SQL
15. www.cetic.be
Le problème
• Il faut convertir une transformation exprimée en Structured API en
un plan d’actions exécutable.
• Le plan doit être exécuté par les workers sous la supervision du
driver.
• Plusieurs plans peuvent concrétiser une transformation. Il faut
donc choisir le meilleur plan.
• Réponse: Catalyst optimise la manière de transformer un
traitement abstrait en plan d’actions exécutable.
9
21. www.cetic.be
Étape 1 : Exemple de règle de transformation
1 + 2 + t1.value
Add
Add
Literal(1) Literal(2)
Attribute(t1.value)
22. www.cetic.be
Étape 1 : Exemple de règle de transformation
1 + 2 + t1.value
Add
Add
Literal(1) Literal(2)
Attribute(t1.value)
Évalué à chaque ligne
23. www.cetic.be
Étape 1 : Exemple de règle de transformation
1 + 2 + t1.value
Add
Add
Literal(1) Literal(2)
Attribute(t1.value)
Évalué à chaque ligne
Add(Literal(x), Literal(y)) ! Literal(x+y)
24. www.cetic.be
Étape 1 : Exemple de règle de transformation
1 + 2 + t1.value
Add
Add
Literal(1) Literal(2)
Attribute(t1.value)
Évalué à chaque ligne
Add(Literal(x), Literal(y)) ! Literal(x+y)
Add
Literal(3) Attribute(t1.value)
25. www.cetic.be
Étape 1 : Exemple de règle de transformation
1 + 2 + t1.value
Add
Add
Literal(1) Literal(2)
Attribute(t1.value)
Évalué à chaque ligne
Add(Literal(x), Literal(y)) ! Literal(x+y)
Add
Literal(3) Attribute(t1.value)
Évalué une seule fois
26. www.cetic.be
Étape 2 : planification physique & génération de code
12
Plan logique
optimisé
27. www.cetic.be
Étape 2 : planification physique & génération de code
12
Plan logique
optimisé
Plan physique 1
Plan physique 2
…
Génération de plans: lecture des
sources, predicate pushdown,
utilisation de cache, pipelining de
projection et de filtres, …
28. www.cetic.be
Étape 2 : planification physique & génération de code
12
Plan logique
optimisé
Plan physique 1
Plan physique 2
…
Génération de plans: lecture des
sources, predicate pushdown,
utilisation de cache, pipelining de
projection et de filtres, …
Plan physique
sélectionné
Stratégies + Règles + Modèle de
coûts exploitant les statistiques
des sources
29. www.cetic.be
Étape 2 : planification physique & génération de code
12
Plan logique
optimisé
Plan physique 1
Plan physique 2
…
Génération de plans: lecture des
sources, predicate pushdown,
utilisation de cache, pipelining de
projection et de filtres, …
Plan physique
sélectionné
Stratégies + Règles + Modèle de
coûts exploitant les statistiques
des sources
DAG de RDDs
30. www.cetic.be
Étape 2 : Exemple de planification physique
13
val joined = users.join(events, users.id == events.uid)
31. www.cetic.be
Étape 2 : Exemple de planification physique
13
val joined = users.join(events, users.id == events.uid)
Join
users events
Plan logique
32. www.cetic.be
Étape 2 : Exemple de planification physique
13
val joined = users.join(events, users.id == events.uid)
Sort-Merge join
[users.id = events.uid]
users events
[users trié par id] [events trié par uid]
Join
users events
Plan logique
33. www.cetic.be
Étape 2 : Exemple de planification physique
13
val joined = users.join(events, users.id == events.uid)
Sort-Merge join
[users.id = events.uid]
users events
[users trié par id] [events trié par uid]
34. www.cetic.be
Étape 2 : Exemple de planification physique
14
val joined = users.join(events, users.id == events.uid)
Sort-Merge join
[users.id = events.uid]
users events
[users trié par id] [events trié par uid]
35. www.cetic.be
Étape 2 : Exemple de planification physique
14
val joined = users.join(events, users.id == events.uid)
Sort-Merge join
[users.id = events.uid]
users events
[users trié par id] [events trié par uid]
Sort-Merge join
[users.id = events.uid]
Sort
[users.id]
Sort
[events.uid]
users events
36. www.cetic.be
Étape 2 : Exemple de planification physique
14
val joined = users.join(events, users.id == events.uid)
Sort-Merge join
[users.id = events.uid]
Sort
[users.id]
Sort
[events.uid]
users events
37. www.cetic.be
Étape 2 : Exemple de planification physique
15
val joined = users.join(events, users.id == events.uid)
Sort-Merge join
[users.id = events.uid]
Sort
[users.id]
Sort
[events.uid]
users events
38. www.cetic.be
Étape 2 : Exemple de planification physique
15
val joined = users.join(events, users.id == events.uid)
Sort-Merge join
[users.id = events.uid]
Sort
[users.id]
Sort
[events.uid]
users events
Sort-Merge join
[users.id = events.uid]
Sort
[users.id]
Sort
[events.uid]
ScanParquet
(trié par id)
ScanTable
39. www.cetic.be
Étape 2 : Exemple de planification physique
15
val joined = users.join(events, users.id == events.uid)
Sort-Merge join
[users.id = events.uid]
Sort
[users.id]
Sort
[events.uid]
ScanParquet
(trié par id)
ScanTable
40. www.cetic.be
Étape 2 : Exemple de planification physique
16
val joined = users.join(events, users.id == events.uid)
Sort-Merge join
[users.id = events.uid]
Sort
[users.id]
Sort
[events.uid]
ScanParquet
(trié par id)
ScanTable
41. www.cetic.be
Étape 2 : Exemple de planification physique
16
val joined = users.join(events, users.id == events.uid)
Sort-Merge join
[users.id = events.uid]
Sort
[users.id]
Sort
[events.uid]
ScanParquet
(trié par id)
ScanTable
Sort-Merge join
[users.id = events.uid]
Sort
[events.uid]
ScanParquet
(trié par id)
ScanTable
42. www.cetic.be
Pour aller plus loin
• https://databricks.com/glossary/catalyst-optimizer
• https://www.youtube.com/watch?v=RmUn5vHlevc
• https://databricks.com/blog/2015/04/13/deep-dive-into-spark-
sqls-catalyst-optimizer.html
• https://data-flair.training/blogs/spark-sql-optimization/
• https://developer.ibm.com/code/2017/11/30/learn-extension-
points-apache-spark-extend-spark-catalyst-optimizer/
17
43. www.cetic.be
La suite du programme: Spark Hands-On
Où vous
• Réaliserez vos premiers pas avec Spark
• Traquerez sans pitié des orphelins
• Développerez un modèle prédictif avec Dwayne Johnson
18