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.

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,…