InfoCenter Home >
7: Multimachine management >
7.2 Managing workloads >
7.2.4 Using models and clones >
7.2.4.1 Cloning for workload management, failover, and scaling

7.2.4.1 Cloning for workload management, failover, and scaling

Cloning supports workload management, failover, and scaling.

Workload management

Models and clones provide necessary support for workload management. When you modify a model, the change is propagated to its clones when they are restarted. Besides making it easy to administer several servers as one logical server, this keeps the clones identical so that requests can be routed to any one of them with the same results.

This ability to route a request to any server in a group of identical servers allows the servers to share work, improving throughput of client remote method invocations. Requests can be evenly distributed to servers to prevent workload imbalances in which one or more servers have idle or low activity while others are overburdened. This load- balancing activity is a benefit of workload management.

Failover

With several clones available to handle requests, it is more likely that failures will not damage throughput and reliability. With clones distributed to various nodes, an entire machine can fail without producing devastating consequences (unless, of course, the failed machine is a single point of failure). Requests can be routed to other nodes if one node fails.

Scaling

Cloning is an effective way to perform vertical and horizontal scaling of application servers.

  • In vertical scaling, clones are defined on a single machine to allow the machine's processing power to be more efficiently allocated. It is particularly useful if your environment contains large, underutilized machines. A single application server is implemented by a single Java Virtual Machine (JVM) process and cannot fully utilize the power of a large machine. (This is especially true on large multiprocessor computers because of concurrency limitations within a single JVM process.) Vertical scaling allows multiple application server clones (and therefore JVM processes) to be created, which makes use of the machine's processing power more effectively. Vertical scaling is described in more detail in article 7.1.3.3.
  • In horizontal scaling, clones are defined on multiple machines in a system. This allows a single WebSphere application to run on several machines while presenting a single system image, making the most effective use of the resources of a distributed computing environment. Horizontal scaling is especially effective in environments that contain many smaller, less powerful machines. Client requests that overwhelm a single machine can be distributed over several machines in the system. Failover is another benefit of horizontal scaling. If a machine becomes unavailable, its work can be routed to other machines containing server clones. Horizontal scaling is described in more detail in article 7.1.3.4 and article 7.1.3.5.

WebSphere applications can combine horizontal and vertical scaling to reap the benefits of both scaling techniques.

Go to previous article: Using models and clones Go to next article: Modifying models and clones

 

 
Go to previous article: Using models and clones Go to next article: Modifying models and clones