X

The latest cloud infrastructure announcements, technical solutions, and enterprise cloud insights.

Deploying Sisense on Oracle Cloud Infrastructure: Part 1

Kranthi Manchikanti
Cloud Engineer

In association with Bogdan Darie, Cristian Cozma, and Ionut Sturzu

Sisense is an agile Business Intelligence solution that provides innovative tools to manage and support business data with analytics and reporting. Sisense offers numerous deployment options, including cloud, on-premises, and hybrid.

This guide shows how to deploy Cloud-Native Sisense on a three virtual machine (VM) cluster on Oracle Cloud Infrastructure (OCI). The cluster is set up in a private subnet and can be accessed through a bastion host. We explore how to apply Oracle Linux, Oracle File Storage service, and OCI networking components to achieve this.

Preparing the OCI environment

To install Sisense on OCI, you need sufficient access to manage OCI network and File Storage. The common policies used are available from the policies documentation and the API signing key can be generated from the documentation.

Before deploying the Sisense tools, we need to prepare the network to deploy the VMs on OCI.

Network preparation

Create the following specs in OCI:

  • A VCN on OCI with one public and one private subnet.

  • Two route tables, one with internet gateway rule for the public subnet and one with NAT gateway rule for private subnet

  • Two security lists; ensure that the required ports by Sisense application are open

Deploy virtual machines

  • Deploy three OCI virtual machines in the private subnet

  • One bastion host (another OCI virtual machine) in the public subnet

The virtual machines must follow the Sisense application specifications. Shapes need at least eight cores and a boot volume at least 200 GB, plus twice the amount of data. We recommend reviewing the requirements for Sisense implementation details from Sisense’s documentation.

We used the VM.Standard2.8 shape and increased the boot volume size to 200 GB to have the required free space for this deployment. The image of the nodes and bastion must be Ubuntu or CentOS 7. Use the same image on the bastion as you did on the nodes.

To build an instance with an image from the OCID, select Image OCID from the “Create Instance” form and enter the OCID of the image.

A screenshot of the Create Compute Instance page in the OCI Console with AD 1 selected in blue.

A screenshot of the Browse All Images section with the image OCID outlined in blue.

Configure virtual machines

Before you install the Sisense application, you must prepare the instances after they’re up and running. You can use the cloud-init script when you provision the instances, or you can connect to each instance through SSH and manually run the commands.

If you’re manually running the commands, ensure that your user has administrator privileges (sudo). Because the Sisense application uses opc/ubuntu user to use the Ansible playbooks, apply the argument --user to the pip commands to install the packages at the user level.

On CentOS 7, run the following commands as a part of cloud-init on the bastion host:

yum install -y python3 rust cargo python3-devel openssl-devel libselinux-python3
pip3 install --upgrade pip
pip3 install setuptools_rust yq ipaddr netaddr jmespath ansible==2.9.14

On Ubuntu run the following commands as a part of cloud-init on bastion:

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F

Create Oracle Cloud file system

OCI File Storage is a fully managed elastic file system that accommodates growing application storage needs. Create a file system with a mount target in the private subnet using OCI File Storage service. An export option in the public subnet is provided to mount the file system on the bastion.

A screenshot of the Create File System window in the Console with fields filled in.

Sisense installation: Using cluster_config.yaml

After you complete the prerequisites, contact the Sisense team to get the most recent Linux archive file. To configure Sisense installation, use the cluster config.yaml file from the given archive. We update the k8s_nodes, remote_installation, linux_user, ssh_key, storage_type, nfs_server and nfs_path fields obtained from the OCI Console.

K8s_nodes:

A screenshot of the installation parameters for K8s nodes.

Remote_installation:

A screenshot of the code for running remote installation in pink.

Linux_user and ssh_key:

A screenshot of the changes for linux users and SSH key in pink.

Storage_type:

A screenshot of the change for storage type in pink.

Nfs_server and nfs_path:

A screenshot of the change for nfs server and nfs path in pink.

Copy the archive to the bastion host and change the permissions on sisense.sh file to 755 using chmod command.

chmod 755 ~/sisense-L8.2.6.503/sisense.sh

Also, copy the private key to the bastion host and nodes on the path that you specified in the cluster_config.yaml. If you’re using CentOS 7 with Sisense versions before v8.2, change the Python version to python3 in the sisense.sh file.

sed -i 's/python -m pip install --user virtualenv/python3 -m pip install --user virtualenv/g' ~/sisense-L8.2.6.503/sisense.sh
sed -i 's/python -m virtualenv sisense-installer/python3 -m virtualenv sisense-installer/g' ~/sisense-L8.2.6.503/sisense.sh
sed -i 's/sudo -H pip install/sudo -H pip3 install/g' ~/sisense-L8.2.6.503/sisense.sh

Run the sisense.sh script with cluster_config.yaml to install the Sisense application.

A screenshot of the code to install Sisense.

After the installation, we can see the following output to access the Sisense application.

A screenshot of the ouput for running Sisense in Oracle Cloud Shell.

Conclusion

In this post, we have seen how to deploy the Sisense application on the Oracle Cloud. In the next blog, we explore how to access the Sisense application, Kubernetes, and Grafana dashboards.

To learn more, explore our Architecture Center to quickly deploy solutions on Oracle Cloud Infrastructure using Terraform.

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.Captcha