Monday, 3 March 2014

Miracles in the Java land – up to 4 times less memory, up to 6 times faster startup time – IBM multi-tenant Java 8 beta

This popped up in my Twitter feed earlier: -

IBM Java 8 open beta has been available since September 2013 and this is not a new news, but milti-tenant capability becomes much more important in light of the Cloud announcement made by IBM this week. Imagine how cool it will be to use multi-tenant JVM to run your Java or Java EE applications not only on the cloud, but on premise?

Let me explain what multi-tenant JVM really is. In a traditional model every time you type "java xyz" you start new operating system process and run single application per OS process with entire JVM dedicated to serving your app. If you have very large application (say  WebSphere Application Server Network Deployment) with many different different WAR and EAR files deployed into that server having one JVM per "application" is not a bad idea. In this case WAS ND provides "operating environment" for multiple applications that you deployed into it and it makes a good use of the JVM and OS resources and under high load with proper tuning and proper applications can consume up to 100% of CPU and memory available to the OS. This is how JVMs from OpenJDK, Sun JDK and IBM JDK used to work in the past (and still do).

No comments:

Note to self - use kubectl to query images in a pod or deployment

In both cases, we use JSON ... For a deployment, we can do this: - kubectl get deployment foobar --namespace snafu --output jsonpath="{...