Abiquo Documentation Cookies Policy

Our Documentation website uses cookies to improve your experience. Please visit our Cookie Policy page for more information about cookies and how we use them.


Abiquo 4.6

Skip to end of metadata
Go to start of metadata

Control and scaling concepts


ConceptDescription
MetricA built-in metric that is provided by a hypervisor or provider (e.g. CPU usage) or a custom metric that the user creates and populates using API calls
AlarmAn alarm activates when a metric passes a certain threshold. If you imagine a dashboard for your metrics, alarms are like red lights that light up when conditions change, for example, when there is a problem. See Manage cloud alarms and Infrastructure Alarms
AlertAn alert enables you to configure notifications or actions from alarms. Alerts are like a worker monitoring a group of alarms; when all the lights for the group are lit up, the alert is activated. Alerts can trigger action plans. See Control and scaling concepts
Action planA sequence of actions to perform on entities on the platform, such as VMs or scaling groups. An action plan is run by a trigger.
TriggerA trigger is an alert or a schedule that will run the action plan, for example, during times of increased demand. 
Scaling groupFor horizontal autoscaling, create a scaling group for a VM with rules to define how the platform should scale it out. You can then include scaling operations in an action plan.
Vertical scalingVertical scaling means scaling up, adding more resources to an existing VM, for example, boosting your CPU and or RAM capacity.
Horizontal scalingHorizontal scaling means scaling out, deploying more VMs when you need more resources. 



Manage scaling groups


To configure an automatic response to changing demands for resources, you can scale out VMs, which is also called horizontal autoscaling. To scale out, the platform clones the base VM and deploys the clones. To scale in, the platform will delete clone VMs and undeploy the base VM. Scaling operations are subject to all standard platform constraints, such as privileges and allocation limits.

Scaling notes

  • Limitations:
    • The platform does not clone captured VMs, so you will need to create an instance and recreate the VM from the resulting template to use scaling groups. Create instances to save VM disks to templates
    • VApp specs do not support scaling groups. See What do specs save and create
    • You can push custom metrics for clone VMs but you cannot create alarms for cloned VMs that are part of a scaling group. This is because scaling groups have aggregate alarms that are associated with the base VM.
  • State of base VM: A scaling group with a deployed base VM would be destroyed if the base VM were deleted directly on the hypervisor. In contrast, a scaling group with an undeployed base VM is not vulnerable to interference at the hypervisor level




The platform enables you to automatically scale out (add more VMs) or scale up (add more resources to existing VMs).

Privilege: Manage scaling groups, Manage workflow for scaling groups

To use autoscaling do these steps:

  1. Create a base VM, which can be deployed or undeployed
  2. Configure the VM and enable metrics
  3. Define a scaling group with rules for scaling the VM.
    The checkbox to create a scaling action, will create the following automatically:
    1. standard alarms and alerts for the selected metrics
    2. action plans with scaling actions for the VM and triggers for the action plans, which are monitoring alerts
    You can customize the elements the platform creates, or you can create your own configuration.




Define a scaling group

Before you begin:
  1. Configure the base VM that will be scaled
  2. Ensure that you have enough resources in your virtual datacenter to deploy up to the maximum number of cloned VMs, especially IP addresses

To create a scaling group:

  1. Go to Virtual datacenters → Virtual appliances
  2. Select the base VM, and from the menu on the VM icon, select the Create scaling group option
  3. Enter the scaling parameters and rules
  4. Click Save

Unable to render {include} The included page could not be found.

When you save the scaling group, Abiquo will mark the VM icon with the scaling group symbol and display the scaling group name. If the minimum number of deployed VMs are not present and the scaling group is not in maintenance, Abiquo will create clones of the base VM and deploy them to reach the minimum size. The number in the bottom right-hand corner of the icon is the number of running VMs in the scaling group, including the base VM.

To open the scaling group and check its parameters, click the scaling group symbol in the top right-hand corner of the VM icon.




Trigger autoscaling

Before you begin:
  1. Create a VM and a scaling group for the VM. See Define a scaling group

To trigger autoscaling operations:

  1. Create an action plan with a scaling action for the VM with the scaling group. See Create an action plan to automate VM actions
  2. Create triggers to run the action plan. See Create a trigger for an action plan

When scaling, the platform will search for a scaling rule that is valid for the specific time range, or for a default rule. It will create or delete/undeploy the number of VMs in the rule, then wait for the cooldown period before accepting another scaling request. 




How the platform scales VMs

To scale out, the platform does not deploy VMs that are undeployed in the scaling group. To clone the base VM, the platform will do the following:
  1. Create disks using the following:
    1. Copies of content of disks from the VM template
    2. Empty disks or volumes for each additional disk used in the VM
    3. Disk controllers used in the VM
  2. Apply ALL configuration used in the VM, for example:
    1. CPU and RAM
    2. Network connections of the same type (e.g. private network)
    3. Assignment of firewall policies and attachment to load balancers
    4. Chef recipes, backups, cloud-init, variables, and so on
    5. Metrics. The group of metrics from clone VMs and the base VM (if it is deployed) can activate alarms in the base VM, even if it is not deployed
    6. Exception – Alarms: the scaling group has only one set of alarms in the base VM

To scale in,  Abiquo currently selects the VMs to delete or undeploy using first in, first out (FIFO). The platform deletes and undeploys VMs without requesting user confirmation when there are disks that are not stored in the Apps library (ISO configuration drive or additional hard disk). 




Perform maintenance on a scaling group

To make changes to your VMs in a scaling group (manually deploy, undeploy, delete, etc.) and edit the scaling group, put it into maintenance mode, which will disable autoscaling. Note that you cannot delete the base VM without deleting the scaling group. 

When you leave maintenance mode, the platform will apply your modifications to the scaling group, e.g. adding new rules. Then the platform will adjust the number of VMs in the group to within the minimum and maximum size range.

To manually put the scaling group in maintenance mode:

  1. Go to Virtual datacenters → Virtual appliances → select VM
  2. Click the "cog" maintenance button

To automatically put a scaling group in maintenance mode:

  1. Trigger an action plan with the action "Scaling group: start maintenance mode"

To manually leave maintenance mode

  1. Click the "cog" maintenance button again

To automatically leave maintenance mode

  1.  trigger an action plan with the action "Scaling group: end maintenance mode".

Note that although you can push custom metrics for clone VMs, you cannot create alarms for cloned VMs that are part of a scaling group. This is because scaling groups have aggregate alarms that are associated with the base VM. 




Display scaling actions for a scaling group

To display automatic scaling actions on a scaling group:
  1. Go to Virtual datacenters → Virtual appliances → open virtual appliance
  2. If the scaling group is not in maintenance mode, click the cog symbol to put it into maintenance mode
  3. Edit the scaling group 
  4. Go to Autoscaling actions
  5. To toggle display of more details of an action, click Show more or Show less




Move a scaling group to another virtual appliance in the same virtual datacenter

To move a scaling group in maintenance mode to another virtual appliance in the same virtual datacenter:
  1. Click the Move VM button
  2. Select the new virtual appliance



Restrict a scaling group

To move a scaling group to a restricted virtual appliance, do these steps:

  1. Go to Virtual datacenters → select scaling group
  2. Click the VM move button on the VM control panel
  3. Select the checkbox to Move to a restricted virtual appliance, select a restricted virtual appliance, or create a new VApp and select the Restrict virtual appliance checkbox



Delete a scaling group

When you delete a scaling group, the platform will place all the VMs in the virtual appliance as regular VMs and the scaling group constraints will no longer exist. 

To delete a scaling group:

  1. Go to Virtual datacenters → select scaling group
  2. Click the "cog" button to put the scaling group into maintenance mode or run a maintenance action in an action plan
  3. Click the delete button



Manage scaling groups with the API

API Documentation

For the Abiquo API documentation of this feature, see Abiquo API Resources and the page for this resource ScalingGroupsResource.

Manage alerts


Control and automation in the platform

To help you detect and address changing demand for resources, the platform's control features include monitoring alerts with notifications, action plans for automation, and autoscaling. These features may depend on the configuration of metrics and alarms, so you may like to set these up first (see VM monitoring and metrics and Manage cloud alarms). To use scaling, you should also define scaling groups for the VMs you want to scale, (see Monitoring and scaling VMs). The Control view manages Alerts and Action plans. 


Control and scaling concepts


ConceptDescription
MetricA built-in metric that is provided by a hypervisor or provider (e.g. CPU usage) or a custom metric that the user creates and populates using API calls
AlarmAn alarm activates when a metric passes a certain threshold. If you imagine a dashboard for your metrics, alarms are like red lights that light up when conditions change, for example, when there is a problem. See Manage cloud alarms and Infrastructure Alarms
AlertAn alert enables you to configure notifications or actions from alarms. Alerts are like a worker monitoring a group of alarms; when all the lights for the group are lit up, the alert is activated. Alerts can trigger action plans. See Control and scaling concepts
Action planA sequence of actions to perform on entities on the platform, such as VMs or scaling groups. An action plan is run by a trigger.
TriggerA trigger is an alert or a schedule that will run the action plan, for example, during times of increased demand. 
Scaling groupFor horizontal autoscaling, create a scaling group for a VM with rules to define how the platform should scale it out. You can then include scaling operations in an action plan.
Vertical scalingVertical scaling means scaling up, adding more resources to an existing VM, for example, boosting your CPU and or RAM capacity.
Horizontal scalingHorizontal scaling means scaling out, deploying more VMs when you need more resources. 




Create Alerts and Alarms

An alert will trigger when all its alarms are activated. You can use the alert to trigger actions. See Manage Action Plans.

Privilege: Access alerts section, Manage alerts

Before you begin:

  1. Retrieve VM built-in metrics, by editing VMs and enabling monitoring (see VM monitoring and metrics) or create custom metrics
  2. Optionally create metric alarms (see Manage cloud alarms and Infrastructure Alarms). You must add at least one alarm to be able to save the alert.

To create an alert:

  1. Go to Control → Alerts
  2. Click the + add button
  3. Enter the alert details and assign alarms


    Field

    Description

    Name

    Name of the alert. The name can contain up to 128 characters

    DescriptionDescribe the alert
    MutedSelect this checkbox to disable action when the alert is activated
    EmailList of email addresses to notify when the alert activates. Click Add email to save each address
    Alarms

    Click the + Add button to assign alarms to the alert. You must assign at least one alarm to be able to save the alert. Select an existing alarm, or create a new alarm, and assign it to the alert. Repeat for the required alarms

  4. Click Save





Remove alarms from alerts

You can delete any alarm at any time, even if it is part of one or more alerts. The platform will not warn you that the alarm is used in an alert. However, you can check this in Control view. After you delete an alarm, you cannot recover it.

You can also remove an alarm from an alert.

Privilege: Access alarms section, Manage alarms, Manage alerts

To delete an alarm:

  1. Go to Virtual datacenters or Infrastructure →  Alarms
  2. Select the alarm and delete it

To remove an alarm from an alert:

  1. Go to Control → Alerts → edit alert

  2. Select the alarm, click the delete button, and confirm
    The platform will remove it from this alert, but it will remain in all other alerts that it is associated with

If you delete a VM, the platform will delete any alarms associated with its metrics.


Manage action plans




To enable more control over cloud operations, users can create action plans that will automatically run tasks on VMs and scaling groups, and to run general tasks. 

Action plans are an important automation functionality on the platform. They can combine tasks for VMs and scaling groups in different providers and have multiple triggers including alerts from custom metrics or built-in metrics. Each VM or scaling group can have multiple action plans.


Privilege: Access action plans and triggers, Manage action plans and triggers

Control → Action plans

You can automate the following entities and actions with action plans:

  • VM:
    • Reset
    • Power on
    • Power off
    • Shutdown
    • Deploy
    • Undeploy
    • Increase CPU
    • Decrease CPU
    • Increase RAM
    • Decrease RAM
    • Resize disk
    • Set hardware profile 
    • Instance
  • General:
    • Send email
  • Scaling group:
    • Start maintenance
    • End maintenance
    • Scale out
    • Scale in

 

Create an action plan

Before you create an action plan, consider the elements that you wish to automate with the action plan. Create VMs or scaling groups, fetch metrics, and create alarms and alerts.

To create an action plan:

  1. Go to Control → Action plans, and click the + add button 
  2. Enter the action plan details
  3. Add actions: 
    1. Click the + Add button
    2. Select a general action or select a VM or scaling group and a specific action type from the pulldown list
    3. Enter parameters as required 
    Consider the following constraints on actions
    • Maintenance block: You can create one complete maintenance block (start maintenance, action(s), and stop maintenance) and the maintenance block cannot contain any scaling actions
    • Scale in and/or scale out actions: You can only scale in and/or scale out at the end of the action plan but you can create the scaling action(s) in any order (e.g. scale in first, only scale in)
    • Email actions: You can perform an email action at any time, including after scaling actions
    • Platform constraints: For example, to create an instance, the VM must be deployed and powered off 
    • Hypervisor constraints: For example, when using hot reconfigure on ESXi, you cannot decrement CPU or RAM

Put the actions in run order using the arrow buttons. Delete actions as required using the trash can button to the left of the action name.

 Field

Description

Virtual machine

The name of the VM

Name

The name of the action plan

DescriptionA description of the action plan
Actions

See Actions list

Action parameters

See Action parameters table


Action parameters table

ActionParameters
Increase CPUvCPUs
Decrease CPUvCPUs. Not supported by hot-reconfigure. Check OS compatibility
Increase RAM
  • RAM
  • RAM unit of GB or MB
Decrease RAM
  • RAM. Not supported by hot-reconfigure. Check OS compatibility
  • RAM unit of GB or MB 
Resize disk
  • Amount
  • Disk unit of GB or MB
  • Selected disk
Instance
  • Name for Instance (clone) template. The platform will append the date to the name supplied
  • All disks or selected disks
Send email
  • Subject
  • Body
  • To (email addresses). Click the add + button to add an email address
  • Cc (copy to these addresses)
Set hardware profileSelect from the available hardware profiles

See List of actions for action plans

To run the action plan automatically, go to the Triggers tab and create an alert or schedule trigger. 




Run an action plan now

To run an action plan immediately to test it, do these steps:
  1. Go to Control → Action plans → Edit action plan 
  2. Click the Execute action plan button, which is beside the + add button to create a new action. 

Abiquo recommends that you run an action plan manually to test it before you create a trigger to run it automatically




Create a trigger for an action plan

The platform supports two types of triggers to run action plans: Alerts and Schedules.

To run your action plan based on metrics, select an existing alert with these steps:

  1. Go to Control → Action plans → edit action plan
  2. Go to Alerts
  3. Click the + Add button and select the Alert. For details about creating an alert, see Manage Alerts

To run your action plan automatically at selected dates and times, create a schedule trigger with these steps:

  1. Go to Control → Action plans → edit action plan
  2. Go to Schedules
  3. Enter the details of the schedule

  • To run the action plan at intervals of a fixed number of seconds within a set timeframe:
    1. Select an Interval schedule
    2. Enter the following parameters
      1. Interval seconds: the number of seconds from when the action plan excution starts to when it will start again
      2. Repeat count: the number of times to run the action plan. A value of 0 means repeat forever
      3. Start time: date and time
      4. End time: date and time
  1. After you create an interval schedule, the platform will display the execution count of how many times the action plan has run. If the repeat count is 0, the execution count is null
  • To run an action plan as specified using a Cron-type schedule, select an Advanced schedule and use the calendar selector.




Delete an action plan

If you delete an action plan, Abiquo will also delete the schedule associated with that action plan. 

  • No labels