Skip to main content

AtScale System Requirements

System requirements

Note

System requirements are subjective and depend on several factors, including your data warehouse size, the number of clients you have, and the number of models you have deployed. As such, the recommendations below may need to be altered to support your specific use case.

The following table provides an overview of the system requirements for running AtScale in different types of environments.

PropertyBare Minimum - POCMinimum - Testing/DevelopmentRecommended - Production
Node count11-23
CPU16 cores32 cores48 cores
RAM64 GB128 GB192 GB
StorageLocalLocal and regionalRegional
Important

It is important for your machines to be running AMD64 - x86_64 architecture.

The following sections describe each type of environment and their requirements.

Bare minimum system requirements for a POC deployment

For a basic proof of concept, or to try out the interface and create basic models, you can run an AtScale deployment on a system with 16 CPU cores and 64 GB of RAM. This will support a workload from a small database up to 100 GB. Note, however, that you will be limited in what and how much you can do with AtScale with these resources.

Minimum system requirements for a stable development environment

To run AtScale and maintain a stable environment, even under some load, you should double the bare minimum requirements: 32 CPU cores and 128 GB of RAM. This will allow you to run workloads with a team of 100-250 people and databases up to 1 TB.

To run AtScale in production, your cluster needs to be set up with more resiliency. This requires more than just a single machine.

The minimum option for production is a three-node cluster, each with 16 CPU cores and 64 GB of RAM. This should support 500 people, depending on your workload and data warehouses.

Kubernetes requirements

Running AtScale on Kubernetes has additional requirements. The following sections provide example cluster setups on different platforms, given the system requirements described above.

AWS - EKS

Bare Minimum - POCMinimum - Testing/DevelopmentRecommended - Production
Instance Typesm6a.4xlarge, c8g.4xlargem6a.4xlarge, m6a.8xlarge, c8g.4xlarge, c8g.8xlargem6a.4xlarge, m6a.8xlarge, m6a.12xlarge
StorageEBSEBS and EFSEFS - Elastic

Azure - AKS

Bare Minimum - POCMinimum - Testing/DevelopmentRecommended - Production
Instance TypesStandard_D16s_v5Standard_D16s_v5, Standard_D32_v5, Standard_F16as_v6Standard_D32_v5, Standard_F16as_v6
StorageLRS - Premium SSD and Premium SSD v2LRS and ZRSZRS

Google Cloud - GKE

Bare Minimum - POCMinimum - Testing/DevelopmentRecommended - Production
Instance Typesc4a-standard-16c4a-standard-16, c2d-standard-16c4a-standard-16, c2d-standard-16
Storagepd-balanced (Zonal)pd-balanced, pd-ssd (Zonal and Regional)pd-ssd, pd-extreme (Regional)

PostgreSQL requirements

AtScale comes with PostgreSQL to provide high availability. This PostgreSQL deployment requires your disks to be fast enough for replication to work properly on the cluster. A good rule of thumb is to have instances that support disks with 5000 IOPS or better. Additionally, it is recommended to have allowVolumeExpansion: true enabled in your storage class.

External PostgreSQL requirements

If you are using an external database, make sure you set it up in HA mode so you have failover. It is also recommended that you enable automatic storage expansion.

The following sections provide example configurations for different platforms.

AWS - RDS

  1. Database type

    • Amazon RDS for PostgreSQL
    • Engine version: PostgreSQL (e.g., 16.9)
    • Cluster configuration: Multi-AZ DB Cluster (not just Multi-AZ standby)
  2. Instance configuration

    • Instance class: db.r6gd.xlarge (4 vCPUs, 32 GiB memory, local NVMe storage) or larger

    • Cluster size: 3 instances:

      • 1 writer (primary)
      • 2 read replicas (in different Availability Zones (AZs))
  3. High availability

    • Multi-AZ DB Cluster, not legacy Multi-AZ standby.
    • Provides automatic failover across AZs.
  4. Read replicas

    • Synchronous or asynchronous replicas (based on config).
    • Placed in separate AZs for disaster tolerance and read scaling.
  5. Connection proxy (RDS Proxy)

    • Set up an Amazon RDS Proxy that:

      • Acts as a connection pooler.
      • Automatically handles connection reuse and failover events.

Azure SQL for PostgreSQL

  1. Server type

    • Azure Database for PostgreSQL - Flexible Server
    • SKU: Memory Optimized tier (e.g., Standard_E4ds_v4)
  2. High availability

    • Enable Zone Redundant High Availability (HA). This provides automatic failover with a standby replica in another zone.
  3. Read replicas

    • Add read replicas (up to 5).
    • These can be used for read-scaling; however, Azure doesn’t automatically split read/write traffic.
  4. Zone redundancy (ZRS) for storage

    • Azure Flexible Server offers Zone-Redundant High Availability (HA) mode.
    • Storage itself is managed as Premium SSD.

Google Cloud: Cloud SQL for PostgreSQL

  1. Instance type

    • Cloud SQL for PostgreSQL
    • Tier: e.g., db-perf-optimized-N-4 (4 vCPU, 32GB RAM) or larger
  2. High availability

    • Enable Multiple zones (High Availability). This provides a standby instance in a separate zone with automatic failover.
  3. SSD storage

    • Enable automatic storage increases. This ensures you never run out of storage.

Ingress Ports

The AtScale services require the following ports. These should be reserved for use by AtScale alone.

PortServicePathHandled byPurpose
443Engine/engineEngineInternal
443XMLA/engine/xmlaEngineMicrosoft Excel, Microsoft Power BI
443API/apiAPIAPI / Public API
443Web UI/WebUIUI
443Observability Dashboarding/monitoringObservability DashboardingMonitoring, dashboarding
443Identity Broker/authIdentity BrokerAuthentication / authorization
443Object Store (optional)/minioObject StoreS3
443Secrets Broker (optional)/vaultSecrets BrokerSecret Storage
11111Thrift (optional)EngineThrift protocol for BI tools
15432Pgwire (SQL) InterfaceEngineSQL Protocol for BI Tools

Egress URIs

AtScale uses the following URIs for outbound data.

URIPurpose
license-prod-us.atscaleservices.comLicense validation checks
billing-prod-us.atscaleservices.comUsage data