Part 3: Distributed Tracing in Spring Boot with OpenTelemetry and Jaeger

In Part 1, we added metrics with Spring Boot Actuator, Prometheus, and Grafana. In Part 2, we centralized structured application logs using Filebeat, Logstash, Elasticsearch, and Kibana. In this final part, we will add distributed tracing. Distributed tracing helps answer an important question: When one user request travels through multiple services, where did time get spent and where did it…

Part 2: Centralized Logging in Spring Boot with ELK Stack — Filebeat, Logstash, Elasticsearch, and Kibana

In the first part of this workshop, we added metrics to our Employee Management API using Spring Boot Actuator, Micrometer, Prometheus, and Grafana. Metrics answer questions such as: How many requests does the application receive? What is the API error rate? Is JVM heap memory increasing? Is p95 response time above the expected limit? But metrics do not explain the…

Spring Boot Observability Workshop: Metrics, Logs, and Traces with Actuator, Prometheus, Grafana, ELK, and Jaeger

Production applications should not be treated as black boxes. When an API slows down, fails, or consumes too much memory, teams need answers quickly: Is the application healthy? Which API is slow? Is the JVM running out of memory? Which request failed? Which downstream service caused the delay? This is where observability helps. Observability is the ability to understand the…

Codex, MCP, and Spring AI: Building Tool-Enabled Java Applications with the Latest OpenAI Models

Codex becomes far more useful when it can move beyond code completion and safely work with the systems that already run a business. The practical pattern is simple: expose a narrow set of domain operations through the Model Context Protocol (MCP), connect a capable model to those tools, and keep Spring Boot responsible for authentication, authorization, validation, and audit trails.…

Choosing the Right Codex Model in VS Code

A practical guide to GPT-5.6 Luna, Terra, Sol, GPT-5.5, and GPT-6 Astra in the Codex VS Code plugin, including when to use each model, how the reasoning bar affects behavior, and how model choice impacts token usage and cost. In the Codex extension for Visual Studio Code, you are choosing two things: The model — its overall capability, speed, and…

Kubernetes Readiness Probes in Spring Boot Microservices: Designing a Production-Ready Health Check

How to Calculate Application Readiness Using Database, Redis, Solace, Certificates and Startup State In a Kubernetes or OpenShift environment, a microservice being running does not necessarily mean it is ready to receive traffic. A Spring Boot application may have successfully started its embedded Tomcat server while: The database connection is still being initialized. Redis is not available. Solace messaging is…

How Does UPI Prevent Double-Spending at 15 Billion Transactions a Month?

How do you safely move money at massive scale without charging the customer twice? Imagine this simple scenario: You have ₹500 in your account and try to pay a merchant ₹400. You tap Pay. The network is slow. You tap again. Now two identical requests reach the backend almost simultaneously. If the system isn't designed correctly, both requests might see…

Top 10 Java, Microservices & Kubernetes Interview Questions Every Senior Tech Lead Should Know

Most interview questions test your memory. Great interview questions test your engineering judgment. Over the years, I've interviewed hundreds of Java developers ranging from fresh graduates to Solution Architects. One thing has become increasingly clear: senior roles are no longer about syntax. They're about understanding how Java applications behave in production, how microservices communicate, and how applications survive in Kubernetes.…

Part 9 – Why Spring Boot Applications Get OOMKilled in Kubernetes

Understanding JVM Memory, CPU, Requests, Limits, and Production Sizing "If you're still sizing your Java application based only on -Xmx, you're sizing it for a virtual machine, not for Kubernetes." Thursday, 2:15 PM It was the first payroll processing day of the month. At Global Trust Bank, this was one of the busiest days of the year. Millions of salary…