- Large-Scale Java Platform Categories
- Large-Scale Java Platform Trends and Requirements
- Summary
Large-Scale Java Platform Trends and Requirements
Compute resource consolidation, JVM instance consolidation, elasticity and flexibility, and performance are some of the major trends that exist within large-scale Java platform migration projects. The following subsections examine each of these in more detail.
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.
One customer in the hospitality sector went through the process of consolidating their server footprint and at the same time consolidated many smaller JVMs with a heap smaller than 1GB. They consolidated many of these smaller 1GB JVMs into two categories: those that were 4GB and others that were 6GB. They performed the consolidation in such a manner that the net total amount of RAM available to the application was equal to the original amount of RAM, but with fewer JVM instances. They did all of this while improving performance and maintaining good service level agreements (SLAs). They also reduced the cost of administration considerably by reducing the number of JVM instances they had to originally manage; this refined environment helped them easily maintain SLAs.
Another customer, in the insurance industry, achieved the same result, but was also able to overcommit CPU in development and QA environments to save on third-party software license costs.
JVM Instance Consolidation
Sometimes we come across customers that have a legitimate business requirement to maintain one JVM for an application and/or one JVM per a line of business. In these cases, you cannot really consolidate the JVM instances because doing so would cause intermixing of the lifecycle of one application from one line of business with another. However, although such customers do not benefit from eliminating additional JVM instances through JVM consolidation, they do benefit from more fully utilizing the available compute resources on the server hardware, resources that otherwise would have been underutilized in a nonvirtualized environment
Elasticity and Flexibility
It is increasingly common to find applications with seasonal demands. For example, many of our customers run various marketing campaigns that drive seasonal traffic toward their application. With VMware, you can handle this kind of traffic burst by automatically provisioning new virtual machines (VMs) and middleware components when needed; you can then automatically tear down these VMs when the load subsides.
The ability to change updating/patching hardware without causing outage is paramount for middleware that supports the cloud era scale and uptime. VMware VMotion enables you to move VMs around without needing to stop applications or the VM. This flexibility alone makes virtualization of middleware worthwhile when managing large-scale middleware deployments. One customer in the financial space, handling millions of transactions per day, used VMotion quite often, without any downtime, to schedule their hardware upgrades; a process that otherwise would be costly to their business because of the required scheduled downtime.
Performance
Customers often report improved middleware platform performance when virtualizing. Performance improvements are partly due to the updated hardware that customers will typically refresh during a virtualization project. Some performance improvement occurs, too, due to the robust VMware hypervisor. The VMware hypervisor has improved considerably in the past few years, and Chapter 5, “Performance Studies,” discusses a few performance studies done to showcase some of the heavy workloads that were tested in a virtualized environment.