InfoCenter Home >
7: Multimachine management >
7.2 Managing workloads >
7.2.4 Using server groups and clones >
7.2.4.1 Cloning for workload management, failover, and scaling
Cloning supports workload management, failover, and scaling.
Workload management
Server groups and clones provide necessary support for workload management. When
you modify a server group, 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.
|
|