InfoCenter Home >
7: Multimachine management >
7.1: Using WebSphere Application Server in a multimachine environment >
7.1.3: Multimachine topologies >
7.1.3.1: Selecting a topology
7.1.3.1: Selecting a topology
A variety of factors typically are considered when you are deciding on the best
topology for deploying a WebSphere application. The major factors for picking a
topology include:
- Security. Some security concerns can be addressed by physically
separating the Web server from the application server by using firewalls.
- Performance. To maximize performance, the response time for
transactions needs to be as short as possible. Two topologies can be used to improve
transaction performance:
- Throughput. To process as many transactions as possible within a given
time period, application server clones can be created to increase the number of concurrent
transactions that the application can perform. These application server clones can be
added through vertical or horizontal scaling.
- Availability. To avoid a single point of failure and maximize the
system's availability, the topology must have some degree of process redundancy.
High-availability topologies typically involve horizontal scaling across multiple
machines. (Vertical scaling can improve availability by creating multiple processes, but
the machine itself becomes a point of failure.) A Network Dispatcher server can direct
client HTTP requests to the available Web servers, bypassing any that are offline; it can
also be backed up by another server to eliminate it as a single point of failure. Workload
management of application servers and administrative servers also improves availability
and failover support.
- Maintainability. The system's topology affects the ease with which its
hardware and software can be updated. For instance, using multiple WebSphere domains or
horizontal scaling can make a system easier to maintain because individual machines can be
taken offline for hardware and software upgrades without interrupting the application.
However, sometimes maintainability conflicts with other topology considerations.
For example, limiting the number of application server instances makes the
application easier to maintain but can have a negative effect on its throughput,
availability, and performance.
- Maintaining session state between client HTTP requests. This does
not apply if your application runs on a single application server instance or is
completely stateless. However, session state is an important consideration for
stateful applications and applications that run on multiple machines or application server
instances. A session can be shared between multiple application server processes
(clones) by saving the session state to a database. In addition, the configuration of an
HTTP redirector such as Network Dispatcher affects how the session state is maintained.
Whichever topology you decide on, a best practice is to partition your testing and
production acceptance environments in exactly the same way as your production environment.
This helps you recognize and address problems with your application before it is actually
deployed.
|
|