Last updated: February 2026
PERTI operates on Microsoft Azure infrastructure across the Central US and East US regions. Below is a transparent breakdown of our actual operational costs, sourced directly from Azure Cost Management.
| Resource | Tier/SKU | Purpose | Cost/Month |
|---|---|---|---|
| vatcscc App Service |
P1v2 3.5 GB RAM, 1 vCPU |
Main PERTI website, PHP-FPM workers, 14 background daemons | ~$80 |
| vatcscc-atfm-engine App Service |
P1v2 Shared plan |
ATFM processing engine | Included |
Hosted on
| Databases | Tier/SKU | Purpose | Cost/Month |
|---|---|---|---|
| VATSIM_ADL | Hyperscale Serverless Gen5, 16 vCores, min 3 |
Active flight data, real-time positions, parsed routes, trajectory, ETAs, boundary crossings, statistics | ~$3,200* |
| VATSIM_TMI | Basic 5 DTU, 2 GB |
Traffic management initiatives, NTML, advisories, GDT slots, reroutes | ~$5 |
| SWIM_API | Basic 5 DTU, 2 GB |
SWIM API keys, flight snapshots, audit log | ~$5 |
| VATSIM_REF | Basic 5 DTU, 2 GB |
Reference data (airports, airways, fixes, procedures) | ~$5 |
| VATSIM_STATS | GP Serverless Gen5, 1 vCore (paused) |
Statistics & analytics (currently paused) | ~$0 |
| Databases | Tier/SKU | Purpose | Cost/Month |
|---|---|---|---|
| vatcscc-perti MySQL 8.0 |
General Purpose D2ds_v4, 20 GB |
Main web app (plans, users, configs, staffing, reviews) | ~$125 |
| vatcscc-gis PostgreSQL 16 + PostGIS |
Burstable B2s, 32 GB |
Spatial queries (boundary intersection, route geometry, fix lookups) | ~$55 |
| VATSIM_ADL Hyperscale Compute (~16 vCores avg) | ~$2,900 |
| VATSIM_ADL Hyperscale Storage + HA Replica | ~$300 |
| MySQL (General Purpose D2ds_v4) | ~$125 |
| App Service (P1v2) | ~$80 |
| PostgreSQL GIS (Burstable B2s) | ~$55 |
| Basic SQL Databases (3x) | ~$15 |
| Storage Accounts (4x) | ~$10 |
| Other (Data Factory, Logic Apps) | ~$5 |
| Monthly Total | ~$3,500 /month |
| Resource | Type | Purpose | Cost/Month |
|---|---|---|---|
| vatsimdatastorage | Storage (LRS) | General data storage, ADL archives | ~$3 |
| pertiadlarchive | Storage (LRS) | Trajectory archival, compressed flight history | ~$1 |
| vatsimadlarchive | Storage (RA-GRS) | Geo-redundant long-term archival | <$1 |
| vatsim-adl-history | Azure Data Factory | Historical data pipeline orchestration | <$1 |
| Deployment Slots | App Service | Staging & backup slots for zero-downtime deploys | Included |
| Month | SQL Database | App Service | MySQL | Other | Total |
|---|---|---|---|---|---|
| Oct 2025 | $536 | $82 | $15 | $51 | $684 |
| Nov 2025 | $524 | $80 | $15 | $52 | $670 |
| Dec 2025 | $2,020 | $83 | $15 | $54 | $2,172 |
| Jan 2026 | $3,479 | $85 | $26 | $50 | $3,640 |
Our infrastructure uses Azure Hyperscale Serverless databases that automatically scale with demand. The App Service layer can be scaled independently.
VATSIM_ADL uses Hyperscale Serverless with automatic scaling:
No action needed - databases automatically handle traffic spikes during CTP, FNO, and other events.
P1v2 App Service with 40 PHP-FPM workers handles normal VATSIM traffic. Estimated capacity: 40-80 requests/second at origin.
Solution: Add Azure CDN for API caching (~$5-10/month)
Benefit: 80-90% of requests served from edge, reducing origin load
Solution: CDN + App Service autoscaling (1-3 instances)
Benefit: Reserved Instance discount (30-50% savings on compute)
Solution: CDN + Upgrade to P2v2 (7GB, 2 vCPU) + Autoscaling (1-5 instances)
Note: Database layer already handles this scale via Hyperscale auto-scaling
| Configuration | Est. Requests/Second | Notes |
|---|---|---|
| Origin only (current) | ~40-80 | Direct hits to App Service |
| With CDN (85% hit rate) | ~300-500 | Most requests served from edge |
| With CDN (95% hit rate) | ~800-1600 | Optimized caching rules |