A cloud cost saving journey: Strategies to balance CPU for containerized JAVA workloads in K8s
summary
Describes concrete steps for Java workloads on Kubernetes: use Micrometer + Prometheus profiling, set CPU requests/limits via cgroups, tune JVM (Java 21, Spring Boot 3.4, active processor count, GCs), adopt virtual threads, AOT and app CDS, and switch to Undertow. Reports surprising results: reduced requests by 75% and hardware footprint cut ~50%, cluster handled ~7x more requests with latency down ~10–20% and cost roughly halved. Presents live profiling, binary-search rightsizing, and that the approach works in an on‑prem K8s environment.
AI-written summary · about
chapters (13)
- 0:00Introduction and context
- 1:15The challenge of cloud costs
- 3:40Resource allocation scenarios
- 10:36Data platform landscape
- 14:11Key platform challenges
- 17:29Performance bottlenecks
- 19:05Linux CPU scheduling
- 23:46CPU time scenarios
- 26:56Optimization strategies
- 30:00Best practices for Java
- 38:22Scaling techniques
- 40:49The success story
- 45:40Takeaways and Q&A
related talks
46mKubernetes and the JVM
47mLife of Java Applications in Cloud Containers
01h 03mCloud Cost Optimization for Java Developers
47mSecrets of Performance Tuning Java on Kubernetes
33mUncover Kubernetes cost-optimization trends
01h 02mJourney to Cloud : Leave No Java Workload Behind
14mCut Costs, Not Performance: Implement Kubernetes Cost Optimization Strategies
01h 59mKubernetes for Java Developers
