Skip to content

Hosting requirements

AP can be deployed on-premise or in the AWS and Azure public clouds. It can be deployed entirely on a single virtual machine (VM), or, by deploying the various services on separate, individual VMs, such as the AP software services, ClickHouse data warehouse and Apache Superset data exploration tool. For an on-premise deployment on a single VM, the following minimum requirements apply.

Hardware

Minimum hardware specifications are described below.

  • Virtual machine or physical server
  • 32 GB RAM
  • 16 CPU
  • 500 GB SSD storage

Operating system

  • Linux operating system
  • Ubuntu LTS version is strongly recommended

Network

  • 300 Kbps network bandwidth per user
  • 1 Gbps network transfer between servers (if more than one)

Components

The following aspects are required for a production-grade installation.

  • Internet connection with public IP address
  • Remote SSH server access
  • Terminal root access
  • Domain name
  • SSL certificate
  • SMTP email server
  • Backup strategy for local and off-site backups
  • Monitoring of uptime and alerting for downtime
  • Vulnerability scan and security hardening

Considerations

  • A fast SSD is required, and NVMe is preferred for the ClickHouse data warehouse, with read/write throughput of 250 MB/s or more.
  • The storage requirements depend on the data size. Allocate 2x to 3x the size of the raw data.
  • ClickHouse scales well with hardware resources, so the more provisioned memory and CPU the better.
  • All middleware and services can either be installed on a single VM, or individually on separate VMs.

High-availability setup

The following specifications are recommended for large-scale workloads to ensure high availability and high processing throughput. The various AP middleware and services will be deployed on multiple virtual machines within a private network.

VM Services RAM CPU Storage
1 AP backend services, nginx, PostgreSQL, redis 16 GB 8 256 GB
2 ClickHouse 32 GB 16 512 GB
3 Apache Superset 8 GB 2 64 GB
4 Python, pyserve, R, RServe 4 GB 2 32 GB