Home avatar

Alexandre Touret

Streamline Java Application Deployment: Pack, Ship, and Unlock Distributed Tracing with Elastic APM on Kubernetes

In my last article, I dug into Distributed Tracing and exposed how to enable it in Java applications. We didn’t see yet how to deploy an application on Kubernetes and get distributed tracing insights. Several strategies can be considered, but the main point is how to minimize the impact of deploying APM agents on the whole delivery process.

In this article, I will expose how to ship APM agents for instrumenting Java applications deployed on top of Kubernetes through Docker containers.

Enhancing Asynchronous Transaction Monitoring: Implementing Distributed Tracing in Apache Camel Applications with OpenTelemetry

Picture Credit: Nick FEWINGS

In today’s dynamic landscape, Distributed Tracing has emerged as an indispensable practice. It helps to understand what is under the hood of distributed transactions, providing answers to pivotal questions: What comprises these diverse requests? What contextual information accompanies them? How extensive is their duration?

Since the introduction of Google’s Dapper, a plethora of tracing solutions has flooded the scene. Among them, OpenTelemetry has risen as the frontrunner. Other alternatives such as Elastic APM and DynaTrace are also available.

Moving on to Fish shell (and beyond)

While chatting with one of my WL colleague, I stumbled upon Fish shell. I immediately liked its autocompletion and extensibility mechanisms. After many years using BASH and ZSH, I therefore decided to move on to this new shell.

Unlike the others, it’s not POSIX-compatible.

Furthermore, to get (at least) the same functionalities as OhMyZsh, I chose to install StarShip.

I will then describe how I moved on and updated my existing tools such as SdkMan.

Migrer un site Jekyll sur Hugo

Il y a deux ans déjà, j’ai migré mon site Wordpress sur un site statique hébergé sur Github Pages. Ce dernier était basé sur Ruby, Jekyll et Minimal mistakes.

Bien que le projet Minimal Mistakes ne donnait plus trop de signes de vie, le rendu convenait.

Cependant, j’étais bloqué sur différents points:

  • La gestion d’articles en anglais et français
  • Le thème dark (inutile donc indispensable)
  • Quelques fonctionnalités manquantes: par ex. MermaidJS

J’ai donc décidé de le migrer sur Hugo. Ce générateur de site est basé sur Go et est très rapide d’exécution.

2022 en quelques chiffres

You can read the English version below

2023 est tout proche. Il est temps de faire un rapide bilan sur cette année 2022 (d’un point pro).

Après avoir changé de projet en début d’année, j’ai pu, grâce à mon employeur Worldline, participer en tant que speaker à

  • 8 conférences en français et anglais
  • 2 meetups
  • une présentation en ligne à Malt Academy

J’ai également écrit 6 articles sur mon blog et 4 sur le blog d’ingénierie de Worldline.

Migrer son application Spring Boot vers la version 3

Pour ce dernier article de l’année 2022, voici un rapide retour d’expérience.

Je suis actuellement en cours de préparation d’un workshop pour l’édition 2023 de SnowcampIO. J’aborderai dans ce dernier le versioning des APIs REST. Pour illustrer ce sujet ô combien épineux, j’ai réalisé une plateforme “microservices” en utilisant différents composants de la stack Spring.

ContainerToolsComments
API GatewaySpring Cloud Gateway 2022.0.0-RC2
Bookstore APIJAVA 17,Spring Boot 3.0.X
ISBN APIJAVA 17,Spring Boot 3.0.X
Configuration ServerSpring Cloud Config 2022.0.0-RC2
DatabasePostgreSQL
Authorization ServerJAVA 17,Spring Boot 3.0.X, Spring Authorization Server 1.0.0

En résumé, j’utilise Spring Boot, Cloud, Security, Authorization Server, Circuit Breaker, Spring Data,…