Autoscaling

Autoscaling

Autoscaling is a cloud computing technique for scaling cloud-based services and dynamically allocating computational resources. Depending upon the user needs, server traffic, and load on a server, the active number of servers (typically called workers) varies automatically. Typically, several workers are activated simultaneously as required when the load peaks, while when there is no substantial traffic on a server, the workers are scaled down (switched off). Hence, the only optimum number of workers are active at any time.
In Rubiscape, the autoscaling settings are tenant-specific. As you change the tenant, these settings also change. It may so happen that one of your projects with a specific workload is handled through one tenant. Hence, separate settings may be required and can be configured for separate tenants.
Currently, two scenarios are possible related to auto-scaling in Rubiscape.

Auto-scaling disabled:

  • NO auto-scaling
  • Worker node configurations are default and are decided by the admin

Auto-scaling enabled:

Rubiscape provides support for the following two cloud providers:

  • Microsoft Azure
  • AWS

The following four drop-downs are the same for Microsoft Azure and AWS.

  • Maximum Workers (Frequency)
  • No. of tasks per worker
  • Instance Type
  • Instance

(info)Notes

  • If autoscaling is disabled, the following are the default settings for the above four drop-downs:
    • Maximum Workers = 10
    • No. of Tasks Per Worker = 1
    • Instance Type = General Purpose
    • Instance = t2.micro
  • When the autoscaling is disabled, the above values are set up by the deployment team. These values can be changed by raising a support request.
  • Currently, these values cannot be changed/modified from the Admin Module.
  • Both Microsoft Azure and AWS are kept as read-only properties. Hence, a normal user cannot change the cloud provider.
  • You can change a cloud provider only through the code or the API.
  • Changing a cloud provider is a migration activity with huge financial and infrastructural liabilities.
  • Maximum workers and the number of tasks per worker decide the concurrency for executing tasks.
  • Instance Type and Instance depend on the cloud provider. They vary from region to region.

The following sections discuss the two cloud providers in detail.

Amazon Web Services (AWS)

The AWS cloud provider contains the following fields.


The following table explains various fields in AWS cloud provider settings.

Field

Description

Remark

Maximum Workers (Frequency)

Enter the maximum number of tasks that can be run simultaneously on a worker.

  • Any task beyond this number waits in the queue till a worker becomes free to take it up.
  • It decides the concurrency capability of the server.

No. of Tasks Per Worker

Enter the number of tasks you want to run at a time on each worker.

  • When an instance gets spawned in the auto-scaling mode, this number decides how many tasks are executed at a time on each server.
  • It decides the concurrency capability of the server.

Instance Type

Select the instance type from the drop-down.

Options:

  • General Purpose
  • Compute Optimized
  • Memory-Optimized

Instance

Select the instance based on the instance type and the computational power required.

  • It gives you a choice to change the instance according to compute required for executing a particular task.
  • For example, for heavy compute requirements, you can select higher version instances in Compute Optimized or Memory Optimized Instance Types.
  • The list of Instances depends upon the selected Instance Type.
  • It changes according to the Instance Type.

Image Id

Enter the Amazon Machine Image (AMI) ID to launch the instance.

  • You need to specify an AMI when you launch an instance.
  • Multiple instances with the same configuration can be launched from a single AMI.

Secret Key

Enter the secret key to launch the instance.

It is like a password.

Subnet Id

Enter the Subnet ID to access a range of IP addresses in your Virtual Private Cloud.

  • AWS itself generates it.
  • It may be unique to a VPC, Account, Region, or the entire AWS.

Region Name

Enter the name of the physical location where your data center (also called the Availability Center) is located.

  • A region is a physical location where the data centers are clustered.
  • AWS maintains multiple geographic regions in North America, South America, Europe, China, Asia Pacific, South Africa, and the Middle East.
  • For more information, visit the link here.

Security Group Ids

Enter the security group IDs for your EC2 instance.

  • The security group ID is important for network interface activities.
  • A security group acts as a virtual firewall to control traffic influx and outflow.
  • A separate set of rules controls the inbound and outbound traffic.
  • When an instance is launched, you can specify one or more security groups.
  • Security group IDs can be listed with a comma (,) used as a separator.

Access Key

Enter your unique user or account identifier key for AWS

  • You first need to sign up for an AWS account to access AWS.
  • The access keys consist of an access key ID and a secret access key.

Key Name

Enter the key name to identify a particular object in the S3 bucket.

  • The key name (also called the object key) is a unique identifier of any object in the S3 bucket.
  • When you create an object, the key name is also specified.

Microsoft Azure

The Azure cloud provider contains the following fields.


The following table explains various fields in Azure cloud provider settings.

Field

Description

Remark

Maximum Workers (Frequency)

Enter the maximum number of tasks that can be run simultaneously on a worker.

  • Any task beyond this number waits in the queue till a worker becomes free to take it up.
  • It decides the concurrency capability of the server.

No. of Tasks Per Worker

Enter the number of tasks you want to run at a time on each worker.

  • When an instance gets spawned in the auto-scaling mode, this number decides how many tasks are executed at a time on each server.
  • It decides the concurrency capability of the server.

Instance Type

Select the instance type from the drop-down.

Options:

  • D Series
  • E Series
  • F Series
  • G Series
  • H Series
  • Ls Series
  • M Series

Instance

Select the instance based on the instance type and the computational power required.

  • It gives you a choice to change the instance according to compute required for executing a particular task.
  • For example, for heavy compute requirements, you can select higher version instances in Compute Optimized or Memory Optimized Instance Types.
  • The list of Instances depends upon the selected Instance Type.
  • It changes according to the Instance Type.

Image Id

Enter the Azure Image ID to launch the instance.

  • You need to specify the Azure Image ID when you launch an instance.
  • Multiple instances with the same configuration can be launched from a single image.

Secret Key

Enter the secret key to launch the instance.

It is like a password.

Subnet Id

Enter the Subnet ID to access a range of IP addresses in your Virtual Private Cloud.

  • AWS itself generates it.
    It may be unique to a VPC, Account, Region, or the entire AWS.

Subscription Id

Enter a unique alphanumeric string to identify your Azure subscription.

  • An Azure subscription links to an Azure account that creates an identity in the Azure Active Directory (AD).
  • It is an agreement between your organization and Microsoft to use its resources.

Tenant Id

Enter your global unique identifier (GUID).

  • The Azure Tenant ID is a Global Unique Identifier (GUID) to identify your Microsoft 365 Tenant.
  • It is also called the Office 365 Tenant ID.
  • It is not the same as your organization/domain name.

Location

Enter the location of your data center.

  • An Azure location or region is a set of data centers.
  • It is deployed within a latency-defined perimeter and connected through a dedicated regional low-latency network.
  • An Azure region has discrete pricing and service availability.
  • For more information, visit the link here.

VM User

Enter your Virtual Machine Administrator User name.

  • Azure Virtual Machines (VMs) are image service server-like instances.
  • They provide on-demand and scalable computing resources and offer usage-based pricing.

VM Password

Enter the password for your Virtual Machine Administrator User.

Resource Group Name

Enter a name for your resource group.

  • A resource group is a logical container to deploy and manage various Azure resources (web applications, VMs, database servers, virtual networks, and storage accounts)
  • In Microsoft Azure, when you create a VM, you need to assign it to a resource group.
  • It is used for better governance and cost management.

Network Security Group Name

Enter the name of the network security group.

  • An Azure network security group is used to filter inbound and outbound networks from Azure resources in a virtual network.
  • It contains security rules that allow or deny incoming or outgoing network traffic from several types of Azure resources.
  • The source and destination, port, and protocol can be specified for each rule.

Client Id

Enter your application ID with Azure.

  • When you register your Azure client application, you provide the application to Azure AD.
  • Azure AD then provides a client ID (or application ID) to associate your application with Azure AD at runtime.


(warning)
Warning

  • Enter the correct configuration credentials; otherwise, a validation error "Authentication failed. Please enter valid credentials!" is displayed.
  • Do not forget to click Save Auto Scaling Details!
  • If you click Discard, all changes made since the last save get deleted.