WebSphere Application Server Network Deployment provides the Intelligent Management feature that extends the quality of services provided by your middleware infrastructure. It provides the environment with application server virtualization capabilities and a host of advanced operational facilities, such as performance virtualization. This allows WebSphere to enhance operational efficiency by providing continuously available application server environments that can service high-volume transactional workloads with linear scalability and high availability.
The main features in Intelligent Management are:
Intelligent routing: Provides the ability to prioritize the routing of requests to business critical applications, following administrator-defined rules.
Health management: Provides the ability to specify conditions to be monitored and the corresponding corrective actions to be taken when the conditions are observed.
Performance management: Provides a self-optimizing middleware infrastructure based on dynamic clusters, that can automatically scale up and down the number of application server instances to meet optimum response times and business needs.
Intelligent Management introduces autonomic capabilities into your infrastructure. These capabilities are delivered through a set of components known as autonomic managers. Autonomic managers monitor performance and health statistics through a series of sensors and turn various internal control knobs to optimize system performance and perform traffic shaping.
The Intelligent Management component includes the following autonomic managers:
Autonomic request flow manager (ARFM) to perform traffic shaping of incoming requests
Dynamic workload controller to dynamically adjust server weights to even out and minimize response times across the cluster
Application placement controller to manage an application's location within a node group in the WebSphere cell
On demand configuration manager to maintain cell topology information, track updates applied into the cell topology, and keep the ARFM and other controllers aware of its environment
The application placement controller
The application placement controller is responsible for the management of an application's location within a node group. A single application placement controller exists in the cell and is hosted in the deployment manager or in a node agent process.
The application placement controller starts and stops application server instances to manage HTTP, SIP, JMS, and IIOP traffic. The application placement controller can dynamically address periods of intense workflow that would otherwise require the manual intervention of a system administrator.
A dynamic cluster is a server cluster that enables application server virtualization. It uses weights and workload management to balance the workloads of its cluster members dynamically, based on performance information that is collected from the cluster members. This allows the application environment to dynamically expand and contract depending on the amount of workload it needs to handle at any given time.
The autonomic managers, including the application placement controller and the dynamic workload manager maximize the use of your computing resources. Dynamic clusters are required for many of the Intelligent Management autonomic functions, including high availability and service policies.
WebSphere provides two options for adding members to a dynamic cluster:
Automatically define cluster members with rules
By automatically defining cluster members with rules, you can create a subexpression that automatically selects nodes to host dynamic cluster members based on different node properties. This subexpression is called a membership policy.
Manually define cluster members
When you manually define cluster members, you statically define which servers are cluster members by selecting servers to add to the cluster. You use this option instead of the membership policy for the following reasons:
You have an existing static cluster that you want to convert to a dynamic cluster.
You are using assisted life-cycle management servers, which cannot be created from the administrative console. With this option, you create representations of the servers as cluster members, which must be homogeneous. That is, be all of the same server type, same version of the middleware software and the same enterprise applications.
Keep in mind the following key points about dynamic clustering:
Dynamic clusters grow and shrink depending on the workload demand.
Dynamic clusters work closely with the ODR to ensure even distribution of workload among the cluster members.
WebSphere Application Server V8.5 provides support for the following types of dynamic clusters:
WebSphere application server
Custom HTTP server
WebSphere Application Server Community Edition server
Creating a dynamic application server cluster
To create a new dynamic cluster, you must first verify that the application placement controller feature is enabled. It is enabled by default in WebSphere Application Server Network Deployment V8.5. From the deployment manager's administrative console, navigate to Operational policies > Autonomic managers > Application placement controller to enable this functionality, as shown in figure below.
WebSphere Application Server Network Deployment V8.5 essentially provides two options to create a new dynamic cluster:
Creating a new dynamic cluster with automatic membership.
Creating a new dynamic cluster with manual membership, which allows for the conversion of static clusters into a dynamic clusters.
Creating a new dynamic cluster with automatic membership
To create a cluster from the administrative console, complete the following steps:
Click Servers > Clusters > Dynamic clusters and then click New.
Set the type of the new dynamic clusters that are being created to WebSphere application server, and click Next.
Configure the new cluster with automatic membership by selecting Automatically define cluster members with rules, as shown in figure below.
Enter a cluster name.
Enable the options best suited for your environment:
Prefer local enabled, enabled by default, indicates that Enterprise Java Beans (EJB) requests are routed to the same host as the host of the requesting EJB client.
Create a replication domain for this cluster. Specifies that a replication domain is created for the dynamic cluster. The name of the replication domain is set to the name of the dynamic cluster that uses this domain.
Define dynamic cluster members:
By default, the value of the Membership policy field is set to
node_nodegroup = 'DefaultNodeGroup', which means that all of the nodes
belonging to this node group are members of the new dynamic cluster. To modify the
membership policy, click the Subexpression builder
link under Edit rule.
From the membership policy Subexpression builder window, modify the initial policy by setting the following options, as shown in figure below:
Define the appropriate value for Logical operator as either AND or OR.
Set the expression's operand value, which can be Nodegroup, Node name, Node host name and Node property.
Choose the desired expression Operator.
Enter the appropriate information in the value field, matching the chosen operand value, for the expression's operation.
Click Generate subexpression.
Click Append, which modifies the value of the Membership policy field, as shown in figure below:
To see where the new dynamic cluster members will reside, click the Preview membership link.
Create the cluster members based on one of the following options:
Using an application server template:
defaultXD, is the default template for the Intelligent Management.
default, is identical to the
defaultXD template except that
the Web container thread pool maximum size is 50 while it is 500 in the
DeveloperServer, is the default template used when you are developing your
Using an existing application server as template.
Specifying a target core group for the new cluster members.
Complete the dynamic cluster configuration by specifying its runtime and creation-specific properties, as shown in figure below:
The minimum number of running instances for the dynamic cluster.
The maximum number of cluster instances that can be started at any given time.
The vertical stacking, or number of cluster instances that will be created per node.
The isolation mode, to specify if you want the dynamic cluster to run on the same nodes as other instances of different dynamic clusters, or if you want the dynamic cluster to be the only instances running on a node. Options for isolation mode are:
No isolation: Target nodes can be shared between different dynamic clusters. This option is the default.
Strict isolation: Target nodes are dedicated to a specific dynamic cluster, running only application server instances of it.
Associate with an isolation group: Requires the creation of an isolation group, which determines which dynamic clusters can share the same target nodes. If only one cluster is added into an isolation group, the behavior will be the same as the behavior of the strict isolation.
In the summary window, click Finish to create the cluster.