Chapter: Scaling Virtual
Network Functions

Scaling Virtual
Network Functions

Scaling Overview

ESC is capable of elastically scaling the service. It can be configured
to do both scale in and scale out automatically. The scaling is achieved using
KPI, rules and actions. These are configured during deployment. The KPI define
the event name and threshold. The rules define action to trigger scale out and
scale in.

Scale In and Scale
Out of VMs

Scaling workflow
begins after successful deployment of a VNF. VMs are configured to monitor
attributes such as CPU load, memory usage, and so on, which form the KPI data
in the data model. If for any attributes, KPI reaches its threshold, based on
the action defined, scale in and scale out is performed.

During scale out,
if the number of VMs is less than maximum active, a new VM deployment is
triggered.

During scale in,
if the number of VMs is greater than the minimum active, the VM will be
undeployed.

Note

If the VM is
deployed and did not receive the VM alive event, then recovery will be
triggered. Any error during undeployment will be notified to the northbound
user.

In the scaling
section of the datamodel, the minimum and maximum values are configured. The
min_active defines the number of VMs deployed. The max_active defines the
number of maximum VMs that can be deployed. For example, if a VNF is deployed
with minimum 2 VMs and a maximum of 100 VMs, the below xml will define scaling
under each VM group.

Starting from ESC Release 2.0, if the primary VM was configured using a static IP address, the scaled out VMs must be assigned a static IP address. During deployment, a list of static IP addresses must be specified. The following example explains how to create a static IP pool:

Scaling Notifications
and Events

The scaling
notifications are sent to the northbound users. The notification includes
status message and other details to identify the service that is undergoing
scaling. Below is the list of notifications