What you'll learn
- How to install Artillery Pro CLI components
- How to deploy Artillery Pro backend in your organization's AWS account
- Artillery Core needs to be installed before setting up or using Artillery Pro.
- An active subscription or a trial license key. Please see Artillery Pro's product page for more information on Artillery Pro, and on requesting a trial license.
Artillery Pro builds on top of Artillery Core to provide a self-hosted performance testing platform. It provides development teams with an internal self-service performance testing platform, with the ability to run large-scale tests with no resource limits, and additional enterprise-grade features, such as the ability to run tests from multiple geographical regions.
Every feature of Artillery Core is available in Artillery Pro, which provides a seamless upgrade path from tests running on a developer’s machine, to scaling up & running the same test scripts from your organization’s AWS account.
Artillery Pro is comprised of two main components:
Additional commands which are added to the
artilleryCLI, 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-propackage 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).
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.
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.
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, which uses standard AWS cryptographic signing mechanisms to protect your security credentials and communication between the CLI and the backend.
Artillery Pro backend is fully serverless, i.e. it only makes use of fully-managed AWS services such as DynamoDB, S3, SQS. There are no servers for your team to set up and manage.
artillery-pro package to add extra commands to the
Install both with:
npm install -g artillery@latest artillery-pro@latest
You can check that the installation was successful by running:
You should see the version of Artillery Pro in the output:
___ __ _ ____
_____/ | _____/ /_(_) / /__ _______ __ ___
/____/ /| | / ___/ __/ / / / _ \/ ___/ / / /____/
/____/ ___ |/ / / /_/ / / / __/ / / /_/ /____/
/_/ |_/_/ \__/_/_/_/\___/_/ \__ /
Artillery Core: 2.0.0
Artillery Pro: 3.0.0-4
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 subscription --email email@example.com
(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
deploy command 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 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.
Artillery Pro can be deployed to only one region in an AWS account. Once the Artillery Pro backend is deployed to an AWS region,
artillery deploy with different AWS region in the same AWS account will fail and may require you to re-deploy the backend
to the original AWS region.
See the docs for the
deploy command for a full description of various flags it supports.
To deploy Artillery Pro backend in
us-east-1 with the license key stored in
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
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
artillery deploy --upgrade --region us-east-1 --license-key-file ~/artillery-pro-license-key.txt
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.
Setting up IAM Permissions
Users of the
artillery CLI will require adequate IAM permissions to be able to interact with the backend.
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 if you need more information on configuring AWS access credentials.