This article gives you an overview of some of the autonomic features of WebSphere Extended Deployment. WebSphere Extended Deployment manages a high volume of system transactions and simplifies the complexity of deploying applications. This article is useful for both Java 2 Platform, Enterprise Edition (J2EE) developers who are interested in making their applications autonomic, and for WebSphere administrators who want to quickly understand the capabilities of WebSphere Extended Deployment.
Autonomic computing technology is modeled like the human nervous system, in that, like the nervous system, an autonomic computing system governs itself. Similar to the way the body responds to changes in temperature and the way the heart pumps without a conscious effort, an autonomic computing system is designed to automatically respond to changes by adjusting itself, without human intervention. It's impossible to immediately transform an existing, manually managed system to an autonomic computing system overnight. It's more realistic to think of the move toward autonomic computing as an evolution. IBM® has outlined five stages:
- Basic, which is the first level, and is characterized by manual analysis and problem solving.
- Managed, the second level, is characterized by the consolidation of data and actions through management tools. An example of this is a centralized console.
- Predictive, the third level, is characterized by systems that correlate data and recognize patterns in order to recommend actions.
- Adaptive, the fourth level, is characterized by systems that monitor, correlate, and take action.
- Autonomic, the fifth and final stage, is characterized by integrated components dynamically managed by business rules and policies.
This article focuses on the features of WebSphere Extended Deployment that enable a system to be managed, predictive, and adaptive. You can find more information about the levels of autonomic maturity in the article Understand autonomic maturity levels.
Before describing managed, predictive, and adaptive maturity in WebSphere Extended Deployment, I'll define some of the new features introduced by WebSphere Extended Deployment:
- Node groups are pooled resources of nodes with a common characteristic.
- Dynamic clusters let you create multiple servers on a node group by sharing a template.
- Operational policies let you define the business goals of the applications.
- The on demand router routes traffic, controls logic, and handles caching and partition decision-making in the WebSphere Extended Deployment environment.
- Application placement allows for dynamic adjustment of resources, such as modifying the number of application instances. Application placement is explained further in Managing workload spikes with WebSphere Extended Deployment.
Node groups are a user-defined grouping of nodes that share a common property. This group of nodes creates a resource pool that can support growth, when needed. Dynamic clusters share the common concept of static clusters in WebSphere Application Server. The difference between static clusters and dynamic clusters is the goal of each. Dynamic clusters are designed to be flexible according to workload. The dynamic cluster's membership changes dynamically during run time according to the number of requests needing to be serviced. The dynamic cluster grows and shrinks across the nodes in a node group, starting and stopping application instances according to demand. If you attempted to achieve a similar peak size in WebSphere Application Server, you would have to deploy an application across multiple nodes by manually installing the application on each node.
Operational policies govern workload adjustment. By setting requirements in the operational policies, the administrator can define one application to a higher priority than another. Using operational policies lets the administrator set the business goals of the application. When machines are overused, critical applications are serviced, while applications with lesser precedence are given a lower priority.
Multiple on demand routers are the central entrance point into the environment and route clients to the application servers. It is at this point that the on demand router gathers and receives information about the applications, network activity, and health of the servers. The router might process and analyze this information and pass it to the console, where it can be read and analyzed by the user. Additionally, it might use an administrator's settings to make an educated decision to determine an autonomic function to take place.
In an autonomic computing environment, the system is configured to give warnings if an application is not meeting the desired business goal or if there's a sudden increase in workload. WebSphere Extended Deployment features health policies, which the system uses for self-healing. For example, the health policies put an automatic stop to an application with a memory leak. Servers with memory leaks can be automatically stopped and restarted when certain software malfunctions are recognized. Even though these servers are stopped, WebSphere Extended Deployment maintains configuration integrity by abiding by the policy to keep a certain number of servers running at all times. A business-critical application might be installed on several nodes, each of which has a critical server application. This cluster of servers is called a dynamic cluster. The dynamic cluster can be set to always run two servers so that critical applications remain available.
As transactions increase, WebSphere Extended Deployment monitors the traffic and offers suggestions to the administrator of changes to better handle the workload. WebSphere Extended Deployment can also be configured to automatically complete these actions rather than simply reporting them to the administrator. Because WebSphere Extended Deployment is designed for a high-volume site, it can start a new server if it detects that an application or system resources are being overused.
When moving to the next step, beyond basic, manual, hands-on management, it's necessary to work toward centralized control. WebSphere Extended Deployment features a centralized administrative console, which it shares with WebSphere Network Deployment. The combined console makes it easier to manage the overall network. The centralized console features real-time charts and diagrams of the network to allow administrators to make informed decisions.
In general, as transactions and enterprises increase so does complexity to manage the environment. The administrator needs to have access to an overview of what is happening in the large environment. WebSphere Extended Deployment contains managed features that allow visual representation so you can monitor a large scale of servers from one console. The visual elements include a run-time topology and a run-time map, which represent the application server environment. The run-time topology shows the average response time of node groups. The run-time map visually represents the health of the application server environment.
To increase manageability, the run-time topology provides an overview of server activity. This view contains two main functions: topology and charting, as shown in Figure 1. The left side of Figure 1 visually represents the topology of node groups and dynamic clusters. CPU utilization of nodes is reflected in a number percent as well as a visual bar. Charts are also used to visually represent the status of the system. The chart in Figure 2 shows each dynamic cluster represented in its own bar graph.
Figure 1. Sample run-time topology
Figure 2. Sample run-time map
|XML error: The image is not displayed because the width is greater than the maximum of 580 pixels. Please decrease the image width.|
As previously discussed, the purpose of WebSphere Extended Deployment is to allow for a usable, scalable, and adaptable environment as the deployment and transaction volumes increase. To make this environment more scalable and usable, WebSphere Extended Deployment contains two visual, detailed run-time operations: the run-time map and run-time topology. The run-time map explains the overall operations specified in the on demand router. The run-time topology is designed around the node groups. The color determines whether the applications are meeting their goals.
A predictive feature of WebSphere Extended Deployment is the use of service policies. Service policies are a factor in controlling a function known as application placement. Placement allows the administrator to prioritize the work and define the business or performance goals of applications. The administrator can define one application URI with a higher priority than another. When machines are overused, critical applications are serviced, while applications given lesser precedence receive less resources. In addition, you can set a response time to allow a highly critical application to respond to clients within a given time frame.
You define the application’s business goals within the service policies by assigning the importance of each application and creating a business goal. Service policies work with the on demand router to meet the application’s defined business goals. Run-time operations use data collected from the environment and from the on demand router to create real-time visualization of the environment and performance statistics.
Application placement, a key feature of WebSphere Extended Deployment, is adaptive. For example, if you had a stock trading Web site, perhaps your highest priority would be the applications that deal with platinum. You might then create a service policy containing these applications; which you can call "platinum." You then give the platinum service policy a higher priority than the silver policy. If the resources upon which silver applications are running are being overused, a new server containing the application is started.
Application placement also maintains a minimum and maximum amount of servers running at one time. The minimum and maximum numbers are a configuration option set by the administrator. These configuration settings ensure that servers are up and running at any given time. For example, the configuration settings enable the administrator to set limits on how many instances of the server need to be running. It also allows the administrator to set limits so that if demand is high, more servers are started.
Task management is a key feature of WebSphere Extended Deployment that has the ability to either be adaptive or predictive. The task manager can be configured either in automatic (adaptive) or in manual mode (predictive). Automatic mode allows WebSphere Extended Deployment to respond dynamically to the task at hand. Because an administrator must build up trust in the system before choosing automatic mode, the administrator might choose manual mode to review the recommended task before execution. Using this approach, the administrator can approve the recommended task before it is executed. Recommended tasks are assigned severities ranging from informational to fatal. A fatal label pertains to the action that must be taken immediately, while an informational label pertains to the task an administrator should be aware of. Specified through the task ID, you can choose to manually execute the action or have it automatically executed by WebSphere Extended Deployment.
An example of a fatal task is an administrator running a dynamic cluster in automatic mode, and the minimum number of cluster instances is set to 2. The administrator has chosen this setting so that there is never an application running on this dynamic cluster with less than two instances. As shown in Figure 3, the minimum number is not being met, and the task manager displays a message. The task to fulfill this assignment displays under “task explanation." The message indicates that it would like to start an instance of the cluster to fulfill the dynamic cluster minimum instance value.
Figure 3. Sample display screen
|XML error: The image is not displayed because the width is greater than the maximum of 580 pixels. Please decrease the image width.|
WebSphere Extended Deployment offers features that enable some parts of the system to achieve adaptive maturity. Using the features described here, WebSphere Extended Deployment accommodates a variety of customer loads and displays to the administrator the activity in each cell. It notifies the administrator of actions that need to be taken to meet business goals. By offering a visual representation of resources, WebSphere Extended Deployment allows either the administrator or the system itself to be responsive to the end user as demand requires. Using the prioritization capabilities, the administrator can bring focus to business critical applications.
- IBM WebSphere Extended Deployment is the official site for WebSphere Extended Deployment. The Information Center can be found here.
- Understand autonomic maturity (developerWorks, February 2004) explains the five different levels of maturity that exist within the autonomic computing model from IBM.
- Build a better GUI (developerWorks, October 2001) discusses the use of Java layout managers for better overall GUI design.
- Practical UNIX & Internet Security (O'Reilly & Associates; 1996), by Garfinkel and Spafford, is an excellent reference on all aspects of system security from user management to drafting a security policy.
Trish began working for IBM in June 2001 at the IBM Pittsburgh/Transarc lab, where she worked on the IBM Edge Caching Proxy. She now works in WebSphere XD test, where she can put to work her belief that "quality and innovation are the keys to autonomic products computing success". She can be reached at firstname.lastname@example.org.