Skip to content

Commit

Permalink
update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
zseta committed Feb 19, 2025
1 parent c06e838 commit 362ad2e
Showing 1 changed file with 108 additions and 8 deletions.
116 changes: 108 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,119 @@
# ScyllaDB 1 million operations/second DEMOs

Set up 1 million operations/second DEMO with different flavours of ScyllaDB:
* [1 million operations/second with ScyllaDB Cloud](/scylladb-cloud)
* [1 million operations/second with ScyllaDB Enterprise](/scylladb-enterprise)
This repository contains Terraform and Ansible based projects to help you
set up DEMOs and POCs with ScyllaDB in a cloud environment.

Scale a cluster from 3 to 6 nodes with Tablets enabled:
* [ScyllaDB Tablets DEMO on AWS](/tablets-scaling)
Currently supported DEMOs:
* [ScyllaDB Cloud 1 million operations/second (AWS and ScyllaDB Cloud account needed)](/scylladb-cloud)
* [ScyllaDB Enterprise 1 million operations/second (AWS account needed)](/scylladb-enterprise)
* [Scaling from 3 to 6 nodes (AWS account needed))](/tablets-scaling)


## Prerequisites
* [Terraform](https://developer.hashicorp.com/terraform/install)
* [Python 3](https://www.python.org/downloads/)
* [NodeJS](https://nodejs.org/en/download)
* [AWS CLI](https://aws.amazon.com/cli/) and [ScyllaDB Cloud API key](https://cloud.scylladb.com/)

## Usage
1. Clone the repository
```
git clone https://github.com/scylladb/1m-ops-demo.git
```
1. Open a folder and follow the instructions in the corresponding readme.
1. Open the DEMO folder that you want to run (e.g. for ScyllaDB Cloud 1M ops/sec demo):
```
cd scylladb-cloud
```
1. Edit the `variables.tf` file, for example:
```terraform
# ScyllaDB Cloud API token
variable "scylla_cloud_token" {
description = "ScyllaDB Cloud API token"
type = string
default = "YOUR-API-TOKEN"
}
# ScyllaDB Cloud region
variable "scylla_cloud_region" {
description = "ScyllaDB Cloud region of the cluster"
type = string
default = "us-east-1"
}
# SSH private key for EC2 instance access
variable "ssh_private_key" {
description = "SSH private key location for EC2 instance access"
type = string
default = "key.pem"
}
variable "aws_key_pair" {
description = "Key pair name in AWS"
type = string
default = "my-key-pair"
}
# AWS credentials file
variable "aws_creds" {
description = "AWS credentials location"
type = string
default = "/home/user/.aws/credentials"
}
# AWS Profile to Use
variable "aws_profile" {
description = "AWS Profile to Use"
type = string
default = "DeveloperAccessRole"
}
```
1. Run Terraform
Initialize Terraform project:
```
terraform init
```
Review infrastrcuture that Terraform is planning to build out:
```
terraform plan
```
Finally, start Terraform:
```
terraform apply
```
Wait for Terraform to finish setting up
1. Install DEMO UI application dependencies
Make sure your are in the root folder.
Install backend dependencies (virtual environment is recommended):
```bash
virtualenv env && source env/bin/activate && pip install -r requirements.txt
```
Install frontend dependencies (use `npm` or `yarn`):
```bash
cd frontend
npm install
```
1. Run DEMO UI application
Start backend
```bash
python app.py
```
Start frontend
```bash
cd frontend
npm run dev
```
1. Open DEMO UI application
Go to http://localhost:5173
![demo ui](/docs/source/_static/img/demo_ui.png)
1. Click through the scenarios one by one.
## Relevant links
* [ScyllaDB Open Source docs](https://opensource.docs.scylladb.com/stable/)
* [ScyllaDB Enterprise docs](https://enterprise.docs.scylladb.com)
* [ScyllaDB docs](https://docs.scylladb.com/stable/)

0 comments on commit 362ad2e

Please sign in to comment.