More and more companies are adopting some form of cloud for hosting their applications. Cloud also increasingly means Docker containers and Kubernetes to orchestrate them. Cloud is a different beast when it comes to running Java applications. It focuses on fast provisioning, ephemeral containers that startup and scale quickly and use minimum resources when idle. Correspondingly the JVM has undergone a number of changes that help it to adapt to cloud environments.
This talk looks closely at each of the cloud specific aspects and explores the changes in Java that a developer needs to be aware of to make the most of running a Java app in the cloud and provides a github based tutorial for reference.
Dinakar Guniguntala is the Java Cloud Optimization Architect at IBM. He has been at IBM for over 21 years and in his current role, has twin responsibilities of making Java run more efficiently in the cloud and helping customers modernize their Java applications. He is the community maintainer of the AdoptOpenJDK Java Docker Images for both Hotspot and Eclipse OpenJ9 as well as the maintainer of the IBM Java Docker Images. He is a former Linux Kernel Hacker and has worked on Linux Realtime, cpusets, dynamic sched domains etc. He has several publications including in IEEE computer, IBM Systems Journal and IBM Developer Works and has spoken at conferences such as JavaOne San Francisco, FOSS.in, Bangalore and is a prolific speaker at Meetups.