Profiling a pod in Kubernetes with kubectl flame

Profiling a pod in Kubernetes with kubectl flame

Kubectl flame is a plugin for kubectl that allows you to profile applications in production with low overhead by generating FlameGraphs. It is a Yahoo project. It is installed via krew, the plugin manager for kubectl, and allows you to generate FlameGraphs for applications in Go, Java (all JVM languages), Python, Ruby, and NodeJS. After installing krew, you can install flame via: kubectl krew install flame. For each supported language, it will use a different profiler to generate a FlameGraph….

Read More Read More

Google Cloud Functions 2nd gen

Google Cloud Functions 2nd gen

Google has just released in beta the second generation of Google Cloud Functions. For those who are not yet familiar with Google Cloud Functions you can read my article Quarkus and Google Cloud Functions. This second generation brings: A longer maximum processing time: 60mn instead of 10mn. Instances up to 16GB/4vCPU instead of 8GB/4vCPU. The ability to have instances always available. Better concurrency management: up to 1000 concurrent calls per instance. CloudEvents support via EventArc: more than 90 events available….

Read More Read More

I finally took the time to test Apache Pinot

I finally took the time to test Apache Pinot

I’ve been wanting to test Apache Pinot for a very long time and I finally took the time to do it! First, a quick description of Pinot Pinot is a real-time distributed OLAP datastore, purpose-built to provide ultra low-latency analytics, even at extremely high throughput. It can ingest directly from streaming data sources or batch data sources. At the heart of the system is a columnar store, with several smart indexing and pre-aggregation techniques for low latency. Pinot was built…

Read More Read More

Java 18 : what’s new ?

Java 18 : what’s new ?

Now that Java 18 is features complete (Rampdown Phase One at the day of writing), it’s time to walk throught all the functionalities that brings to us, developers, this new version. This article is part of a series on what’s new on the last versions of Java, for those who wants to read the others, here are the links : Java 17, Java 16, Java 15, Java 14, Java 13, Java 12, Java 11, Java 10, and Java 9. JEP 400: UTF-8 by…

Read More Read More

Quarkus Tip: How NOT to create a Quarkus extension

Quarkus Tip: How NOT to create a Quarkus extension

When you develop an application composed of several components, it is frequent to want to share some code in an external library, for example via an external JAR integrated as a dependency of your components. Quarkus is an extension framework, each extension it offers allows to integrate a technology (BDD client, ORM framework, …) to Quarkus, so it can be configured globally, used easily via CDI (dependency injection), work with GraalVM, … Quarkus has its own build system, via its…

Read More Read More

Quarkus and the Google Cloud Functions

Quarkus and the Google Cloud Functions

Quarkus is a microservice framework designed for the cloud and the containers. It is designed to have a reduced memory usage and the shortest possible startup time. It is mainly based on standards (Jakarta EE, Eclipse MicroProfile, …) and allows the use of mature and widespread Java libraries via its extensions (Hibernate, RESTeasy, Vert.X, Kafka, …). Quarkus has been thought for the cloud since its inception, it allows the development of Cloud Ready applications (as defined by the principle of…

Read More Read More

Quarkus Tip : Select a bean at runtime

Quarkus Tip : Select a bean at runtime

When developing an application, it is very common to have several implementations of a servicen and to have to select one or the other depending on the environment on which it is deployed. A classic example: a service that calls an API of an external partner that we want to call only in production, and therefore mock on the development and test / UAT / staging environments. Quarkus tries to move to build time, via its Maven or Gradle plugin,…

Read More Read More

I am a Google Developer Expert (GDE) on Google Cloud Platform (GCP) technologies

I am a Google Developer Expert (GDE) on Google Cloud Platform (GCP) technologies

I have been recently recognized as a Google Developer Expert (GDE) on Google Cloud Platform (GCP) technologies. First of all, what is a GDE? It is a person who does not work at Google, and who is recognized for his activity and expertise on a Google technology. So it’s a recognition on a technical expertise and on an activity in the community on the subject. How did it happen for me? For some time, I have been a Google Cloud…

Read More Read More