From 477c9ed0f6fcd5ba287492733be3cbed6ed49bd7 Mon Sep 17 00:00:00 2001 From: Attila Toth Date: Tue, 10 Sep 2024 15:51:08 +0200 Subject: [PATCH] add enterprise docs --- docs/source/getting-started-enterprise.md | 118 ++++++++++++++++++++++ docs/source/getting-started.md | 12 +-- docs/source/index.rst | 22 ++-- scylladb-enterprise/readme.md | 6 +- 4 files changed, 143 insertions(+), 15 deletions(-) create mode 100644 docs/source/getting-started-enterprise.md diff --git a/docs/source/getting-started-enterprise.md b/docs/source/getting-started-enterprise.md new file mode 100644 index 0000000..e1fd286 --- /dev/null +++ b/docs/source/getting-started-enterprise.md @@ -0,0 +1,118 @@ +# Get started + +Follow along this video to get started: + +

+ +Or use the instructions outlined below to set up [AWS EC2](https://aws.amazon.com/ec2/) instances and [ScyllaDB Enterprise](https://www.scylladb.com/product/scylla-enterprise/) and run 1 million ops/sec workload. + +## Prerequisites +* AWS account and CLI credentials (more information on acquiring the credentials [here](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) and [here](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html), for OKTA you can use [gimme-aws-creds](https://github.com/Nike-Inc/gimme-aws-creds)) +* Terraform installed on your machine (installation instructions [here](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli)) + +### AWS permissions +Make sure that you have sufficient AWS permissions to create the following items: +* VPC +* Subnets +* Security groups +* EC2 instances + +## Configure Terraform and set up infrastructure + +1. Clone the repository: + ``` + git clone https://github.com/scylladb/1m-ops-demo.git + cd 1m-ops-demo/scylladb-enterprise/ + ``` +1. Set the required items in `variables.tf`: + ```terraform + # Set the following variables (mandatory) + # + + # AWS credentials file + + variable "path_to_aws_cred_file" { + description = "AWS credentials location" + type = string + default = "/home/user/.aws/credentials" + } + + # AWS credentials file + variable "aws_creds_profile" { + description = "AWS credentials profile" + type = string + default = "DeveloperAccessRole" + } + + # SSH private key for EC2 instance access + variable "ssh_private_key" { + description = "SSH private key location for EC2 instance access" + type = string + default = "/home/user/Documents/key.pem" + } + + variable "aws_key_pair_name" { + description = "Key pair name in AWS" + type = string + default = "key-pair" + } + + variable "aws_region" { + description = "AWS region" + type = string + default = "us-east-2" + } + + # Make sure the AMIs are available in your chosen region + # Amazon Machine Image (AMI) ID + variable "monitoring_ami_id" { + description = "AMI ID for the EC2 instance" + type = string + default = "ami-068cf3d51efeb20d6" + } + + # Scylla (AMI) ID + variable "scylla_ami_id" { + description = "AMI ID for the ScyllaDB EC2 instance" + type = string + default = "ami-0a4e6d1a9b982b961" + } + + # Scylla (AMI) ID for Loader instance + variable "loader_ami_id" { + description = "AMI ID for the EC2 loader instance" + type = string + default = "ami-027fdd99203b5e063" + } + ``` +1. Run Terraform: + ```bash + terraform init + terraform plan + terraform apply + + Do you want to perform these actions? + Terraform will perform the actions described above. + Only 'yes' will be accepted to approve. + + Enter a value: yes + + [...] + + Apply complete! Resources: 20 added, 0 changed, 0 destroyed. + + Outputs: + + monitoring_url = "http://:3000" + scylla_ips = "10.0.0.74,10.0.0.73,10.0.0.145" + scylla_public_ips = "18.222.111.226,18.222.163.223,3.145.73.47" + ``` + +Setting up the infrastructure takes 4+ minutes. Once Terraform is finished, go to the ScyllaDB Monitoring page (Terraform outputs the URL). + +After finishing the demo, destroy the infrastructure: +``` +terraform destroy +``` + + diff --git a/docs/source/getting-started.md b/docs/source/getting-started.md index 6ad64df..e096703 100644 --- a/docs/source/getting-started.md +++ b/docs/source/getting-started.md @@ -1,6 +1,10 @@ # Get started -Use the instructions outlined below to set up [AWS EC2](https://aws.amazon.com/ec2/) instances and [ScyllaDB Cloud](https://cloud.scylladb.com/) and run 1 million ops/sec workload. +Follow along this video to get started: + +

+ +Or use the instructions outlined below to set up [AWS EC2](https://aws.amazon.com/ec2/) instances and [ScyllaDB Cloud](https://cloud.scylladb.com/) and run 1 million ops/sec workload. ## Prerequisites * AWS account and CLI credentials (more information on acquiring the credentials [here](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) and [here](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html), for OKTA you can use [gimme-aws-creds](https://github.com/Nike-Inc/gimme-aws-creds)) @@ -16,10 +20,6 @@ Make sure that you have sufficient AWS permissions to create the following items ## Configure Terraform and set up infrastructure -Follow along this video to get started: - -

- 1. Clone the repository: ``` git clone https://github.com/scylladb/scylladb-1m-ops-demo.git @@ -85,7 +85,7 @@ Follow along this video to get started: Setting up the infrastructure takes 15+ minutes. Once Terraform is finished it takes another 2-3 minutes to reach 1M ops/sec. Go to [ScyllaDB Cloud console](https://cloud.scylladb.com/clusters/list), select your newly created cluster `ScyllaDB-Cloud-Demo` and open `Monitoring` to see the workload live: -![ScyllaDB Monitoring 1 million ops/sec](../../images/scylladb-monitoring.png) After finishing the demo, don't forget to destroy the infrastructure to avoid unnecessary costs: +![ScyllaDB Monitoring 1 million ops/sec](../../scylladb-cloud/images/scylladb-monitoring.png) After finishing the demo, don't forget to destroy the infrastructure to avoid unnecessary costs: ``` terraform destroy ``` diff --git a/docs/source/index.rst b/docs/source/index.rst index 7eadbbd..f7abd7e 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -9,13 +9,13 @@ .. title:: 1 million ops/sec Terraform demo .. hero-box:: - :title: 1 million ops/sec ScyllaDB Cloud demo with Terraform + :title: 1 million ops/sec ScyllaDB demos with Terraform :image: /_static/img/scylla-cloud-mascot.png :button_icon: fa fa-github :button_url: https://github.com/scylladb/1m-ops-demo :button_text: GitHub repository - Test and benchmark ScyllaDB Cloud under a 1 million operations per second workload. + Test and benchmark ScyllaDB under a 1 million operations per second workload. .. raw:: html @@ -29,13 +29,22 @@ .. topic-box:: - :title: Getting started + :title: ScyllaDB Cloud 1M ops/sec :link: getting-started :icon: scylla-icon scylla-icon--getting-started :class: large-4 :anchor: Get started - Watch the tutorial and follow the instructions to set up the demo. + Set up 1 million operations/second demo with ScyllaDB Cloud + +.. topic-box:: + :title: ScyllaDB Enterprise 1M ops/sec + :link: getting-started-enterprise + :icon: scylla-icon scylla-icon--getting-started + :class: large-4 + :anchor: Get started + + Set up 1 million operations/second demo with ScyllaDB Enterprise .. topic-box:: @@ -45,7 +54,7 @@ :class: large-4,small-12 :anchor: Read the article - To learn more details about the instance types and scripts used in this project read our blog post. + To learn more details about the instance types and scripts used for the Cloud version read our blog post. .. raw:: html @@ -55,7 +64,8 @@ :maxdepth: 3 :hidden: - Getting started + Getting started with Cloud + Getting started with Enterprise Blogpost - Set Up Your Own 1M OPS Benchmark GitHub repository diff --git a/scylladb-enterprise/readme.md b/scylladb-enterprise/readme.md index 16fc636..65a29ed 100644 --- a/scylladb-enterprise/readme.md +++ b/scylladb-enterprise/readme.md @@ -23,8 +23,8 @@ Make sure that you have sufficient AWS permissions to create the following items ## Get started Clone the repository: ``` -git clone -cd scylladb-enterprise/ +git clone https://github.com/scylladb/1m-ops-demo.git +cd 1m-ops-demo/scylladb-enterprise/ ``` First, set the required items in `variables.tf`: @@ -86,7 +86,7 @@ Apply complete! Resources: 20 added, 0 changed, 0 destroyed. Outputs: -monitoring_url = "http://18.217.117.255:3000" +monitoring_url = "http://:3000" scylla_ips = "10.0.0.74,10.0.0.73,10.0.0.145" scylla_public_ips = "18.222.111.226,18.222.163.223,3.145.73.47" ```