# Artillery pro > Installing artillery pro

# Installing Artillery Pro

> **Info:** Artillery Pro was deprecated in June 2024 and is no longer supported. No new releases will be made.
>
> The distributed load testing functionality of Artillery Pro is now available in the main distribution of Artillery.

## Overview

### Components

Artillery Pro is comprised of two main components:

1. **CLI extensions**, i.e. additional commands which are added to the `artillery` CLI, such as `run-test`. These commands let you create and run tests, manage your team's subscription, etc.

To make these CLI commands available to `artillery` CLI, the `artillery-pro` package needs to be installed by every user that will run tests with Artillery Pro (including machine users, such as jobs in a CI/CD pipeline).

2. **Artillery Pro backend**, which is deployed into an AWS account, and takes care of scheduling & running tests from ECS/Fargate clusters, storing test results, and other heavy lifting. The backend only needs to be deployed once and only upgraded with new releases of Artillery Pro. **Artillery Pro backend is fully serverless by default**, i.e. it only makes use of fully-managed AWS services such as DynamoDB, S3, and SQS. There are no servers or VMs for your team to set up and manage, and everything is created on-demand for running tests.

The CLI interacts with the backend to create and run tests. The CLI also provides a way deploy the backend to an AWS account in the first place, and to upgraded it to new releases.

> **Info:** A license key is required only for deploying the backend. Once Artillery Pro
> is deployed to an AWS account, AWS IAM is used for access control and to
> determine who can run tests with Artillery Pro.

### Access control and security

Artillery Pro CLI uses the same access mechanisms as the official AWS CLI.

Artillery Pro uses the official [AWS SDK](https://aws.amazon.com/tools/), which uses standard AWS cryptographic signing mechanisms to protect your security credentials and communication between the CLI and the backend.

## Installing CLI commands

Install the `artillery-pro` package to add extra commands to the `artillery` CLI.

Install both with:

```sh
npm install -g artillery@latest artillery-pro@latest
```

You can check that the installation was successful by running:

```sh
artillery --version
```

You should see the version of Artillery Pro in the output:

```

        ___         __  _ ____
  _____/   |  _____/ /_(_) / /__  _______  __ ___
 /____/ /| | / ___/ __/ / / / _ \/ ___/ / / /____/
/____/ ___ |/ /  / /_/ / / /  __/ /  / /_/ /____/
    /_/  |_/_/   \__/_/_/_/\___/_/   \__  /
                                    /____/


VERSION INFO:

Artillery Core: 2.0.0
Artillery Pro:  3.0.0-4

Node.js: v17.3.0
OS:      darwin
```

## Deploying the backend

## Get a license key

> **Info:** New license keys are no longer being issued but existing users can still
> request their license key using the mechanism described here.

A valid license key is required to deploy the backend for the first time.

The key is sent via email when the subscription is created. A copy of the key can also be requested with the `artillery` CLI:

```sh
artillery subscription --email user@example.net
```

(The email addressed used to set up the subscription must be used. It may take a couple of minutes for the email to arrive.)

## Deploy the backend with `artillery deploy`

The [`deploy` command](/guides/guides/pro-cli#deploy) is used to deploy the backend and to upgrade it to new releases.

`artillery deploy` is safe to run multiple times (i.e. it's idempotent). If everything has already been installed, it will simply do nothing and exit.

Artillery Pro uses [CloudFormation](https://aws.amazon.com/cloudformation/) to create the AWS resources it needs. Stack events will be printed to the terminal as the deployment is progressing. You can also follow its progress via CloudFormation UI in AWS Console.

See the docs for the [`deploy` command](/guides/guides/pro-cli#deploy) for a full description of various flags it supports.

### Example

To deploy Artillery Pro backend in `us-east-1` with the license key stored in `~/artillery-pro-license-key.txt`:

```sh
artillery deploy --region us-east-1 --license-key-file ~/artillery-pro-license-key.txt
```

## Upgrade an existing installation

To upgrade an existing installation, pass the `--upgrade` flag to `deploy`:

```sh
artillery deploy --upgrade --region us-east-1
```

If you're updating the license key (for example after upgrading your team's plan), pass it along with the `--license-key-file` flag:

```sh
artillery deploy --upgrade --region us-east-1 --license-key-file ~/artillery-pro-license-key.txt
```

### Supported regions

Artillery Pro may be deployed in any of the 16 supported following AWS regions. For a full up-to-date list please see [Supported regions](/docs/resources/pro/limits#supported-regions).

## Setting up IAM Permissions

Users of the `artillery` CLI will require adequate IAM permissions to be able to interact with the backend.

The `deploy` command creates a ready-to-use IAM policy which may be attached to existing IAM roles to allow users that assume those roles to interact with Artillery Pro. The `deploy` will print the name of that role after Artillery Pro is deployed successfully.

Artillery uses the AWS SDK to acquire AWS credentials from the environment (including support for AWS SSO). Please see [Configuring the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) if you need more information on configuring AWS access credentials.
