Application Optimization on Kubernetes on the example of a Spring Boot Microservice Deploying Microservices on Kubernetes is not as easy as 1-2-3. Many of them suffer from frequent OutOfMemory kills and long startup times. In particular, Java applications with their resource-hungry JVM need special attention. In this session we'll analyse the CPU and memory resource consumption of a Spring Boot microservice during startup and runtime. Then we'll show how to tweak resource requests and limits to tune startup and prevent OOM kills. We'll also take a look at the details of readiness and liveness probes and how they belong together. And last but not least the curious among you will get an explanation of the misterious 137 exit code ;)
Stephan is a Software Architect and Java Enterprise Developer working on large scale Kubernetes projects as a Site Reliability Engineer and CEO at Clouds Sky GmbH. He is currently responsible for migrating stateful monoliths to the new world of micorservices on large scale Kubernetes implementations on AWS.