When venturing into the world of running Java on VMware vSphere, there are plenty of guidelines and tips IT professionals should be aware of.
Emad Benjamin's book, Virtualizing and Tuning Large-Scale Java Platforms, focuses on the tuning and sizing of small-scale and large-scale virtualized Java platforms. Benjamin boasts 15 years of experience tuning Java platforms, and has been running Java on VMware vSphere the last nine years. Sizing your Java platform is critical, and Benjamin explains how to do it. He also offers best practices that apply to physical and virtual environments.
In Chapter 1, titled, Introduction to Large-Scale Java Platforms, Benjamin explores the three categories of large-scale Java platforms. He explains the different needs for those with a large number (100s-1000s) of Java Virtual machines (JVMs), for those who have a smaller number (1-20) of JVMs, and also looks at situations that apply to both. He also reviews the limits of Java workloads, which is a critically important consideration when an IT professional is resizing a workload.
Benjamin also looks at the options for horizontal scaling versus vertical scaling of JVMs. He goes over the pros of the different options, which include better scalability and cost reductions for licensing and hardware, but explains that some options are too expensive or have high risks of data loss.
Download a free chapter excerpt (.pdf), courtesy of Pearson.
Highlights from Chapter 1
Re: Compute-Resource Consolidation
"Many VMware customers find that their middleware deployments have proliferated and are becoming an administrative challenge with increasing costs. Customers, therefore, are looking to virtualization as a way of reducing the number of server instances. At the same time, customers are taking the consolidation opportunity to rationalize the number of middleware components needed to service a particular load. Middleware components most commonly run within a JVM with an observed scale of hundreds to thousands of JVM instances, and provide many opportunities for JVM instance consolidation. Hence, middleware virtualization provides an opportunity to consolidate twice -- once to consolidate server instances and then to consolidate JVM instances. This trend is widespread; after all, every IT shop on the planet is considering the cost savings of consolidation."
Re: One option when considering horizontal vs. vertical scaling & part of the pros
"With Option 1, JVMs are introduced into the Java platform by creating a new VM and deploying a new JVM on it (hence, a scale-out VM and JVM model).
Option 1 Pros
This option provides the best scalability because the VM and the JVM are scheduled out as one unit by the ESXi scheduler. It is really the VM that is scheduled by the ESXi, but because there is only one JVM on this VM, the net effect is that the VM and the JVM are scheduled as one unit.
This option also offers the best flexibility to shut down any VM and JVM in isolation without impacting the rest of the Java platform. This is no doubt in relative terms, however, because most Java platforms are horizontally scalable, and in most cases there are enough instances to service traffic, even though JVM instances are being shut down.”