A.25 Case Study: Dynamic Application Virtualization w/IBM's xCat
OverviewMany organizations have critical applications which require a custom compute environment to operate properly and effectively. These application requirements greatly limit the organization's flexibility in responding to dynamic changes in application workload, resource failures, and adjustments in business priorities. In-house resources of one configuration sit idle while other resources are overwhelmed. Further, the custom application environment prevents usage of grid and 'on demand' technologies which could otherwise provide unlimited access to needed compute resources.
ChallengeMost organizations utilize only 20 to 30% of their total computational capacity due to the specialized requirements of their applications and the lack of tools that can effectively virtualize and manage the underlying resources and workload. This causes organizations to either significantly over-purchase compute systems or excessively limit their ability to leverage the benefits of these systems.
The use of intelligent virtualization tools can provide greater customer reach, improved reliability, faster product development, amd ultimately, the reduction of wasted resources. All of this directly translates to both an increase in revenue and a decrease in costs. Full utility computing and resource virtualization can improve utilization by 3 to 5 times that achieved in the traditional application model resulting in significant ROI increases.
SolutionMoab Cluster Suite can tightly integrate with IBM's xCat Cluster Management ToolSet to provide a highly optimized and flexible solution. To enable this model, key applications and their dependencies are encapsulated within the needed compute environment and stored as a full system image. xCat provides provisioning services across a wide variety of architectures (x86, Power, BladeServer, etc) and technologies including Warewulf, VMWare, and Xen. Application requirements are submitted to Moab as either a periodically scheduled task or a standard batch task. Information provided in these submissions indicate one or more of the following attributes:
Application Task SubmissionApplication tasks may be submitted using any of the following mechanisms:
This flexibility allows organizations to initiate application execution based on time of day, admin need, network failures, external load, and a host of other factors. When a task is submitted, Moab first identifies compute resources which can best accommodate the request. Next, using xCat's architecture aware provisioning facilities, Moab then provisions the node to provide the complete required application computing environment. If needed, application data is staged in or made available over the network and the application is launched.
As the application is run, Moab monitors node and application health providing admin alerts of any detected failures. If failures do occur, Moab can be configured to automatically allocate replacement resources and migrate or restart the application using these new resources. When the application completes, Moab can immediately reprovision the resources and make them available to other scheduled or queued applications.
Note: Moab can be configured to minimize provisioning overhead or to force provisioning in all cases for security and conflict avoidance purposes.
Using Moab's industry leading quality of service, fairness, and optimization policies, organizations can better harness their resources and deliver on mission objectives. Leveraging xCat's broad architectural reach and resource management capabilities, Moab can allow allow departments to bring all of their computing resources under a single umbrella and coordinate their use.
Advanced accounting, reporting, and billing tools allow the organization to understand short and long-term workload requirements on a per application and per department level. Additionally, application performance levels, application responsiveness, and backlog metrics can be tracked enabling intelligent capacity planning for current and future needs.
Dynamic and Distributed Application SupportBy virtualizing both resources and workload, Moab can flexibly track and manage each independent request as a job. Because Moab can track requests at a service level, it can provide both powerful batch features and transaction level responsiveness, provisioning and launching applications without interfering with the application's native transaction processing or load-balancing capabilities. For distributed workload, Moab can monitor application load and responsiveness and allocate additional resources to the application as needed.
Grid and On-Demand/Utility Computing AccessWith the applications bundled as full node images, Moab grid and utility computing facilities can be utilized to enable access to intranet and external grid resources or can dynamically allocate and provision remote on-demand resources from a trusted resource provider. In such cases, Moab confirms image availability and stages application images and input data as needed to the target resource. The newly allocated resources are then fully provisioned with the application node image and it able to safely run on the new hardware.
Sample ConfigurationUtilizing Moab facilities is simple as the example configuration below demonstrates. In all cases, Moab can be configured either using flat configuration files or using the graphical admin tool.
SCHEDCFG[master] SERVER=ww.ifl.com MODE=NORMAL ENABLESERVICEPROVISIONING TRUE # interface to monitor/manage services RMCFG[direct] TYPE=native:xcat # constrain scheduler to only allocate same architecture nodes to each job NODESETPOLICY ONEOF NODESETATTRIBUTE ARCH # run accounting package once a week SRCFG[acct] HOSTLIST=node013,node014 SRCFG[acct] DAYS=FRI STARTTIME=22:00:00 ENDTIME=24:00:00 SRCFG[acct] OS=rh73 APPLICATION=/usr/acct/tools/weeklysummary.pl # activate web analysis service during business hours SRCFG[web3] TASKCOUNT=16 SRCFG[web3] DAYS=MON,TUE,WED,THU,FRI STARTTIME=08:00:00 ENDTIME=17:00:00 SRCFG[web3] OS=sus91 APPLICATION=/opt/w3/bin/webanalysis # prevent oversubscription of provisioning resources NODECFG[GLOBAL] GRES=prov:32 # allow 32 simultaneous provisioning operations CLASSCFG[prov] TGRES=prov:1@0-300
|© 2001-2010 Adaptive Computing Enterprises, Inc.|