Automation and Virtualization
Increase Utilization and Efficiency
of J2EE Applications
T E C H N I C A L W H I T E P A P E R T E C H N I C A L W H I T E P A P E R
Introduction
Progressive IT departments have broadly adopted application servers and the Java 2 Platform, Enterprise Edition (J2EE), to better respond to the business needs of the company. As enterprise Java has become more and more pervasive, IT has used J2EE technologies to build many of its most important business applications.
Because these applications are critical to the business, IT typically overprovisions hardware and dedi-cates software, middleware, and even human resources to guarantee performance. The resulting server silos, however, create a static and rigid dependency between J2EE services and the underlying hardware, resulting in application services that are tightly coupled to their environments.
This approach may increase IT’s ability to deliver the required service level for J2EE applications, but it does so at a very high price. Enterprises spend millions of dollars on capital, plus millions more on oper-ations, to manage server silos in the data center. By managing the data center for peak utilization, IT suf-fers as much as 90 percent of its resources sitting idle most of the time, waiting for infrequent load spikes. And, because of this static and rigid allocation of application resources, IT departments are unable to respond quickly to the business and improve overall server utilization.
As is, today’s enterprise data centers are optimized to guarantee J2EE application service levels, but IT is also challenged to be responsive to the business and keep costs manageable. Until now, this was a jug-gling act for IT departments with no solution in sight.
Service Level Automation for Java Applications
The goal of the Cassatt software is to enable IT departments to respond to business needs, provide applications at required service levels, and reduce costs.
Cassatt provides the benefits of virtualization to the world of J2EE applications and web services. The Cassatt software delivers Java application virtualization and management— an innovation that lets an IT department reduce costs through server consolidation while automatically maintaining the application service levels that the business requires. Cassatt is enabling IT organizations —starting with those running BEA WebLogic-based applications—to maximize the return on IT investments. These new economics enable organizations to innovate and deliver new capabilities to support their business for a fraction of what was thought possible.
Cassatt makes scaling J2EE application deployment fluid and dynamic. The Cassatt solution creates a virtual pool of Java application resources—hardware, operating systems, and middleware—freeing the resources to be used by all applications. Then, the Cassatt software automatically, and without human intervention, matches Java applications to appropriate computing resources to maintain user-defined service levels for each application.
Specifically, managing your J2EE server farm with Cassatt:
• Decouples J2EE services from their servers and enhances the J2EE implementation • Better utilizes software licenses by automatically allocating software on demand
• Decreases operational costs via Cassatt’s Service Level Automation
• Increases availability of the application server solution by automatically replacing failed hardware • Enables scheduled and automated resource allocation to meet planned periods of peak utilization • Enables sharing resources to meet demand
Most importantly, existing J2EE applications can be integrated into the Cassatt environment as is, without any code changes.
How Cassatt Can Help You: Creating a Real-Time Infrastructure for BEA
WebLogic Applications
he Cassatt software, called Collage, enables a real-time infrastructure that allows resources to be quickly repurposed to the most critical tasks and applications. This dynamic, responsive infrastructure is achieved by virtualizing and pooling IT resources and then providing automated management.
Pooling Resources
A foundation of the Cassatt-based real-time infrastructure is the shared resource pool. The Cassatt soft-ware transforms static server silos in the data center into a pool of shared resources. By virtue of sharing resources, Cassatt decouples applications and servers, which directly addresses the problem of over-pro-visioning yet underutilizing servers. Pooling and sharing resources drives up utilization, reduces capital expenditures, and decreases software licensing costs via consolidation.
Service Level Automation
Cassatt provides a single software solution that combines Goal-Driven Automation with Virtualization Control in a real-time infrastructure to deliver Service Level Automation.
Goal-Driven Automation
Cassatt provides the means to translate IT policies, business priorities, and service level agreements into a set of goals, which are continuously and automatically managed by the software. Based on these user-defined goals, the Cassatt software allocates and deallocates server resources and deploys and unde-ploys J2EE applications.
Virtualization Management
To affect change in the real-time infrastructure, Cassatt leverages its Virtualization Control technologies: • Image matrix technology—provides an abstraction layer that decouples software and hardware • Service matrix technology—provides an abstraction layer that decouples J2EE application services
from hardware
These technologies allow software and services to be hosted on the network rather than on a server’s hard disk, enabling Cassatt to quickly redeploy software and services from server to server. This design also allows many physical systems to operate from the same software image or service, dramatically improving maintenance costs and middleware license utilization.
Applying Service Level Automation to BEA WebLogic Server
The Cassatt Web Automation Module (WAM) provides tight integration with BEA WebLogic Server. Based on user-defined policies, the Cassatt software can:
• Dynamically respond to a node failure by provisioning a new node. When the new node is ready, Cassatt invokes the BEA WebLogic Administration Server to automatically start WebLogic server instances on the new node, providing hands-off recovery.
• Reallocate resources based on application use. For example, if one J2EE application runs by day and another at night, Cassatt can provision the same hardware and leverage the same software licenses to run both applications per a predefined schedule.
• Automatically deploy a new instance of a BEA WebLogic service if the service performance falls below a predefined threshold.
• Automatically add computing resources as required by a BEA WebLogic application. The WebLogic domain is configured with the range of IP addresses required for peak capacity, so the WebLogic Administration Server simply utilizes new resources as the Cassatt software makes them available. • Automatically decrease computing resources in use when more are allocated than are required to
meet service levels.
Managing Your BEA WebLogic Applications
The Cassatt Collage software manages hardware allocation and software provisioning via a tier structure. The Cassatt Web Automation Module (WAM) manages deployment of J2EE applications within the BEA domain structure. Overlapping Collage tiers and WebLogic domains (see Figure 1) maximizes the utility of BEA WebLogic in the Collage environment. The WebLogic Administration Servers provide centralized manage-ment over all WebLogic Managed Servers. Consolidating the Administration Servers into one Collage tier: • Simplifies WebLogic application deployment
• Increases WebLogic Administration Server availability
• Improves license utilization, as multiple versions can run on the same hardware
Notice in the next figure that Cassatt can manage multiple BEA WebLogic domains running multiple ver-sions of BEA WebLogic software. Also, just one node in the WebLogic Admin tier can serve numerous nodes in the WebLogic managed server tier.
Collage WebLogic Admin
Tier
BEA WebLogic Domain BEA WebLogic Domain
Collage WebLogic Managed Server Tier WebLogic Admin Server Application 1 BEA V8.1.1 WebLogic Admin Server Application 2 BEA V8.1.3 WebLogic Managed Server Application 1 BEA V8.1.1 WebLogic Managed Server Application 2 BEA V8.1.3 Collage Environment
In Figure 2, notice that the nodes in the WebLogic Managed Server tier can host the full range of BEA service packs simultaneously, and the Managed Server tier can host multiple WebLogic applications.
Figure 2: Administration Tier and Managed Ser ver Tier
To further enhance J2EE applications built and managed with BEA WebLogic, WAM utilizes the following technologies:
• WebLogic deployment environment—part of the Collage environment used to manage and dynamically deploy BEA WebLogic applications.
• Monitoring subsystem—capabilities that not only monitor status of the Collage tier hardware and soft-ware, but also monitor details about WebLogic J2EE application performance and resource utilization. • Optimization engine —the heart of the Collage environment, which responds to monitoring information
and initiates automated corrective or responsive actions to guarantee service levels.
BEA WebLogic Deployment Environment
Within the Collage environment, WebLogic platform software images and WebLogic J2EE applications are managed and deployed via the Cassatt virtualization technologies—the image matrix and service matrix, respectively. Using the image matrix, Cassatt provisions hardware in a tier with software. As shown in Figure 3, a software image is stored in the Cassatt image matrix, and specific image instances are applied on demand. In this example, the software image includes both BEA WebLogic V8.1.1 and V8.1.3, which provide a range of version support for deployed applications.
5
Collage WebLogic Admin
Tier
BEA WebLogic Domain
Collage WebLogic Managed Server Tier WebLogic Admin Server Application 1 BEA V8.1.1 Application 2 BEA V8.1.3 WebLogic Managed Server Application 1 BEA V8.1.1 Application 2 BEA V8.1.3 Collage Environment
Figure 3: Collage Image Matrix at Work
After Collage provisions nodes with the WebLogic platform software image, WAM initiates the service matrix to deploy BEA WebLogic applications. See Figure 4. To handle application deployment, WAM lever-ages native WebLogic capabilities to deploy application instances from the service matrix into WebLogic domains. WAM also ensures that the managed server has the necessary capacity to run the application.
WebLogic Domain WebLogic Domain
WebLogic Admin Server Application 1 BEA V8.1.1 WebLogic Admin Server Application 2 BEA V8.1.3 WebLogic Managed Server Application 1 BEA V8.1.1 WebLogic Managed Server Application 2 BEA V8.1.3 Application instances are
deployed on demand from the Collage service matrix to the WebLogic domain. Collage Control Node
Service Matrix Service instances Collage WebLogic Admin Tier Collage WebLogic Managed Server Tier
Red Hat ELAS 3 BEA V8.1.1 BEA V8.1.3
Red Hat ELAS 3
BEA V8.1.1 Red Hat ELAS 3BEA V8.1.3 Image instances are
deployed on demand from the Collage image matrix to nodes in Collage tiers.
Image Matrix
Software Image :
Red Hat ELAS 3 BEA V8.1.1 BEA V8.1.3
Image instances
WAM provides facilities to capture a WebLogic application and specify the parameters that define the application in the service matrix. For each deployed WebLogic application, a user may specify:
• Runtime node requirements for deployment (for example, required available memory on the server to run the service)
• Dependencies on other services
• Minimum/maximum number of services to deploy • Monitored values with associated periods and frequencies
• Thresholds for monitored values that indicate a need for more or fewer service deployments
The service matrix stores metadata and the bits that compose the application. Then, based on monitoring data, the Collage Optimization Engine automates the deployment of WebLogic EAR and WAR files to meet user-defined goals.
Monitoring Subsystem
The Collage monitoring subsystem provides for two levels of monitoring:
• Tier and node monitoring—used to verify that basic software requirements are receiving the necessary resources (for example, the minimum number of nodes) to run at a user-specified level.
• BEA WebLogic server and domain monitoring—used to monitor application deployments and to inter-rogate the BEA application domain and pinpoint problem areas.
The Collage infrastructure provides a JMX monitoring collector that is used for WebLogic. Collage monitors the WebLogic application server and the domains that are deployed inside that server, collecting low-level detail, as illustrated in Figure 5.
Figure 5: Collage JMX Monitoring
7 Collage WebLogic Admin Tier WebLogic Domain WebLogic Managed Server Application 1 BEA V8.1.1 JMX Monitoring Collector
JMX monitoring collector can gather ...
JVMHeapSize JVMHeapFree ExecuteThreadCount ExecuteThreadTotalCount PendingRequests PendingRequestOldestTime Collage Monitoring Data Store
1 4 1 5 1 3 1 2 1 1 1 Checks system state
Service running below threshold Requests Collage resource Requests application deployment Specifies deployment details Deploys application Collage Components Optimization
Engine Monitoring Subsystem Extensible Policy Interface Governor BEA Admin Server BEA Node Manager
Optimization Engine
The Collage Optimization Engine responds to monitoring information and initiates automated corrective or responsive actions to guarantee service levels. To accomplish this, the Optimization Engine interacts with other Collage components and the BEA Administration Server, as illustrated in Figure 6.
Figure 6: Application Deployment Sequence Flow
By measuring system conditions, analyzing the system state, and then responding immediately, the Optimization Engine drives the automation that is so critical to the real-time IT infrastructure that Cassatt creates.
With Collage, the minimum and maximum resource levels can be set for each tier and application-specif-ic parameters can be set for each domain deployed in BEA WebLogapplication-specif-ic.
The monitoring subsystem reports system state to the Optimization Engine. When defined monitoring parameters or thresholds are breached, the Optimization Engine initiates corrective action to bring the system up or down to the specified service level. Consider the following specific example:
Example - corrective actions taken by the Optimization Engine
If the monitoring subsystem reports that pending requests exceed 20 for more than 2 minutes...
Then the Dynamic Policy Engine...
Deploys a new BEA WebLogic J2EE application instance on an underutilized server to bring the system up to the necessary level of service.
or...
Dynamically allocates an available server from the free pool or an underutilized server from another tier, provisions it, and
deploys a new BEA WebLogic application instance to bring the system up to the necessary level of service.
Based on user-defined policies, the Optimization Engine makes all decisions regarding the services that should be running and the physical entities on which they should run. When the system state does not match the user-defined policy, Collage automatically determines the optimal course of action and adjusts the resources without operator intervention. To initiate system change, Collage employs two mechanisms: • Extensible policy interface —provides a web services API that defines the operations available to the
Optimization Engine. This WSDL interface represents the set of valid operations (for example, allocat-ing resources, startallocat-ing servers, loadallocat-ing software images) that can be performed on a node or tier in the Collage environment.
• Governor—an adjunct to the Extensible Policy Interface that specifically manages requests for BEA services. The Governor issues commands to a BEA Administration Server to deploy or undeploy J2EE applications. This request includes deployment details (that is, metadata acquired from the service matrix) such as required resources and how to access the application to be deployed.
As shown in Figure 7, the Optimization Engine invokes the appropriate image or service delivery process to bring the system into conformance with the user-defined policy.
Figure 7: Optimization Engine and Image and Ser vice Delivery
Virtualization and Automation Deliver Improved Agility, Better Service Levels,
and Reduced Costs for J2EE Applications
Cassatt brings the benefits of virtualization to the world of J2EE applications and web services. Cassatt’s Java application virtualization and management lets IT departments reduce costs through server consoli-dation, streamlined operations, and better agility, while automatically maintaining the application service levels that the businesses require.
For more information on managing J2EE server farms, go to www.cassatt.com.
9 Extensible Policy Interface Governor Deploy/Undeploy BEA WebLogic Applications Provision and Allocate/Deallocate Servers Optimization Engine Service Matrix Image Matrix Image Delivery Service Delivery Cassatt Corporation 1740 Technology Drive San Jose, CA 95110 t: 408.437.7600 f: 408.437.1364 www.cassatt.com