While you might think Kubernetes solves everything, Usama shares how his team at GetYourGuide was still caught off guard by mysterious Out of Memory errors.
In this episode, we dive into a topic that many teams only start paying attention to when it’s already too late: Garbage Collection in Java microservices. And we do so together with Usama Nasir, Staff Software Engineer at GetYourGuide.
While you might think Kubernetes solves everything, Usama shares how his team at GetYourGuide was still caught off guard by mysterious Out of Memory errors. The culprit? Microservices may be small, but that doesn’t mean Java’s memory management just takes care of itself.
We talk about how Java’s memory model really works, why different garbage collectors (like G1GC or ZGC) perform completely differently under pressure, and how small decisions can have a big impact on performance. Usama explains how observability with tools like Datadog turned out to be essential, and why sometimes it’s actually smarter to allocate less memory to your containers.
But the most important takeaway? Garbage Collection isn’t just “a Java thing.” It’s a shared responsibility between developers and DevOps/SREs. Only together can you find that sweet spot between speed, stability, and scalability.
In deze aflevering duiken we samen met Usama Nasir, Staff Software Engineer bij GetYourGuide, in een onderwerp dat in veel teams pas aandacht krijgt als het al te laat is: Garbage Collection in Java microservices.
Hoewel je misschien denkt dat Kubernetes alles oplost, vertelt Usama hoe zijn team bij GetYourGuide tóch werd verrast door mysterieuze Out of Memory-errors. Wat bleek? Microservices mogen dan klein zijn, maar dat betekent niet dat Java’s geheugenhuishouding vanzelf goed gaat.
We praten over hoe Java’s memory model echt werkt, waarom verschillende garbage collectors (zoals G1GC of ZGC) totaal anders presteren onder druk, en hoe kleine keuzes grote impact hebben op performance. Usama legt uit hoe observability met tools als Datadog onmisbaar bleek, en waarom het soms slimmer is om minder geheugen toe te kennen aan je containers.
Maar het belangrijkste inzicht? Garbage Collection is geen “Java-dingetje”. Het is een verantwoordelijkheid van zowel developers als DevOps/SRE’s. Alleen samen vind je die sweet spot tussen snelheid, stabiliteit en schaalbaarheid.