Do not put all eggs in one container
summary
Shows concrete steps to make Java microservices actually fit in containers: builds and compares images (Alpine/musl Liberica/OpenJDK base, smallest image ~37 MB), measures memory with jcmd/native memory tracking, and demos failures (5 MB container killed by OOM, 128 MB unstable, 256 MB stable). Uses exploded jars, class-data-sharing and jlink-style custom runtimes to cut resident memory roughly sixfold (down to ~100 MB) and shrink startup to ~10 s.
AI-written summary · about
chapters (11)
- 0:00Introduction to containers
- 2:31Containers vs. VMs
- 7:47Java and container evolution
- 12:04Resource management
- 14:38Optimizing image deployment
- 17:00Choosing runtime environments
- 21:11Diagnosing container failures
- 27:24Memory tuning and limits
- 35:02Startup optimization
- 44:10Advanced performance experiments
- 52:50Q&A and concluding thoughts
related talks
25mCommit to Excellence - Java in Containers
46mJava in a World of Containers
49mJava and Containers Make it Awesome
48mJava in Containers - Part Deux
01h 01mDistilling Java Containers for Kubernetes
31mFast and Distroless Java in Containers: the Recipe!
20mSqueezing Java Containers: Shrinking Your Kubernetes Footprint with jlink
42mDownsizing. Make Your Java App Containers Ligthweight.
