The Marco Show

Scaling the Web: Lessons from Jetty, Bitronix, Terracotta, Quartz – Ludovic Orban


Listen Later

Episode description:

Ludovic Orban (Jetty Maintainer and Performance Engineer at WebTide) joins Marco to break down what “web scale” really means, why most systems don’t need Google-level architecture, and how modern Java servers achieve massive throughput. From Jetty’s design philosophy to multi-core CPU realities, distributed transactions, Terracotta’s wild JVM clustering experiments, and the limits of AI-generated code, this episode dives deep into how high-performance Java is built today.

💡 In this episode:

  • What “web scale” actually means for real-world systems

  • Jetty vs Tomcat and how Jetty became a fast, modern web server

  • CPU evolution, memory bottlenecks, and multi-core performance

  • Distributed transactions, XA pitfalls, and compensating patterns

  • Terracotta’s clustered JVM: engineering lessons and war stories

  • Why developers struggle with performance (and how to learn it)

  • AI, coding assistance, and why Ludovic doesn’t trust generated code

⏱️ Timestamps:

(00:00) Teaser

(01:10) Who is Ludovic Orban?

(02:04) What “web scale” really means, and who actually needs it

(03:54) How hardware changes reshaped software performance

(06:28) Cloud, containers, and why performance still matters

(07:28) Jetty vs Tomcat: history, adoption & performance

(10:47) What makes Jetty “fast” in practice

(13:21) How the Jetty team prioritizes performance

(15:10) Recent work: fixing complex HTTP/2 bugs

(16:38) How WebTide supports customers beyond Jetty issues

(17:52) Bitronix: Why Ludovic built his own transaction manager

(20:45) Open-source challenges. The rise and fall of Bitronix

(24:19) Distributed transactions vs compensating transactions

(27:07) Where to learn more: Atomikos and modern approaches

(28:25) Terracotta: clustering JVMs and wild engineering stories

(31:20) What Terracotta taught him about the JVM

(33:48) Real-world Java performance mistakes developers make

(40:22) Why learning performance is so hard

(45:40) Kubernetes, abstraction, and performance visibility

(48:50) Hardware that excites Ludovic: Oxide Computer

(50:42) His take on AI and why he doesn’t trust generated code

(53:30) Lessons from Jetty, Terracotta, Bitronix, and Quartz

(56:10) Rapid-fire questions

(01:01:15) Giveaway and outro


New episodes every other Wednesday. Subscribe for more deep, developer-focused conversations.

🎥 Watch the full episode on YouTube: https://youtu.be/fJvg5zTKHeE

...more
View all episodesView all episodes
Download on the App Store

The Marco ShowBy IntelliJ IDEA