Enterprise Deployment Guide for Azure

Azure Enterprise Deployment Guide for RagaAI Catalyst

Deploying RagaAI Catalyst on your Azure infrastructure ensures that your data remains secure and within your control. Follow these steps to set up RagaAI Catalyst in your Azure account.

Provision Base Infrastructure

To get started quickly, you can use the Terraform Templates and scripts provided by the Raga team:

Pre-Requirements

  • Set Up Azure User: The user running the installation should have Contributor and User Access Administrator roles. Alternatively, create a dedicated custom role with specific permissions.

  • Resource Provider Quotas: Ensure that you have sufficient quota for the Standard_D8a_v4 and Standard_D8pls_v5 VMs, each with minimum 16 available vCPUs, in your target region for AKS Node Pools.

  • Ensure that your system supports Bash commands

  • The following CLI tools should be installed:

Azure Login using CLI

Option A: Using az login
az login

This will open a browser window for authentication.

Option B: Using Service Principal
export AZURE_CLIENT_ID=your-client-id
export AZURE_CLIENT_SECRET=your-client-secret
export AZURE_TENANT_ID=your-tenant-id
export AZURE_SUBSCRIPTION_ID=your-subscription-id

Validate Azure CLI Login:

az account show

Execute the following command to Provision the Environment:

Extract the TAR file provided by the RagaAI team:

tar -zxvf raga-catalyst-terraform-azure-<version>.tar

azure-infra.sh is the cloud provisioning script. This uses python, azure cli and terraform to provision the base infra.

bash azure-infra.sh --location=<location> --customer-name=<customer-name>

Replace placeholders:

  • <location>: Azure region (e.g., eastus)

  • <customer-name>: This will be prifix for all azure resources

  • <docker-hub-pat>: Provided by RagaAI team

List of Azure Resources Provisioned by RagaAI Terraform Infrastructure

Note: You can also set up your cloud environment using the following requirements as an Alternative to the RagaAI Terraform templates

Storage Account

Create Storage Account with Blob Container and configure CORS with the following settings:

  • Allowed Methods: GET, PUT

  • Allowed Origins: * (all origins)

  • Allowed Headers: * (all headers)

  • Exposed Headers: none

  • Max Age: 3000 seconds

AKS Cluster
  • Kubernetes v1.24+ (Recommend containerd runtime)

  • Ensure sufficient quota for compute resources

  • Node Pool Configuration

    Node Pool

    VM Type

    vCPU & Memory

    Min Size

    OS Disk

    Architecture

    Taints

    Labels

    AMD Node Group

    Standard_D8a_v4

    8vCPU & 32GB

    2 nodes

    64 GB

    x86_64

    N/A

    N/A

    ARM Node Group

    Standard_D8pls_v5

    8vCPU & 16GB

    2 nodes

    64 GB

    ARM64

    architecture=arm:NoSchedule

    architecture=arm, nodetype=arm-node

  • Cluster Add-ons

    • Azure Disk CSI Driver

  • Cluster Autoscaler

    • Enable cluster autoscaler for node pools

Azure Database for MySQL
  • SKU: General Purpose

  • Compute: 2 vCore

  • Memory: 8 GiB RAM

  • Storage: 50 GB

  • Version: MySQL 8.0

Virtual Machine
  • Create a VM in a public subnet to act as a bastion/jump box

    • Size: Standard_B1s (1 vCPU and 1 GB Memory)

    • OS Disk: 8 GB

  • Network Security Group for bastion host

    • Inbound Rules:

      • Allow SSH (port 22)

    • Outbound Rules:

      • Allow all outbound within VNet

  • Network Security Group for internal load balancer

    • Inbound Rules:

      • Allow HTTP (port 80) from VNet

      • Allow HTTPS (port 443) from VNet

    • Outbound Rules:

      • Allow all outbound within VNet

Virtual Network
  • Virtual Network with address space

  • 2 Public and 2 private subnets

  • Route table for private subnets

  • NAT Gateway for private subnet outbound

Install Raga Catalyst

Install Raga Catalyst:

Download and Extract the TAR file provided by the RagaAI team:

curl -o $HOME/raga-catalyst-azure-deploy-<version>.tar "<URL>"
tar -zxvf $HOME/raga-catalyst-azure-deploy-<version>.tar

raga-catalyst-azure-deploy.sh is the Catayst deployment script.

Note: Update the .env file with credentials.

bash raga-catalyst-azure-deploy.sh --location=<location> --customer-name=<customer-name> --release-tag=<release-tag>
  • <location>: Azure region

  • <customer-name>: This will be prifix for all azure resources

  • <release-tag>: Get the release version from Raga team

Access Raga Catalyst

Access Catalyst UI with the private load balancer IP/DNS

  • Portal: http://<Load_Balancer_IP>

  • API: http://<Load_Balancer_IP>/api


For any issues during the deployment process or additional assistance, please contact our support team at [email protected].

Last updated

Was this helpful?