Managing application servers manually may work on a small scale. With increasing number of servers and number of applications it takes more and more effort to keep the systems up and running.
The first problem is that system admins must create elaborate scripts to manage and monitor their production systems. It may well be a full time job to build and constantly enhance those management scripts. To make life a little bit easier, IBM provides intelligent management and application virtualization capability in the WebSphere Virtual Enterprise (WVE) product. WVE is designed to improve the efficiency of the operations staff, reduce hardware and software costs, and maintain higher qualities of services in the systems.
Another problem is that the hardware systems are usually underutilized. What that means is that you paid for 100% of the hardware costs, 100% of the software costs and only use 10-20% of that investment on average. Server based virtualization using VMware, KVM and other hypervisors helps, but because those hypervisors are not application aware, they are not as efficient as they could be. In this study IBM has looked at the hardware vs. application level virtualization and found that the WVE approach delivers better response times and higher utilization rate for the system (see picture below).
WVE provides virtualization at the application level. In addition, it can be combined with server virtualization (like VMware, Xen, zVM, PowerVM, etc.) so that you can take full advantage of the strengths of both approaches to lower operational and energy costs. The history of WVE started back in 2003 (formerly known as WebSphere eXtended Deployment) and today it has successful customers and mission critical deployments across the world, including companies such as IBM, Nationwide, Max NY Life and others.
Since 2010 Oracle started adding some capabilities in this area, but still only provides very limited functionality. Let’s consider the differences between IBM and Oracle in the area of intelligent management and application virtualization. Initially Oracle promoted the WebLogic Operations Control product for application virtualization, however in June 2010 Oracle shipped WebLogic Suite Virtualization Option (OWLSVO) and no longer offers the WebLogic Operations Control product. OWLSVO is the replacement to the unsuccessful and discontinued BEA WebLogic Virtual Edition. OWLSVO allows WebLogic Server to run directly on the Oracle VM hypervisor without the need for a guest operating system. This is done with JRockit Virtual Edition which is a JVM that works with hypervisor software to provide a set of operating system features (such as TCP/IP, hardware device interaction, file I/O, and process scheduling). IBM doesn’t believe that JVM implementation of system level services can be more efficient than a proven Linux kernel (or AIX or Solaris for that matter). Furthermore, customers should consider the availability of skills and tools to troubleshoot and secure this kind of one-off environment. Oracle claims performance benefits for this “native” configuration, but IBM believes that any theoretical “performance gains” will be far outweighed by the additional skills and home-grown tools which will need to be built for this rigid, non-standard approach. Not to mention that the list price for this product is $45,000 per CPU, multiplied by the number of cores on the socket, multiplied by the Oracle core-factor. To top this off, despite all the marketing claims, Oracle has never published performance benchmarks with this product. If running native JVM on the hypervisor really provided any performance benefit, I am sure Oracle would publish SPECjAppServer2010 benchmark, which they never did for this product.
Now let me compare the IBM WebSphere Virtual Enterprise and Oracle WebLogic Suite and its Oracle WebLogic Suite Virtualization Option:
- WebSphere Virtual Enterprise supports IBM WebSphere Application Server, BPM, Service Registry and Repository, ESB, Portal, and Commerce. Oracle virtualization offerings are limited to the WebLogic Server only with no support for Oracle BPM, ESB, Portal, or other platform products.
- Oracle lacks support for robust application edition management. WebLogic Server allows only two versions of the same application to co-exist for a short time of transition, while WebSphere Virtual Enterprise makes it possible for virtually an unlimited number of application editions to co-exist indefinitely with the ability to revert back or forward to a certain version at any time. WebSphere Virtual Enterprise supports interruption-free application rollout, testing and coexistence within the same administrative domain. This can greatly reduce hardware requirements and complexity of upgrades.
- Unlike Oracle, WebSphere Virtual Enterprise has the ability to prioritize requests based on administrator-defined rules to adjust server response times according to Service Level Agreements and application priority. These rules can use information about the protocol, application version, URI, cookie, client IP, time of day, SLA, form data, and multiple other system, session and request parameters. Request prioritization and routing are not provided by Oracle. WebLogic Server and its add-ons cannot throttle requests according to SLAs between the HTTP server, load balancer and application server. WebSphere Virtual Enterprise can throttle and prioritize HTTP, JMS and IIOP requests. Oracle WebLogic Server can only do limited prioritization of HTTP requests within a boundary of a single application server JVM.
- The WebSphere Virtual Enterprise request prioritization and throttling with SLA monitoring can also be applied to non-IBM products. For example, WebSphere Virtual Enterprise can perform these functions to improve the quality of service for PHP servers, .NET, Apache Tomcat, JBoss, Geronimo, WebSphere Application Server Community Edition, WebLogic Server and other web and application servers communicating over HTTP or HTTPS protocols. Oracle does not provide such capability.
- WVE supports many different operating systems, including Red Hat Linux, SuSe Linix, AIX, HP-UX, Solaris, zOS, iOS, Windows, RedFlag as well as different machine architectures, including x86, x86-64, Power, SPARC, Itanium, System z. Oracle Virtualization option only supports native Oracle VM on the x86 architecture.
- Unlike Oracle products, WVE can dynamically provision and start or stop new instances of application server JVMs in the cloud built with different Operating Systems or hypervisors. This is called Dynamic clustering and provides the ability to meet Service Level Agreements when multiple applications compete for resources. WebSphere Virtual Enterprise can dynamically stop less important applications and start new instances of more important ones. The boundaries of the dynamic cluster for any particular application within a cloud can be computed on the fly based on the rules defined by the system administrator.
- WVE performs proactive application and server health management, detects issues (memory leaks, storm drains, connection errors, response time deviation, etc.) and takes actions to correct them. The declarative nature of WVE health management allows administrators to improve infrastructure reliability, helping to reduce potential downtimes. Oracle does not provide similar capabilities.
- Oracle WebLogic Suite Virtualization Option and Oracle Virtual Assembly Builder do not support non-Oracle virtualization software. The only supported hypervisor is Oracle VM. In contrast, IBM WVE integrates well with VMware, PowerVM, z/VM, KVM, Solaris Zones, Xen.
Next time you look at your CPU stats and notice them hovering below 20% mark, think how WebSphere Virtual Enterprise can help you use more of that capacity. IBM has done dozens of Business Value Assessments for its customers and found that WVE could bring significant savings as shown on the picture below.