onnEC2 Configuration

AIQ provides specific commands to support your tests' automatic deployment and operation in a grid of servers and a Cloud Testing environment. For example, identify a cloud testing service like Amazon EC2 in a test scenario. AIQ creates the TestNodes in EC2 instances, runs the test, retrieves the results, and takes down the EC2 instances.

Amazon EC2 Configuration Utility for AIQ

Use the EC2 Cloud Configuration utility to deploy your test to an Amazon EC2 Cloud. Access the utility in Appvance IQ by clicking on Global Options link after you log in as an admin and navigate to the Cloud Config tab

Also, there are options to Test the Configuration in the Amazon EC2 service, including options to view a list of Functional instances, start and stop instances, reboot instances, test the configuration, and view allcreated machines.

  • AIQ provides the following options to run tests in a Cloud Testing environment.

    • Account Name is the account name by which AIQ securely communicates with the Amazon EC2 service.

    • AWS Access Key is a special security key to access the EC2 service. Managing Access Keys for Your AWS Account. You can create, rotate, disable, or delete access keys (access key IDs and secret access keys) for your AWS account root user. Anyone who has an access key for your AWS account has unrestricted access to all the resources in your account, including billing information

    • AWS Secret Key Secret access keys are—as the name implies—secrets, like your password. For your security, AWS doesn’t reveal your password to you if you forgot it (you’d have to set a new password). Similarly, AWS does not allow the retrieval of a secret access key after its initial creation. This applies to both root secret access keys and AWS Identity and Access Management (IAM) user secret access keys.

    • Region - Lists all the available regions that AWS supports. Those include:

      • US East (N. Virginia)

      • US East (Ohio)

      • US West (N. California)

      • US West (Oregon)

      • EU (Ireland)

      • EU (Frankfurt)

      • Asia Pacific (Tokyo)

      • Asia Pacific (Seoul)

      • Asia Pacific (Singapore)

      • Asia Pacific (Sydney)

      • Asia Pacific (Mumbai)

      • South America (Sao Paulo)

    • AMI is an Amazon Machine Instance (AMI) file.

    • Instance Type determines the type of server to use.

    • Following are the list of supported Instance Types.

      • t2.nano

      • t2.micro

      • t2.small

      • t2.medium

      • t2.large

      • t2.xlarge

      • t2.2xlarge

      • t3a.2xlarge

      • t3.nano

      • t3.micro

      • t3.small

      • t3.medium

      • t3.large

      • t3.xlarge

      • t3.2xlarge

      • t3a.small

      • t3a.medium

      • t3a.large

      • t3a.xlarge

      • m1.small

      • m1.medium

      • m1.large

      • m1.xlarge

      • m2.small

      • m2.medium

      • m2.large

      • m2.xlarge

      • m2.2xlarge

      • m2.4xlarge

      • m3.medium

      • m3.large

      • m3.xlarge

      • m3.2xlarge

      • m4.large

      • m4.xlarge

      • m4.2xlarge

      • m4.4xlarge

      • m4.10xlarge

      • m4.16xlarge

      • m5.large

      • m5.xlarge

      • m5.2xlarge

      • m5.12xlarge

      • m5.24xlarge

      • m5d.large

      • m5d.xlarge

      • m5d.2xlarge

      • m5d.4xlarge

      • m5d.12xlarge

      • m5d.24xlarge

      • cr1.8xlarge

      • r3.large

      • r3.xlarge

      • r3.2xlarge

      • r3.4xlarge

      • r3.8xlarge

      • r4.large

      • r4.xlarge

      • r4.2xlarge

      • r4.4xlarge

      • r4.8xlarge

      • r4.16xlarge

      • r5.large

      • r5.xlarge

      • r5.2xlarge

      • r5.4xlarge

      • r5.12xlarge

      • r5.24xlarge

      • r5.metal

      • x1.16xlarge

      • x1.32xlarge

      • x1e.2xlarge

      • x1e.4xlarge

      • x1e.8xlarge

      • x1e.16xlarge

      • x1e.32xlarge

      • i2.xlarge

      • i2.2xlarge

      • i2.4xlarge

      • i2.8xlarge

      • i3.xlarge

      • i3.2xlarge

      • i3.4xlarge

      • i3.8xlarge

      • i3.16xlarge

      • i3.metal

      • hi1.4xlarge

      • hs1.8xlarge

      • c1.medium

      • c1.xlarge

      • c3.large

      • c3.xlarge

      • c3.2xlarge

      • c3.4xlarge

      • c3.8xlarge

      • c4.large

      • c4.xlarge

      • c4.2xlarge

      • c4.4xlarge

      • c4.8xlarge

      • c5.large

      • c5.xlarge

      • c5.2xlarge

      • c5.4xlarge

      • c5.9xlarge

      • c5.18xlarge

      • c5d.2xlarge

      • c5d.4xlarge

      • c5d.9xlarge

      • c5d.18xlarge

      • c5d.xlarge

      • cc1.4xlarge

      • cc2.8xlarge

      • g2.2xlarge

      • g2.8xlarge

      • cg1.4xlarge

      • p2.xlarge

      • p2.8xlarge

      • p2.16xlarge

      • d2.xlarge

      • d2.2xlarge

      • d2.4xlarge

      • d2.8xlarge

      • f1.2xlarge

      • f1.16xlarge

    • Key Pair identifies groups of running TestNodes by user or department. Amazon EC2 uses public-key cryptography to encrypt and decrypt login information. Public–key cryptography uses a public key to encrypt a piece of data, such as a password, then the recipient uses the private key to decrypt the data. The public and private keys are known as key pairs.

    • Security Group ID identifies a security profile, including firewall access to ports on the TestNode. A security group acts as a virtual firewall that controls the traffic for one or more instances. When you launch an instance, you associate one or more security groups with the instance. You add rules to each security group that allows traffic to or from its associated instances.

    • VPC ID: An optional field. A virtual private cloud (VPC) is a virtual network dedicated to your AWS account. It is logically isolated from other virtual networks in the AWS Cloud. You can launch your AWS resources, such as Amazon EC2 instances, into your VPC.

    • Subnet ID: An optional field. A subnet is created based on VPC, which also includes details of Availability Zones and IPV4 CIDR block.
      CIDR (Classless Inter-Domain Routing, sometimes called Supernetting) is a way to allow a more flexible allocation of Internet Protocol (IP) addresses than was possible with the original system of IP address classes.

      When no VPC and subnet is provided it will default to the specified region in the availability zone "a".

      When only a VPC is provided and no subnet is provided then, AIQ will check all the subnets for the provided VPC and use the first default subnet attached to that VPC and use its availability zone.

      When both VPC and Subnets are provided (and the VPC has the provided Subnet attached) then the subnet will be scanned to get its availability zone and that will be used for launching instances. When a subnet is provided the "region" input will be ignored in favor of the region where the subnet was created.

    • Test Configuration: Is used to test the configuration file to check if it is valid or not.

    • All Started Machine Details: Lists out all the instances that match the config file that is stopped and are running.

    • Functional Machines: Lists all the instances that match the config file, but lists only the functional (running) instances.

    • Start Single machine: Will start a single machine based on the config file.

    • AIQ Protocol and AIQ Port: You also have an option to select the protocol between HTTP and HTTPS and also provide the relevant ports (8080 in case of HTTP and 8443 in case of HTTPS), as AIQ runs on both the ports (8443 and 8080 for HTTPS and HTTP Respectively).

Features and Benefits

Cloud Computing and AIQ Grid technology provide huge new benefits to app performance solutions:

  • Run At User Levels Never Before Possible - Building a test lab used to be prohibitively costly for medium and large-scale load tests. Cloud computing delivers bandwidth and computing power to achieve tests in the millions-of-users levels at commodity prices.

  • Run From Multiple Locations Around The World - Cloud Testing environments are a worldwide phenomenon. AIQ runs tests in multiple Cloud Testing environments. This makes it possible to manage performance from your user's geographic locations.

  • Pay As You Go, Pay Only For What You Need - Cloud Testing eliminates the cost of building and maintaining a test lab for load and performance testing. No longer is there a need to provision expensive and difficult-to-manage quality test labs. Appvance Cloud Testing lets you pay as you operate tests.

  • Ideal for automating test operations from a Continuous Integration environment. The CI platform starts a Test Scenario test and AIQ automatically provisions and deploys tests to the available Test Nodes in your Grid or a Cloud Testing environment.

  • Test In Your Environment, In A Cloud Environment, Or Both - Appvance delivers ultimate flexibility.

Cloud Testing Options and using the configuration in the test scenario

Appvance IQ provides the following options to run tests in a Cloud Testing environment. Identify these settings in a TestScenario. The Scenario Builder supports the following settings:

  • Name is the reference to managing this Cloud environment.

  • Type has options to select EC2, Softlayer, Grid, or OpenStack

  • Beginning: determine AIQ's actions while staging the test. Instantiate uses the following values.

    1. Create All - All new instances will be created - Create New.

    2. None - No instance will be started - None

    3. Create Required - Will create a new machine if the machines are not already started (For Ex: If there is already one machine that is running then that instance will be used and another instance will be newly created) - Use Available (Create if Required)

    4. Start All: Only if all the machines are stopped then it will be useful ( For Ex: 1 machine is already running and 2 machines are stopped and if the user selects this will throw an error) All the machines need to be stopped for this to work - Start Stopped Instance(s)

  • End determines Appvance IQ's behavior on ending the test.

    1. Terminate All - Terminates all instances.

    2. Started - Terminates only started instances.

    3. None - Does not terminate any instances.

    4. Stop All - Stops all the started instances.

  • Reboot determines AIQ's behavior on ending the test. Some misconfigured applications under test may leave network connections open and consequently cause a running test to consume network or memory resources without releasing them. The reboot options release resources. Reboot takes the following values.

    • After - Reboots the node after the test. AIQ will not reboot terminated machines.

    • Never - AIQ takes any reboot action.

  • All Available machines are the desired quantity of TestNode instances.

  • Config is the path to an AIQ Cloud Test configuration file. The configuration contains your Cloud Testing access (security) keys and account preferences.

  • Network Bandwidth Users can provide the Network bandwidth in Kbps for the tests to run in the specified location.

  • Username and Password Credentials to login to AIQ, original credentials of the machine that was used to create the AMI to be used, if default credentials were used, just leave this field blank.

Appvance IQ uses a Test Scenario to define the orchestration instructions for a test. A Test Scenario defines the locations of the test nodes to operate a test. Use the Appvance Scenario Builder to create and update a Test Scenario.

Use the Locations tab in the Appvance Scenario Builder to determine the test deployment location. In the above screenshot, AIQ will run the test on the locally installed TestNode as well as on the EC2 instances that are configured from the EC2.cloud file which initiates 20 instances and runs the test.

Click Add Test Location to identify multiple TestNodes in your QA lab. In the above example, AIQ runs the test on 2 TestNodes in your QA lab and 1 locally installed TestNode.

AIQ Cloud Testing extends this notation to define a Cloud Testing environment. For example, the following shows a TestScenario that runs locally and in the Amazon EC2 environment.

In the above example, AIQ deploys and operates your test on a local TestNode, on 20 Amazon EC2 machine instances in the Eastern United States (Regions can be chosen from Amazon EC2 Console from your AWS Account). Each Cloud definition in the TestScenario controls how the TestNodes are started and termination/reboot options after the test finishes.

Appvance IQ stores Cloud and Grid test deployment information in a configuration file. Create as many configuration files as you need. Use the AIQ Tools drop-down menu, and EC2 Configuration utility to create and edit Cloud Configuration files. Use the Grid Configuration utility for Grid deployment settings. Configuration files tell AIQ the security access keys, machine instance files, and other details for AIQ to deploy your test.