Concevoir un SaaS multitenant

Concevoir un SaaS multitenant

Cet article se repose sur mon talk Concevoir un SaaS multitenant fait à Cloud Nord le 12 octobre 2023. Kestra est une plate-forme d’orchestration et de scheduling de donnée hautement scalabe, qui crée, exécute, planifie et surveille des millions de pipelines complexes. Pour une introduction à Kestra, vous pouvez lire mon article sur le sujet. Une des évolutions récente de Kestra dont j’ai été chargé fut le support du multitenant, cet article va vous raconter la conception qui a été…

Lire la suite Lire la suite

Java 22 : quoi de neuf ?

Java 22 : quoi de neuf ?

Maintenant que Java 22 est features complete (Rampdown Phase One au jour d’écriture de l’article), c’est le moment de faire le tour des fonctionnalités qu’apporte cette nouvelle version, à nous, les développeurs. Cet article fait partie d’une suite d’article sur les nouveautés des dernières versions de Java, pour ceux qui voudraient les lire en voici les liens : Java 21, Java 20, Java 19, Java 18, Java 17, Java 16, Java 15, Java 14, Java 13, Java 12, Java 11, Java…

Lire la suite Lire la suite

Optimisation d’index PostgreSQL

Optimisation d’index PostgreSQL

Il y a quelque temps, j’avais travaillé sur des optimisations de temps d’exécution de requêtes pour PostgreSQL, j’en parle ici : LE PROFILER SQL DE VISUALVM. Kestra est une plate-forme d’orchestration et de scheduling de donnée hautement scalable, qui crée, exécute, planifie, et surveille des millions de pipelines complexes. C’est aussi la société dans laquelle je travaille ! Kestra, en version open source, utilise un moteur base de données, l’Edition d’Entreprise permet d’utiliser un moteur alternatif basé sur Kafka et…

Lire la suite Lire la suite

Java 21 : quoi de neuf ?

Java 21 : quoi de neuf ?

Maintenant que Java 21 est features complete (Rampdown Phase Two au jour d’écriture de l’article), c’est le moment de faire le tour des fonctionnalités qu’apporte cette nouvelle version, à nous, les développeurs. Cet article fait partie d’une suite d’article sur les nouveautés des dernières versions de Java, pour ceux qui voudraient les lire en voici les liens : Java 20, Java 19, Java 18, Java 17, Java 16, Java 15, Java 14, Java 13, Java 12, Java 11, Java 10, et Java 9….

Lire la suite Lire la suite

Devoxx FR 2023 – Lincheck: Testing concurrency on the JVM par Maria Sokolova

Devoxx FR 2023 – Lincheck: Testing concurrency on the JVM par Maria Sokolova

Maria Sokolova est une des développeuses de l’équipe des coroutines de Kotlin et de Lincheck et elle va nous présenter Lincheck, une librairie permettant de valider les algorithmes concurrents. On prend comme exemple une bounded queue basée sur ConcurrentLinkedList dont l’implémentation a été faite par ChatGTP en Kotlin. L’implémentation proposée par ChatGTP semble correcte à première vue, mais comment la tester ? Stress Test ? Non car c’est non déterministe. L’équipe de Kotlin a créé Lincheck pour ça : tester…

Lire la suite Lire la suite

Devoxx FR 2023 – FoundationDB : le secret le mieux gardé des nouvelles architectures distribuées ! par Pierre Zemb et Steven Le Roux

Devoxx FR 2023 – FoundationDB : le secret le mieux gardé des nouvelles architectures distribuées ! par Pierre Zemb et Steven Le Roux

Il existe près de 900 BDD (cf https://dbdb.io/) et chacune a ses particularités : modèle de requêtage, modélisation de la donnée, moteur de stockage, …. Existe-t-il une de ces trois caractéristiques que l’on peut mutualiser ? Oui, toutes les bases de données stockent de la donnée, on doit donc pouvoir mutualiser le stockage. Avec un moteur de stockage séparé, les BDD deviennent stateless ! Ce moteur doit être performant, scallable, fournir une abstraction pour construire des BDD, et faciliter les…

Lire la suite Lire la suite

Devoxx FR 2023 – Improving your skills with the Debugger par Bouke Nijuis

Devoxx FR 2023 – Improving your skills with the Debugger par Bouke Nijuis

Deuxième conférence à laquelle j’assiste (et dernière pour laquelle j’ai pris des notes), ça parle de l’utilisation du debugger. On va utiliser un programme simple de type Hello World. Après un rapide rappel sur les bases de l’utilisation d’un debugger avec IntelliJ on entre dans le vif du sujet, les fonctionnalités avancées et parfois cachées ! Certaines de ces fonctionnalités nécessitent de lancer des commandes dans IntelliJ car il n’y a pas de bouton ni d’entrée dans le menu pour…

Lire la suite Lire la suite

Devoxx FR 2023 – Hidden security features of the JVM – everything you didn’t know and more par Steve Poole

Devoxx FR 2023 – Hidden security features of the JVM – everything you didn’t know and more par Steve Poole

Première conférence à laquelle je vais pour cette session de Devoxx France parle de sécurité dans le JVM par Steve Poole. Le Security Manager est déprécié mais la JVM a un design fantastique pour la sécurité. Tout d’abord, pourquoi se soucier de la sécurité ? Première conférence à laquelle je vais pour cette session de Devoxx France parle de sécurité dans le JVM par Steve Poole. Le Security Manager est déprécié, mais la JVM a un design fantastique pour la…

Lire la suite Lire la suite

Le profiler SQL de VisualVM

Le profiler SQL de VisualVM

Il y a peu, j’ai découvert le profiler SQL de VisualVM et je me suis dit que je devais aussi vous le faire découvrir ;). VisualVM est un outil qui fournit une interface visuelle pour afficher des informations détaillées sur les applications qui s’exécutent sur une machine virtuelle Java (JVM). VisualVM est conçu pour une utilisation au développement et en production. VisualVM fournit des outils de profiling léger dont un profiler SQL. Celui-ci va détecter chaque requête SQL (passant par…

Lire la suite Lire la suite

Introduction à Kestra

Introduction à Kestra

Kestra est un orchestrateur et scheduler de donnée open source. Avec Kestra, les workflows de données, appelés flows, utilisent le format YAML et sont exécutés par son moteur via un appel API, l’interface utilisateur, ou un trigger (webhook, schedule, SQL query, Pub/Sub message, …). Les notions importantes de Kestra sont : Le flow : qui décrit la manière dont la donnée sera orchestrée (le workflow donc). C’est une suite de tasks. La task : une étape du flow qui va…

Lire la suite Lire la suite