High Performance in a Few Clicks: Lab
In this lab, you’ll run the Demo UI from the 1m-ops-demo repository on your own machine and use it to push 1 million operations per second against a ScyllaDB cluster. Under the hood, the Demo UI runs Terraform to create the cluster, the ScyllaDB Monitoring Stack, and the loader machines that generate the workload.
Important: This lab creates real infrastructure in your AWS account and, for the ScyllaDB Cloud demo, in your ScyllaDB Cloud account. These resources aren’t covered by the free trial and are billed while they run. When you’re finished, always click DESTROY (step 9) to remove them.
Prerequisites
- An AWS account, with the AWS CLI installed and configured. You need permission to create VPCs, subnets, security groups and EC2 instances.
- Docker .
- A ScyllaDB Cloud account (see How to Start a Cluster on ScyllaDB Cloud ) and a ScyllaDB Cloud API token. To create one, see Create a Personal Token for Authentication .
Run the demo
Clone the repository:
bashgit clone https://github.com/scylladb/1m-ops-demo.git cd 1m-ops-demo/Find the location of your AWS credentials file, for example
~/.aws/credentials.Edit
config.jsonin the repository root:json{ "aws_creds_file": "/home/user/.aws/credentials", "aws_creds_profile": "default", "region": "us-east-1", "scylla_cloud_token": "API-TOKEN", "running_in_docker": true }aws_creds_file: the absolute path of your AWS credentials file. Don’t use~here — the path is mounted into the Docker container as-is.aws_creds_profile: the profile to use from that credentials file.region: the AWS region to run the demo in.scylla_cloud_token: your ScyllaDB Cloud API token.running_in_docker: leave this set totrue.
Build and start the Demo UI. It runs in a Docker container named
scylla-demoon port 5000:bash./build_and_run.shOpen the Demo UI at http://localhost:5000 .
Select the demo you want to run, for example ScyllaDB Cloud. This runs
terraform initunder the hood.(Optional) On the left side, configure the cluster size and the workload: the number of nodes, the machine type, the read and write rates, and the number of loader machines.
Click APPLY to run
terraform apply. Watch the console output to see when Terraform finishes. Once the cluster is up, Grafana dashboard tabs appear at the top. Click through them to watch the cluster handle the load in real time.When you’re done, click DESTROY to run
terraform destroyand remove everything the demo created. Wait until it completes before you close the application, then stop the container:bashdocker stop scylla-demo
Troubleshooting
If Terraform fails after creating part of the infrastructure, click DESTROY, fix the problem, and run ./build_and_run.sh again. You can also open a shell in the container and run Terraform yourself:
docker exec -it scylla-demo sh
cd <demo-folder>
terraform apply -var-file=user.tfvars.json -auto-approveTo clean up from the same shell, run terraform destroy -var-file=user.tfvars.json -auto-approve.
For more details, see the repository README .