This chapter introduces and provides an overview of elasticity in WebLogic Server 12.2.1. Elasticity enables the automatic scaling of dynamic clusters and re-provisioning of associated resources. This chapter also introduces relevant terminology used in this guide, including the elasticity framework, smart rules and policies and actions.
This chapter includes the following sections:
Elasticity allows you to configure elastic scaling for a dynamic cluster based on either of the following:
Manually adding or removing a running dynamic server instance from an active dynamic cluster. This is called on-demand scaling. You can perform on-demand scaling using the Fusion Middleware component of Enterprise Manager, the WebLogic Server Administration Console, or the WebLogic Scripting Tool (WLST).
Establishing policies that set the conditions under which a dynamic cluster should be scaled up or down and actions that define the scaling operations themselves. When the conditions defined in the scaling policy occur, the corresponding scaling action is triggered automatically.
The elasticity framework leverages the WebLogic Diagnostic Framework (WLDF) Policies and Actions system. Using the WLDF Policies and Actions component, you can write policy expressions that will automatically scale up or scale down a dynamic cluster. These policies will monitor one or more resources, such as memory, idle threads, and CPU. When the configured threshold is met, the scaling action is triggered. For more information on WLDF and diagnostic policies and actions, see "Configuring Policies and Actions" in Configuring and Using the Diagnostics Framework for Oracle WebLogic Server.
Policies for elasticity can be based on the following types of data:
Trends over time, or historical data, such as changes in average values during a specific time interval. For example, a policy can be based on average JVM heap usage above a certain threshold.
Runtime metrics relevant to all server instances in a cluster, not just one server instance.
Data from multiple services that are considered together. For example, a policy can be based on response-time metrics reported by a load balancer and message-backlog metrics from a message queue.
Calendar-based schedules. Scaling policies can identify a specific calendar time, such as time of day or day of week, to define when an action triggers.
Log rules or event data rules.
Elasticity is available at the domain, server, and cluster scope. It is not available from the partition scope.
The following table defines terminology associated with elasticity that is used in this guide, Configuring Elasticity in Dynamic Clusters for Oracle WebLogic Server:
|Elasticity framework||Component that builds upon the existing WLDF Policies and Actions system that allows administrators to construct complex rules to monitor resource usage in a cluster to effect scaling or administrative actions relevant particularly to dynamic clusters.|
|Policy||Sets the conditions under which a dynamic cluster should be scaled up or down. When the conditions defined in a scaling policy occur, the corresponding scaling action is triggered automatically.|
|Action||Defines the scaling operations themselves.|
|Dynamic cluster||A cluster that contains one or more generated (dynamic) server instances that are based on a single shared server template.|
|On-demand scaling||Scaling by manually adding or removing a running server instance from an active dynamic cluster.|
|Calendar-based scaling||Scaling based on calendar-based schedules and that specify a particular time or date when a scaling action is executed.|
|Policy-based scaling||Scaling based on policies and associated actions. A policy sets the conditions under which a scaling operation should occur, and when these conditions are met, the configured scaling action is executed.|
|Smart rule||Prepackaged policy expression with a set of configurable parameters that allow you to create a complex policy expression simply by specifying the values for those parameters.|
Interceptors can be used assist in coordinating with other WebLogic Server subsystems and other components during scaling operations. Configuring Elasticity in Dynamic Clusters for Oracle WebLogic Server introduces two interceptors, the script interceptor and the data source interceptor.
For information on using the script interceptor to coordinate with other systems during scaling operations, see Chapter 9, "Configuring the Script Interceptor."
For information on using the data source interceptor to check database connections before a scale up operation, see Chapter 8, "Configuring the Data Source Interceptor."