Java containers in production - mastering the "banana box principle"
Amadeus runs JBoss EAP containers in production on OpenShift. In this talk you will discover the "banana box principle", i.e. a box in a box in a box. Come learn some rudimentary JVM and container internals to start your JVM cloud experience with a smile.
What we will first look at are the different boxes with a focus on memory
- Box 1 : JVM memory management (for us OpenJDK)
- Box 2 : Container memory limits (Linux cgroups)
- Box 3 : Openshift node memory (the VM provisioned by Openstack)
Then we look at our production use case where we
- run a monolith EAR on a multi-GB JBoss EAP container by Red Hat
- scaled this JBoss JVM container to dozens of pods
- needed to investigate why our JVM containers started core & heap dumping
- use tools like InfluxDB & Grafana to monitor the stack
- are lucky to have Openshift that mitigates cleverly any dying container