1 Overview

Elasticity enables the automatic scaling of dynamic clusters and re-provisioning of associated resources in Oracle WebLogic Server. The following sections provide an overview of elasticity and also introduces relevant terminology used in this guide, including the elasticity framework, smart rules and policies and actions:

What is Elasticity?

Elasticity provides the ability to configure a dynamic cluster so that it can be scaled up or down, with its resources provisioned automatically as appropriate. You can configure elastic scaling in a dynamic cluster in either of the following ways:
  • 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.

    Policies and actions that scale a dynamic cluster are configured on a diagnostic system module that is targeted to the Administration Server.

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 automatically scale up or scale down a dynamic cluster. Configuring elasticity for a dynamic cluster typically involves the following:

  1. Creating a diagnostic system module for the scaling actions and policies

  2. Defining scale up or scale down actions (that is, what and how to scale)

  3. Defining scale up or scale down policies (that is, when to scale)

  4. Assigning the scaling actions to the corresponding scaling policies

  5. Targeting the diagnostic system module to the Administration Server

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 only for scaling dynamic clusters; it cannot be used for scaling partitions.

Related Terminology

Learn a list of terminology associated with elasticity.

The following table defines terminology used in this guide, Configuring Elasticity in Dynamic Clusters for Oracle WebLogic Server:

Table 1-1 Elasticity Terminology

Term Description

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.

Introducing the Script and Data Source Interceptors

Interceptors can be used to assist in coordinating with other WebLogic Server subsystems and other components during scaling operations. Interceptors are particularly useful for performing functions such as reprovisioning resources prior to, or immediately following, a scaling operation.

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 Configuring the Script Interceptor.

For information on using the data source interceptor to check database connections before a scale up operation, see Configuring the Data Source Interceptor.