Deploying ThoughtSpot on private cloud
The ThoughtSpot cloud deployment consists of cloud compute (VM) instances and an underlying persistent storage layer. The number of instances required for a cloud deployment is based on the size of the data that needs to be analyzed in ThoughtSpot. The instances act as a distributed cluster of nodes to serve query responses.
You can deploy ThoughtSpot in the following cloud environments:
- Amazon Web Services (AWS) EC2
-
- Compute
-
Virtual machines deployed in your AWS VPC
- Persistent storage
-
Deployment options: Elastic Block Storage, or S3 + Elastic Block Storage
- Microsoft Azure
-
- Compute
-
Virtual machines in your Azure VNET
- Persistent storage
-
Premium SSD Managed Disks
- Google Cloud Platform (GCP)
-
- Compute
-
Virtual machines in your GCP VPC
- Persistent storage
-
Zonal SSD persistent disk
To determine the number of instances and the persistent storage requirements to provision your cluster, please refer to the available instance types for your cloud service provider in the next section.
ThoughtSpot cloud instance types
Refer to the following guidelines for how to set up ThoughtSpot on each cloud service:
Reducing your cloud infrastructure costs
ThoughtSpot recommends following these guidelines to help reduce the cost of your cloud deployment.
Use small and medium instance types
ThoughtSpot has various instance types to suit your needs. For ThoughtSpot customers who are deploying their instance with lower data sizes (<=100 GB), ThoughtSpot supports “small” (20 GB data) and “medium” (100 GB data) instance types, as provided at the links above, to help reduce the costs of cloud infrastructure. These are instances with lower CPU/RAM sizes (16/32 vCPU and 128 GB/256 RAM). Advanced lean mode configuration is required before any data can be loaded onto these instances.
To configure advanced lean mode, do the following:
-
SSH as admin into your ThoughtSpot cluster, using the following syntax:
ssh admin@<cluster-ip-address or hostname>
. -
Run the advanced lean mode configuration using the following syntax:
tscli config-mode lean [-h] --type {small,medium,default}
.Examples:
-
To configure your instance with the "small" data size, run:
tscli config-mode lean [-h] --type small
-
To configure your instance with the "medium" data size, run:
tscli config-mode lean [-h] --type medium
If you decide later you want to disable advanced lean mode, use default
. -
Shut down and restart your cluster
If you do not need your ThoughtSpot cluster to be up and running 24/7, you can shut down your cluster and restart it during normal usage hours to save on the infrastructure costs of running ThoughtSpot instances in cloud provider environments.
To shut down and restart your cluster, do the following in the tscli:
-
Ensure there are no issues with the cluster by running:
$ tscli cluster check
The above command should return no failure messages.
-
Stop the cluster by running:
$ tscli cluster stop
Wait until you see the message: “Done stopping cluster”
-
Go to your cloud provider’s console and shut down all of the ThoughtSpot VMs in your cluster.
-
When you are ready to use ThoughtSpot again, start up your node VMs.
-
Restart your cluster by running:
$ tscli cluster start
You should see the message: “Started pre-existing cluster”
Depending on the size of your cluster, you may need to wait several minutes before the system is fully usable again. For massive clusters with hundreds of GBs of data, this time to readiness may be several hours. Assess time to readiness on a per-cluster basis. Make sure you budget for this startup time to ensure that the system is fully operational before advertising it as ready and usable.
-
Ensure that your cluster is ready for use by running:
$ tscli cluster status
The following messages are displayed to indicate your cluster is up and running:
Cluster: RUNNING Database: READY Search Engine: READY
Automating your cloud deployment
You can automate your deployment using the free tools in the ThoughtSpot Cloud Deployment GitHub repository.
For more information about automating your cloud deployment, read our blog on Deploying ThoughtSpot in the Cloud Using Terraform and Ansible.