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

kVM instances on the cloud

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:

  1. SSH as admin into your ThoughtSpot cluster, using the following syntax:
    ssh admin@<cluster-ip-address or hostname>.

  2. 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:

  1. Ensure there are no issues with the cluster by running: $ tscli cluster check

    The above command should return no failure messages.

  2. Stop the cluster by running: $ tscli cluster stop

    Wait until you see the message: “Done stopping cluster”

  3. Go to your cloud provider’s console and shut down all of the ThoughtSpot VMs in your cluster.

  4. When you are ready to use ThoughtSpot again, start up your node VMs.

  5. 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.

  6. 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.