Creating a New Grid

by Community Manager on 07-07-2011 09:49 AM - last edited on 07-29-2011 02:20 PM by Community Manager

The Grid feature is the primary method of launching cloud-based servers in SOASTA CloudTest. Grids allow you to easily determine how many servers to launch and how to recover from failures when allocating servers from the cloud provider. Use the Grid Wizard to manage elastic, cross-cloud computing resources, used in one or more load tests.

The Grids Manager allows you to setup and view your cloud-computing resources, including Test Server and Results Server instances from multiple locations that are used to generate load.

You can create one or more Grids for use in tests that deploy cloud resources and match those with SOASTA CloudTest Test Server instances.

Prerequisites

You must first define at least one Location before you can setup a Grid for managing cloud resources. The Location must be cloud-enabled. See Using Locations.

 

Creating a New Grid using Amazon EC2

  1. To get started, select Central list > Grids

Then, click New. When you do so, the Grid Wizard, General page appears.

  1. Enter a Grid Name, an optional Description, and a Save Location (this is the folder where the grid settings will be stored), and then click the right arrow to go to Step 2.

The Server Instances page appears. Using this page, define both Test Server and Result Server instances. Test Server instances will be used to generate load, and Results Service instances will be used to analyze and report on the test data in real-time.

  1. Enter the number of Test Server instances to be created per Location, or select a Composition(s) to automatically determine the number for you.
  2. Define Result Server instances per Location as a ratio to Test Server instances or as a Fixed Amount.
  3. Click Select Composition(s) to use the settings from one or more test compositions.

  1. Optionally, in the Server Instances page, check Show Advanced Settings to perform any of the following tasks:
  • To specify a Pending Timeout for this location (e.g. different timeouts for Amazon EC2 and GoGrid).

    Specify the time in seconds that the allocation request will timeout and be added to the retry queue

    For example, after an instance is requested, it stays in the "Pending" state until it's ready, and then changes to "Running". The time it takes to reach "Running" can be anywhere from 30 seconds to 10 minutes. Use this setting to specify a cut-off in seconds. By default, any servers that don't reach "Running" after 5 minutes are thrown away, and are re-tried with new servers.

    • To specify server classes for Test Server or Results Service instances

Configured Server Classes can be selected from the Server Class drop-down. See Server Classes.

Depending on the Location selection, some additional options may appear. For example, for Amazon EC2 locations.

  • For Amazon EC2 the grids will by default automatically choose the EC2 availability zone for new instances via the Let the cloud provider pick the zone for me option. This can reduce the time needed to allocate large numbers of instances. To override this behavior, and specify a zone, click the "Show advanced settings" box in Step 2 of the wizard and then select a different Zone Distribution option instead.

  • To specify a zone in which servers will be launched

With Zone Distribution > All in the Same Zone radio button checked, select a zone from the available zones in the drop-down. Optionally, check the Failover to different zone(s) if initial allocation fails box if you want CloudTest to use different zones on retry.

  • To switch from the default server allocation algorithm (which tries to allocate servers all in one zone and only when it cannot switch to another zone) to another algorithm that will get servers in groups of 25 doing round robin on all of the zones

Check the Distribute evenly across all zones box to use the alternate round-robin algorithm for server instances.

  1. Click the right arrow to go to Step 3. The Summary and Deploy/Tear Down page appears.

Use the Summary and Deploy/Tear Down page to review your settings before using Deploy Instances. Click the left arrow to return to the prior screen(s) to change settings.

  1. In the Summary and Deploy/Tear Down page, click the Advanced Settings tab.
  1. Optionally, check Advanced Settings and change any of the following defaults as necessary

The following Advanced Settings are available for the Summary and Deploy/Tear Down page:

    • Allocation block size

This setting will specify the server block size (e.g. the number of server instances to try at once).

For example, the user wants 500 Test Servers. Typically, if the user wants a large number of Test Servers, we can't ask for them all at once. If CloudTest asks for 500 Test Server instances all at once, the request will probably be rejected ("insufficient capacity", etc.). But, if CloudTest asks for them in blocks of 25, then some will succeed and some will fail. CloudTest can take just the failed ones and re-try them in a different zone.

    • Allocation failure retry count

For the total allocation request, specify a maximum number of times to retry.

The re-try algorithm described above in the Block Size description includes two types of errors (in the case of Amazon EC2):

  • Failures that are on the Amazon side, e.g. "Insufficient capacity". For these errors, we immediately fail over to a different zone.
  • Failures that are probably due to networking issues (e.g. network connection reset). For these errors, we will re-try in the same zone, but only a certain number of times.
    • Allocation failure retry delay

For the set of allocation requests, specify a number in seconds between retries.

For same-zone re-tries, delay this number of seconds first.

    • Use XL Instances If Necessary

This default, if checked, provides the ability to Fail Over to XL Instances. This setting permits XL instances to be called upon if allocation to L instances is insufficient.

    • Automatically Monitor Grid

Start the default monitors for each server. See Default Monitoring

    • Automatically Delete Monitors

When checked, automatically delete default monitors when the grid is shut down. To review the monitoring data later on, turn off this setting. This is usually left on, because the monitoring data is usually used just to "keep an eye on things" during the test.

    • Check Servers automatically

Initiate "check servers" as part of this server deployment.

This setting should be left on. If it's checked, then after all servers have reached the "Running" state, we do a "health check" of the CloudTest services (e.g. Test Server) on each server.

    • Check Server failure retry count

Specify the number of times to retry the server allocation.

Usually, the first "health check" of a server will fail—just because the machine has booted, it doesn't mean that JBoss has finished starting, etc. So, CloudTest will re-try, if necessary. The max number of retries is this setting.

    • Check Server retry delay

Specify the time in seconds to delay between retries.

To deploy a server based on an Amazon EC2 High Performance Computing class, use the Grid Manager, Server Instances page, Server Class drop-down whenever Show advanced settings is checked.

  1. Click Deploy Instances when ready. A spinner will appear while the default monitor is starting and stops when that phase is complete. The green checkmark appears only when default monitoring is deployed.
 

The Grid Ready icon will display when the requested servers are allocated successfully. For example, 10 0f 10 allocated Test Servers were successfully checked and allocated below.

The Grid Ready, with failures icon will display whenever allocation and checking finished without getting all of the requested servers. For example, 2 of 10 requested servers were checked and allocated.

The Stopped icon will display whenever all of the requested servers failed to be allocated or the Stop Deploying button is clicked.

When grid use is complete, click the Tear Down Instances button. When you do so, the grid indicates progress in the status area of the Journal tab.

Creating a Grid using GoGrid

  1. Select Central > Grids and then click New. The Grid Manager appears with Step 1 General displayed.
  2. Enter a Grid Name, and optionally, enter a description and a repository location for the new grid, and then click the right arrow.

The Step 2 Server Instances page appears.

  1. Change the “Location” drop-down to “GoGrid”.
  2. Specify the number of Test Server instances, and then optionally, define Results Server Instances. For most cases, the default “One for every 50 Test Server” instances” is acceptable for result servers.
  3. By default, GoGrid servers will be launched using 4 GB of RAM. If you wish to change this to 8 GB, check the “Show Advanced Settings” box and change the Server Class drop-down from “GoGrid Test Server (Large)” to “GoGrid Test Server (XL)”.
  4. If you wish to combine the GoGrid servers with servers from other cloud providers (e.g. Amazon EC2 or Windows Azure), click the Add a Location box. Otherwise, click the right arrow icon to proceed.

The Step 3 Summary and Deploy Tear Down page appears. Click the “Deploy Instances” button to begin launching servers.

Note: CloudTest Pro users may see an additional Grid Monitor Database field for those configurations where more than one Results Database is available. For more about using and launching grids, refer to Managing Grids.

Creating a Grid using Windows Azure

  1. Select Central > Grids and then click New. The Grid Manager appears with Step 1 General displayed.
  2. Enter a Grid Name, and optionally, enter a description and a repository location for the new grid, and then click the right arrow.

The Step 2 Server Instances page appears.

  1. Select a Windows Azure location.

Note:       There may be more than one Windows Azure location IF more than one Cloud Provider Account exists for this vendor OR if multiple regions have been configured. For example, the selection above was an automatically-created location for the Windows Azure Asia East region, which was specified during Cloud Provider Account creation.

  1. Specify the number of Test Server instances, and optionally, define Results Server Instances. For most cases, the default “One for every 50 Test Server” instances” is acceptable for result servers.
  2. By default, Large servers will be launched. If you wish to use Extra-Large servers instead, check the “Show Advanced Settings” box and change the Server Class drop-down from “Windows Azure Test Server (Large)” to “Windows Azure Test Server (XL)”.
  3. If you wish to combine the Windows Azure servers with servers from other cloud providers (e.g. Amazon EC2 or GoGrid), click the Add a Location box. Otherwise, click the right arrow icon to proceed.

The Step 3 Summary and Deploy Tear Down page appears. Click the “Deploy Instances” button to begin launching servers.

Note:  CloudTest Pro users may see an additional Grid Monitor Database field for those configurations where more than one Results Database is available. For more about using and launching grids, refer to Managing Grids.