Server Sizing Requirements

Below are the sizing requirements for either BYOC or On-Premises installations of PoliteMail; hosting is taken care of by PoliteMail for SaaS deployments.

BYOC Sizing

In PoliteMail, you can deploy a “bring your own cloud” infrastructure using Microsoft Azure (AWS application servers with a SQL instance will also work). Compared to traditional on-premises deployment, BYOC offers a more streamlined setup process using cloud services.

The information below lists your hardware requirements based on the number of employees:


Up to 10k Employees

Firewall / Load Balancing 1x Regional WAF (optional)
Application Servers Option 1 (Recommended): Std App Service Plan S2
Option 2: Standard _D2_v5 (Azure) or m5n.large (AWS)
Database Azure SQL - 2 vCores  (or AWS RDS equivalent)
SMTP Server Runs on Primary Node

10k to 20k Employees

Firewall / Load Balancing 1x Regional WAF (optional)
Application Servers Option 1 (Recommended): Std App Service Plan S3
Option 2: 1x Standard _D2ads_v5 (Azure) or m5zn.large (AWS)
Database Azure SQL - 2 vCores (or AWS RDS equivalent)
SMTP Server Runs on Primary Node

20k to 30k Employees

Firewall / Load Balancing 1x Regional WAF (Application Gateway)
Application Servers Option 1 (Recommended): Std App Service Plan S3 w/Scale out 2 instances
Option 2: 2x Standard _D2_v5 (Azure) or m5n.large (AWS)
Database Option 1 (Recommended): Azure SQL – 4 vCores, 30GB memory
Option 2: Standard D4as_v5 (Azure) or mzn.xlarge (AWS) + SQL Server Web license
                  4 x Premium SSD LRS (128 GB, 128 GB, 64 GB, 256 GB) or AWS RDS equivalent
SMTP Server Runs on Primary Node

30k to 50k Employees

Firewall / Load Balancing 1x Regional WAF (Application Gateway)
Application Servers Option 1 (Recommended): Std App Service Plan S3 w/Scale out 3 instances
Option 2: 2-3x Standard _D2_v5 (Azure) or m5n.large (AWS)
Database Option 1 (Recommended): Azure SQL – 6 vCores, 40GB memory
Option 2: Standard D4as_v5 (Azure) or mzn.xlarge (AWS)  + SQL Server Web license
                  4 x Premium SSD LRS (128 GB, 128 GB, 64 GB, 256 GB) or AWS RDS equivalent
SMTP Server VM deployments only: 1x Standard D2as_v4, 1 x Premium SSD LRS (128 GB)

50k to 100k Employees

Firewall / Load Balancing 1x Regional WAF (Application Gateway)
Application Servers Option 1 (Recommended): Std App Service Plan S3 w/Scale out 4 instances
Option 2: 4x Standard _D2_v5 (Azure) or m5n.large (AWS)
Database Option 1 (Recommended): Azure SQL – 6 vCores, 32GB memory
Option 2: Standard D4as_v5 (Azure) or mzn.xlarge (AWS)  + SQL Server Web license
                  4 x Premium SSD LRS (256 GB, 256 GB, 64 GB, 512 GB) or AWS RDS equivalent
SMTP Server VM deployments only: 1x Standard D2as_v4, 1 x Premium SSD LRS (128 GB)

100k – 200k Employees

Firewall / Load Balancing 1x Regional WAF (Application Gateway)
Application Servers Option 1 (Recommended): Std App Service Plan S3 w/Scale out 6 instances
Option 2: 4-5x Standard _D2_v5 (Azure) or m5n.large (AWS)
Database Option 1 (Recommended): Azure SQL – 8 vCores, 60GB memory
Option 2: Standard D4as_v5 (Azure) or mzn.xlarge (AWS) + SQL Server Web license
                  4 x Premium SSD LRS (256 GB, 256 GB, 64 GB, 512 GB) or AWS RDS equivalent
SMTP Server VM deployments only: 1x Standard D2as_v4, 1 x Premium SSD LRS (128 GB)

200k+ Employees

Firewall / Load Balancing 1x Regional WAF (Application Gateway)
Application Servers Option 1 (Recommended): Std App Service Plan S3 w/Scale out 10 instances
Option 2: 6x Standard _D2_v5 (Azure) or m5n.large (AWS)
Database Option 1 (Recommended): Azure SQL – 12 vCores, 80GB memory
Option 2: Standard D4as_v5 (Azure) or mzn.xlarge (AWS) + SQL Server Web license
                  4 x Premium SSD LRS (512 GB, 512 GB, 128 GB, 1 TB) or AWS RDS equivalent
SMTP Server VM deployments only: 1x Standard D2as_v4, 1 x Premium SSD LRS (256GB)

On-Premise Sizing

PoliteMail processes brief bursts of small, high-volume transactions.  The server sizing is primarily based on distribution size, and volume of recipient email being processed and measured.  A high-performance SQL Server environment is required for all 30K+ implementations.  Server sizing requirements (RAM, storage) increase with size of distributions. 

Note that M365 is required if you will be using PMUA on-premises as PMUA is deployed via Manifest.

Server Configuration Recommendations

Number of Employees Recommended Server Configuration SQL Server RAM / Storage
5k - 15k Single App Server 2C 8GB 100GB 16GB / 100GB (or attached to cluster)
Size data according to SQL Sizing Table below.
15k - 30k Dual App Servers, NLB 2C 8GB 100GB 24GB / 150GB (or attached to cluster)
Size data according to SQL Sizing Table below.
30k - 100k Dual App Servers, NLB 2C 16GB 100GB
 + Separate SMTP Server 4C 32GB 250GB
32GB / 250GB (or attached to cluster)
Size data according to SQL Sizing Table below.
>100k QUAD App Servers NLB 2C 16GB 100GB
 + Separate SMTP Server 4C 32GB 250GB
 + Separate Archive Server 2C 8GB 100GB
64GB / 500GB (or attached to cluster)
Size data according to SQL Sizing Table below.


SQL Sizing

Type Purpose Specification
Application Server This is where the application lives and is hosted.  Networking traffic will flow through here. OS Drive: 100GB SSD
CPU: Dual Core
RAM: 4GB
SQL Server If opting for a dedicated SQL Server, SQL manages the databases and should have proper maintenance plans that your organization manages.
Minimum SQL version 2018.
Required collation mode SQL_Latin1_General_CP1_CI_AS.
OS Drive: 100GB SSD
Data Drive: 100GB SSD
Log Drive: 100GB SSD
Backup Drive: 200GB HDD
CPU and RAM covered per unique recipient count above.
SMTP Server This optional system will house IIS6 SMTP for mailflow, as well as the PoliteMail services. OS Drive: 100GB SSD
Mailflow Drive: 100GB SSD; size should be determined by the maximum size of your messages times the total possible number of recipients.
CPU: Dual Core
RAM: 2GB
Combining In the case of mixing systems onto a single server, such as APP/SMTP or APP/SMTP/SQL, the drive specs must be followed.  Hardware specs for SMTP may be ignored.
Additional 4GB RAM if merging SQL into an application instance.