Spring Boot Production Checklist: 15 Critical Settings
Don't deploy Spring Boot to production without these 15 essential configurations. Covers health checks, metrics, security headers, connection pools, and more.
Read Article →OpenTelemetry with Java Series
All Articles
10 Java 21 Performance Tricks You're Not Using
Unlock Java 21's hidden performance gems: virtual threads, sequenced collections, pattern matching, and more. Practical tips with measurable impact.
Caching Strategies for High-Traffic APIs
Scale your API to millions of requests with strategic caching. Learn multi-layer cache architecture, eviction policies, and cache invalidation patterns....
Reactive Streams: When to Use Project Reactor
Reactive programming isn't a silver bullet. Learn when Project Reactor and Spring WebFlux deliver real value vs. when traditional blocking...
The Developer Platform: Kubernetes-Native Spring Boot
Build a custom Internal Developer Platform (IDP) using Kubernetes Operators and Spring Boot. Learn how to automate infrastructure provisioning with...
Sagas for Java Microservices: Orchestration vs. Choreography
Handle distributed transactions without the performance hit of 2PC. Learn when to use Saga orchestration vs choreography for reliable cross-service...
GraphQL Federation for Java Backend Developers
Build a unified GraphQL API layer over multiple Spring Boot microservices using Federation. Learn schema stitching, resolver composition, and query...
Spring AI: Bringing LLMs to Your JVM
Integrate large language models into your Spring Boot applications with Spring AI. Learn how to implement RAG (Retrieval Augmented Generation)...
OAuth2 in 2026: Modern Spring Security 7 Patterns
Move beyond basic JWTs to implement modern OAuth2 patterns with Spring Security 7: PKCE, zero-trust architecture, and secure token validation....
Zero-Downtime Database Migrations with Liquibase
Learn how to handle schema changes in production without downtime using Liquibase and the expand-contract pattern for blue-green deployments.
The Transactional Outbox Pattern: Guaranteed Message Delivery
Solve the 'DB updated but Kafka failed' problem in microservices. Learn how the Transactional Outbox Pattern guarantees message delivery without...
Virtual Threads + Structured Concurrency: The Future of Java Parallelism
Move beyond basic Virtual Threads to safely manage thousands of parallel tasks with Java 21's StructuredTaskScope. Learn how structured concurrency...
GraalVM Native Images: Shrinking the Cloud Bill
Booting Spring Boot in 50ms and cutting memory usage by 80%? Discover how GraalVM Native Images are redefining efficiency for...
Virtual Threads: The End of Asynchronous Java?
Java 21 changed the game with Virtual Threads. Learn how to scale your Spring Boot apps to millions of concurrent...
High-Throughput, Low-Memory: Streaming File Uploads in Spring Boot
Learn how to handle massive file uploads (1GB+) in Spring Boot without crashing your heap. We replace standard MultipartFile with...
Welcome to A Dev Writes
Hi, I'm Laxman. Welcome to my digital garden where I share deep dives into distributed systems, observability, and software engineering...
OpenTelemetry with Java: Part 6 - Production Patterns & The Collector
Production-ready observability with the OpenTelemetry Collector. Learn about sampling strategies, multi-backend export, and Kubernetes deployment patterns.
OpenTelemetry with Java: Part 5 - Logs in Context
Unify your logs with traces. Learn to add trace IDs to log output, configure structured JSON logging, and correlate logs...
OpenTelemetry with Java: Part 4 - Metrics That Matter
Learn to add custom application metrics alongside traces. We'll cover counters, gauges, histograms and build a Grafana dashboard.
OpenTelemetry with Java: Part 3 - Adding Custom Instrumentation
Enrich your auto-instrumentation with custom spans, business attributes, and events. Learn when and how to add manual instrumentation for better...
OpenTelemetry with Java: Part 2 - Zero to Tracing in 15 Minutes
Get distributed tracing working in your Java microservices with zero code changes. We'll use the OpenTelemetry Java Agent and Jaeger...
OpenTelemetry with Java: Part 1 - Understanding the Fundamentals
A comprehensive introduction to OpenTelemetry concepts for Java developers. Learn about traces, metrics, logs, and how they work together in...