Archives de
Year: 2022

Quarkus Tip : Tester une fonction Google Cloud

Quarkus Tip : Tester une fonction Google Cloud

J’ai récemment contribué une PR à Quarkus qui contient un framework de test pour les fonctions Google Cloud. Quarkus supporte la création de fonction Google Cloud de trois manières différentes : En utilisant l’API de Google Cloud. En utilisant une extension HTTP de Quarkus : RESTEasy, Reactive routes, Servlet, Spring Web. En utilisant Funqy, l’API de développement de fonction de Quarkus agnostique du fournisseur cloud. Mais jusqu’à aujourd’hui, pour tester ces fonctions, il fallait les packager puis les lancer localement…

Lire la suite Lire la suite

Java 20 : quoi de neuf ?

Java 20 : quoi de neuf ?

Maintenant que Java 20 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 19, Java 18, Java 17, Java 16, Java 15, Java 14, Java 13, Java 12, Java 11, Java 10, et Java 9. Force est…

Lire la suite Lire la suite

Java: le projet Valhalla

Java: le projet Valhalla

Cet article a été publié initialement dans le magazine Programmez! #253. Qu’est-ce que le projet Valhalla ? Le projet Valhalla est un projet d’OpenJDK démarré en 2014 dont le but est d’apporter à la JVM une manière plus flexible et performante de définir des types aplatis pour exprimer des données pures (flattened data types). Le but est d’aligner le fonctionnement de la JVM avec les caractéristiques des hardware modernes. Pour cela, il définit de nouveaux types Java qui permettent de…

Lire la suite Lire la suite

Tester une Java Google Cloud Function

Tester une Java Google Cloud Function

Jusqu’il y a peu de temps, tester une Google Cloud Function écrite en Java pouvait se faire via l’invoker fournit par le SDK des Google Cloud Functions mais pas via un test unitaire. Mais cela à changé récemment ! Prenons comme exemple la fonction HTTP suivante : public class HelloHttpFunction implements HttpFunction { @Override public void service(HttpRequest httpRequest, HttpResponse httpResponse) throws Exception { Writer writer = httpResponse.getWriter(); writer.write(« Hello World »); } } Après packaging de celle-ci dans un über JAR, nous…

Lire la suite Lire la suite

Apache Pinot et de ses différents types d’indexes

Apache Pinot et de ses différents types d’indexes

Il y a quelques temps, j’avais enfin pris le temps de tester Apache Pinot, vous pouvez trouver le récit de mes premières expérimentations ici. Apache Pinot est un datastore OLAP (OnLine Analytical Processing) distribué et temps réel, spécialement conçu pour fournir des analyses à très faible latence, même à un débit extrêmement élevé. Si vous ne le connaissez pas, commencez par lire mon article d’introduction avant celui-ci. Une des forces de Pinot est ses différents types d’indexes, ce sont ceux-ci…

Lire la suite Lire la suite

4 ans chez Zenika

4 ans chez Zenika

Avec quelques jours de retard, la date anniversaire étant le 3 septembre, voici le bilan de ma quatrième année chez Zenika. Pour ceux qui seraient intéressé par ce que j’avais fait l’année précédente, c’est ici : Ma troisième année chez Zenika. Quelques chiffres : 11 articles sur mon blog perso, 2 dans le magazine Programmez et 1 sur le blog de Quarkus. 9 sessions de formation données, dont 1 sessions pour la formation Développement d’applications Cloud Ready avec Quarkus que…

Lire la suite Lire la suite

Java 19 : quoi de neuf ?

Java 19 : quoi de neuf ?

Maintenant que Java 19 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 18, Java 17, Java 16, Java 15, Java 14, Java 13, Java 12, Java 11, Java 10, et Java 9. JEP 405 : Record…

Lire la suite Lire la suite

Profiler un pod dans Kubernetes avec kubectl flame

Profiler un pod dans Kubernetes avec kubectl flame

Kubectl flame est un plugin pour kubectl qui vous permet de profiler des applications en production avec un faible coût en générant des FlameGraphs. C’est un projet Yahoo. Il s’installe via krew, le gestionnaire de plugin pour kubectl, et permet de générer des FlameGraphs pour des applications en Go, Java (tous les langages JVM), Python, Ruby, et NodeJS. Après avoir installé krew, vous pouvez installer flame via : kubectl krew install flame. Pour chaque langage supporté, il va utiliser un…

Lire la suite Lire la suite

Google Cloud Functions 2nd gen

Google Cloud Functions 2nd gen

Google vient de sortir en beta la seconde génération des Google Cloud Functions. Pour ceux qui ne connaissent pas encore les Google Cloud Functions vous pouvez lire mes articles J’ai testé Java Google Cloud Functions et Quarkus et les Google Cloud Functions. Cette seconde génération apporte : Un temps de traitement maximal plus important : 60mn au lieu de 10mn. Des instances jusqu’à 16Go/4vCPU au lieu de 8Go/4vCPU. La possibilité d’avoir des instances toujours disponibles. Une meilleure gestion de la…

Lire la suite Lire la suite

J’ai enfin pris le temps de tester Apache Pinot

J’ai enfin pris le temps de tester Apache Pinot

Cela faisait très longtemps que j’avais envie de tester Apache Pinot et j’ai enfin pris le temps de le faire ! Tout d’abord, une rapide description de Pinot Pinot est un datastore OLAP (OnLine Analytical Processing) distribuée et temps réel, spécialement conçu pour fournir des analyses à très faible latence, même à un débit extrêmement élevé. Il peut ingérer des données directement à partir de sources de données en continu (stream) ou de sources de données par lots (batch). Au…

Lire la suite Lire la suite