Manage elastic cloud hosts

This section describes how to set up and manage elastic load generators on the cloud for LoadRunner Enterprise performance tests. Using elastic cloud hosts enables load generators to be provisioned and de-provisioned on demand in response to dynamic workloads.

Cloud hosts overview

Load generators can be hosted on local machines or in a cloud account. To host a load generator on the cloud, you must have access to a cloud account that will host the load generator, and your cloud account must be set up for provisioning load generators.

LoadRunner Enterprise supports LoadRunner Enterprise Amazon EC2 and Microsoft Azure cloud accounts.

Tip: See the LoadRunner Enterprise video gallery for a video on how to run tests on load generators that are dynamically provisioned on AWS.

Back to top

Advantages of using elastic cloud-based hosts

Benefits of using elastic hosts include:

  • Automates the testing process by provisioning load generators only when you need them, and seamlessly adding them to performance tests. Once a test is finished, cloud load generators are automatically de-provisioned.

  • Reduces costs since you no longer need to maintain dedicated load generator machines.

  • Efficient allocation of resources on demand in response to dynamic workloads, without having to rely on load generators defined in the lab, or to reserve load generators in advance.

  • Enables managing cloud provisioning on a per-project basis, with each project having access only to the cloud resources it needs.

Back to top

Workflow for using elastic cloud hosts in LoadRunner Enterprise

Using elastic cloud hosts in LoadRunner Enterprise involves:

  1. Defining Initial Cloud Settings

    Tip: If you have existing load generators in the cloud that you want to add to the lab, you can add them directly from the Hosts module in LoadRunner Enterprise Administration. For details, see Add cloud-provisioned hosts to your lab.

    Set up an account with a cloud provider, obtain the cloud provider credentials, and define network settings for communicating from LoadRunner Enterprise to your cloud provider and with your cloud-based load generators. For details, see Initial cloud settings.

  2. Adding Cloud Accounts

    Define a cloud account in LoadRunner Enterprise by entering your cloud provider credentials and associating projects to the account. For details, see Cloud accounts.

  3. Defining Host Templates (for AWS and Azure accounts only)

    Host templates are used for defining provisioning-related details, such as instance types, regions, and hardware specifications. You create your own templates, and LoadRunner Enterprise uses the details of the selected template to provision your host. For details, see Host templates.

    If Micro Focus images don’t suit your needs, you can specify in a host template an image that includes custom configuration. For details on how to create such an image, see Create custom image for cloud hosts.

  4. Configuring a performance test with elastic cloud-based load generators

    Configure your performance test to use Elastic Cloud load generators. For details, see Provision elastic cloud load generators.

  5. Monitoring Resource Consumption

    After provisioning your cloud hosts, you can analyze and monitor your cloud resource consumption by looking at the relevant usage reports. For details, see Monitor cloud resources.

Back to top

Configure cloud environment settings

You can configure cloud environment settings for host templates from the appsettings.defaults.json configuration file.

ActiveRegions

If you want to provision hosts on specified regions only, you can define a list of regions that will be displayed from the configuration file.

  1. Navigate to <LoadRunner Enterprise server installation>\LRE_BACKEND\ and open the appsettings.defaults.json file.

  2. Add an ActiveRegions section under the relevant cloud provider, and define a list of specified regions that will be available for creating templates. If the list is left empty, all regions are considered available.

    Copy code
    Example - Active regions (AWS):
    “AWS”: {
      “ActiveRegions”:
        [
         “us-east-1”,
         “ca-central-1
        ]
    }
    Copy code
    Example - Active regions (Azure):
    “Azure”: {
      “ActiveRegions”:
        [
         “australiacentral2”,
         “swedencentral”
        ]
    }

UnavailableRegions (Azure cloud hosts only)

If you encounter the following error in the LRECoreApi log ".......Microsoft.Rest.Azure.CloudException: No registered resource provider found for location 'xxxxxxxxxxxxx' and API version 'yyyy-mm-dd' for type 'locations/.......", perform the following:

  1. Navigate to <LoadRunner Enterprise server installation>\LRE_BACKEND and open the appsettings.defaults.json file.

  2. Search for "UnavailableRegions" in the Azure section, and add the relevant regions based on the log "No registered resource provider found for location 'xxxxxxxxxxxxx'".

    Copy code
    Example - Unavailable regions:
    “Azure”: {
      "UnavailableRegions": "123456789123456789", "987654321123456789" 
    }

Configure public IP address SKU type (Azure cloud hosts only)

Available in versions: LoadRunner Enterprise 2022 R1 and later

You can configure the SKU type for Azure public IP addresses.

  1. Navigate to <LoadRunner Enterprise server installation>\LRE_BACKEND\ and open the appsettings.defaults.json file.

  2. Add a PublicIPSkuType subsection to the Azure section, and specify "Standard" or "Basic" SKU type ("Basic" is the default type). Refer to the Microsoft documentation for differences between SKU types.

    Copy code
    Example - Azure public IP address SKU type:
    “Azure”: {
      "PublicIPSkuType": "Standard"
    }

Load balancer support (Azure cloud hosts only)

You can configure cloud environment settings so that provisioned load generators are automatically assigned to an Azure Load Balancer backend pool.

  1. Navigate to <LoadRunner Enterprise server installation>\LRE_BACKEND\ and open the appsettings.defaults.json file.

  2. Add a LoadBalancers section, and specify the following:

    templateId The template from which all load generators will be provisioned.
    loadBalancerId The Azure Load Balancer to which load generators will be assigned.
    backendPoolId ID of the backend pool to which load generators will be assigned.
    Copy code
    Example - Load balancer support:
    "LoadBalancers": {
    "templateId": "loadBalancerId:backendPoolId",
    }

Back to top