BOA

Server Specifications Guide
Recommended hardware, software, and infrastructure requirements for deploying BOA (Business Operations Agent) by connected user count.
Version 2.2.1.1 — February 2026

1. Overview

This document provides recommended server specifications for deploying BOA based on your organization's expected number of concurrent users. Use these guidelines to ensure reliable performance, minimize latency, and plan for growth.

Architecture Summary

BOA is built on ASP.NET Core 8.0 with Blazor Server, running on IIS (Windows Server) with a SQL Server backend. Key architectural characteristics that affect sizing:

Deployment Models

Model Description Best For
Single Server BOA application and SQL Server on the same machine 1–25 users
Two-Tier Dedicated application server + dedicated database server 25–100 users
Scaled Load-balanced app servers + clustered/HA database 100+ users

2. Software Prerequisites

Component Requirement Notes
Operating System Windows Server 2019 or later Windows Server 2022 recommended
.NET Runtime ASP.NET Core 8.0 Hosting Bundle Required Included in installer
Web Server IIS 10.0+ Required With WebSocket Protocol enabled
Database SQL Server 2019 or later Express edition for ≤10 users; Standard for 10+
SQL Server Management Studio Latest version Recommended For administration
SSL Certificate Valid TLS certificate for HTTPS Recommended Required for production
Antivirus Exclusions Exclude IIS worker process and BOA app directory Recommended Prevents performance degradation
IIS Configuration: BOA uses Blazor Server which requires WebSocket support. Ensure the WebSocket Protocol feature is installed under IIS → Application Development Features. The application pool must be set to No Managed Code with AlwaysRunning start mode.

3. Recommended Hardware Specifications

The following tiers represent recommended minimum specifications. Actual requirements may vary based on usage patterns, data volume, number of RMM agents, and enabled integrations.

Starter

1 – 10 Concurrent Users

Ideal for small businesses with a single technician or small team. Single-server deployment with BOA and SQL Server on the same machine.

Component Minimum Recommended
CPU 2 cores / 2.4 GHz 4 cores / 3.0 GHz
RAM 4 GB 8 GB
Storage 40 GB SSD 80 GB SSD
Network 100 Mbps 1 Gbps
SQL Server SQL Server Express SQL Server Express
RMM Agents Up to 50 devices
Note: SQL Server Express is limited to 1 GB RAM usage, 10 GB database size, and 4 cores. This is sufficient for most small deployments. Monitor database size if storing many documents.

Small Business

11 – 25 Concurrent Users

Suitable for growing teams with multiple technicians, office staff, and active customer portal users. Single-server deployment is still viable, but a two-tier setup is recommended for better performance.

Component Minimum Recommended
CPU 4 cores / 2.8 GHz 6 cores / 3.2 GHz
RAM 8 GB 16 GB
Storage 80 GB SSD 160 GB NVMe SSD
Network 1 Gbps 1 Gbps
SQL Server SQL Server Express SQL Server Standard
RMM Agents Up to 200 devices
Note: At this tier, consider upgrading from SQL Server Express to Standard edition to remove the 10 GB database limit and 1 GB RAM cap. If budget is a concern, SQL Server Express remains functional as long as the database stays under 10 GB.

Mid-Market

26 – 75 Concurrent Users

Designed for organizations with dedicated IT departments, multiple service teams, and heavy portal usage. A two-tier deployment (separate app and database servers) is strongly recommended.

Application Server

Component Minimum Recommended
CPU 4 cores / 3.0 GHz 8 cores / 3.4 GHz
RAM 16 GB 32 GB
Storage 120 GB SSD 250 GB NVMe SSD
Network 1 Gbps 1 Gbps (dedicated)

Database Server

Component Minimum Recommended
CPU 4 cores / 3.0 GHz 8 cores / 3.4 GHz
RAM 16 GB 32 GB
Storage 200 GB SSD 500 GB NVMe SSD (RAID 1 or 10)
SQL Server SQL Server Standard SQL Server Standard
RMM Agents Up to 500 devices
Note: Separating the application and database servers provides significant performance gains at this scale. Blazor Server's in-memory circuit state benefits from dedicated application server RAM, while SQL Server benefits from having its own memory pool for query caching.

Enterprise

76 – 200+ Concurrent Users

For large organizations with high-volume operations, multiple offices, and extensive RMM deployments. Requires a scaled deployment with load balancing and database high availability.

Application Servers (2+ behind load balancer)

Component Per Server (Minimum) Per Server (Recommended)
CPU 8 cores / 3.2 GHz 12+ cores / 3.6 GHz
RAM 32 GB 64 GB
Storage 200 GB NVMe SSD 500 GB NVMe SSD
Network 1 Gbps (dedicated) 10 Gbps

Database Server

Component Minimum Recommended
CPU 8 cores / 3.2 GHz 16+ cores / 3.6 GHz
RAM 32 GB 64–128 GB
Storage 500 GB NVMe (RAID 10) 1+ TB NVMe SSD (RAID 10)
SQL Server SQL Server Standard SQL Server Enterprise (for HA/AG)
RMM Agents 500–2,000+ devices
Important: Blazor Server uses SignalR (WebSockets) which maintains sticky sessions. When deploying behind a load balancer, you must configure session affinity (sticky sessions) and a shared SignalR backplane (Redis or SQL Server) so circuits survive server failover. Document storage should use a shared file system (SMB share or cloud storage) accessible to all app servers.

4. Quick Sizing Reference

Specification 1–10 Users 11–25 Users 26–75 Users 76–200+ Users
Deployment Single Server Single or Two-Tier Two-Tier Scaled / HA
App Server CPU 4 cores 6 cores 8 cores 12+ cores × 2
App Server RAM 8 GB 16 GB 32 GB 64 GB × 2
DB Server CPU (shared) (shared or 4 cores) 8 cores 16+ cores
DB Server RAM (shared) (shared or 16 GB) 32 GB 64–128 GB
Total Storage 80 GB SSD 160 GB SSD 750 GB NVMe 2+ TB NVMe
SQL Edition Express Express / Standard Standard Standard / Enterprise
RMM Agents Up to 50 Up to 200 Up to 500 2,000+
Est. Monthly Cost* $20–$50 $80–$150 $250–$500 $800+

* Cloud hosting estimates based on typical cloud VM pricing (AWS, Azure, or similar). On-premises costs will vary based on hardware procurement and existing infrastructure.

5. Memory Budget Breakdown

Understanding how BOA uses memory helps with capacity planning. The following is an approximate per-component memory budget:

Component Base Usage Per User / Per Agent Notes
Windows Server OS 1.5–2 GB Base OS overhead
IIS + ASP.NET Core 200–400 MB Application startup, DI container, static assets
Blazor Server Circuits ~2–5 MB per active tab Each browser tab = 1 circuit. Includes component tree + SignalR state
RMM Agent Connections ~50 KB per agent Stateless REST; only heartbeat/alert traffic
SQL Server (same machine) 1–4 GB Scales with workload Express limited to 1 GB; Standard uses available RAM for caching
QuickBooks Sync ~50 MB Background sync process, runs periodically
Example: A deployment with 25 concurrent users (averaging 1.5 tabs each) and 100 RMM agents:

OS (2 GB) + IIS (0.3 GB) + Circuits (38 tabs × 4 MB = 0.15 GB) + Agents (100 × 50 KB ≈ 0.005 GB) + SQL (4 GB) = ~6.5 GB

With the recommended 16 GB for this tier, there is ample headroom for peak usage and SQL Server buffer pool growth.

6. Storage Planning

Disk Performance

SSD storage is strongly recommended for all tiers. BOA's performance is highly sensitive to disk I/O, particularly for:

Storage Growth Estimates

Data Type Typical Size Growth Rate
Core Database (accounts, invoices, service orders, inventory) 500 MB – 2 GB base ~100–500 MB / year per 10 active accounts
Document Attachments (invoices, photos, contracts, manuals) Varies widely ~2–10 GB / year (depends on upload volume)
RMM Event Data (alerts, service orders from agents) Minimal (alerts only) ~50–200 MB / year per 100 agents
SQL Server Logs (transaction logs) Depends on recovery model Configure regular log backups to prevent growth
Application Logs ~50 MB Configure log rotation; retained logs ~500 MB
Backup Storage: Plan for backup storage equal to 2–3× your database size. Daily full backups with hourly differential backups is recommended for production. Store backups on a separate physical drive or off-site location.

7. Network Requirements

Bandwidth

Traffic Type Bandwidth per Unit Notes
Blazor SignalR (per active user) ~50–200 Kbps sustained Higher during data-heavy pages (dashboards, grids)
RMM Agent Heartbeats (per device) < 1 Kbps average 60-second intervals, ~500 bytes per heartbeat
RMM Alerts ~2 KB per alert Infrequent; only on threshold breach
Document Upload/Download Varies Bursty; depends on file sizes
QuickBooks Sync ~100 Kbps during sync Periodic background process

Firewall & Port Configuration

Port Protocol Direction Purpose
443 TCP (HTTPS) Inbound BOA web application and API (includes WebSocket upgrade)
80 TCP (HTTP) Inbound HTTP → HTTPS redirect (optional)
1433 TCP Internal only SQL Server (between app server and DB server in two-tier setups)
WebSocket Support: If using a reverse proxy (NGINX, Apache, Cloudflare), ensure WebSocket pass-through is enabled. Blazor Server will not function without persistent WebSocket connections. Set proxy timeouts to at least 120 seconds for idle connections.

8. RMM Agent Scaling

The BOA RMM Agent communicates with the server via lightweight REST API calls. Each agent's impact on server resources is minimal, but large fleets require consideration:

Agents Connected Heartbeat Load Server Impact Additional RAM
1 – 50 ~1 req/sec Negligible < 10 MB
51 – 200 ~3 req/sec Minimal ~10–20 MB
201 – 500 ~8 req/sec Low ~25–50 MB
501 – 2,000 ~33 req/sec Moderate ~100–200 MB
Alert Storms: If many agents trigger alerts simultaneously (e.g., after a network outage recovery), the server will briefly handle a burst of alert + service order creation requests. The 30-minute cooldown per alert type per device prevents sustained overload.

9. SQL Server Edition Guide

Edition Max RAM Max DB Size Max Cores Cost Best For
Express 1 GB 10 GB 4 cores Free 1–10 users, small data sets
Standard 128 GB 524 PB 24 cores Licensed 11–150 users, production workloads
Enterprise OS Max 524 PB OS Max Premium 150+ users, HA / Always On
SQL Server Express Limitations: The 10 GB database size limit includes all data, indexes, and internal structures. Document attachments stored in the filesystem (not in SQL) do not count against this limit. Monitor your database size with: SELECT SUM(size * 8 / 1024) AS SizeMB FROM sys.database_files

10. High Availability & Disaster Recovery

Recommended HA Strategy by Tier

Tier Application HA Database HA Backup Strategy
Starter (1–10) None (single server) None Daily full backup to external drive or cloud
Small (11–25) None or cold standby Log shipping or manual failover Daily full + hourly differential
Mid-Market (26–75) Warm standby Always On Availability Groups (Basic) Full + differential + transaction log backups
Enterprise (76–200+) Active/Active load balanced Always On AG (multi-replica) Continuous log backups + geo-redundant

Recovery Objectives

RPO (Recovery Point Objective)

  • Starter: 24 hours
  • Small: 1–4 hours
  • Mid-Market: 15–60 minutes
  • Enterprise: Near-zero (synchronous replication)

RTO (Recovery Time Objective)

  • Starter: 4–8 hours
  • Small: 1–2 hours
  • Mid-Market: 15–30 minutes
  • Enterprise: < 5 minutes (automatic failover)

11. Cloud Hosting Reference

BOA runs on any Windows Server environment. The following are recommended cloud VM sizes for popular platforms:

Microsoft Azure

Tier App Server VM DB Server VM Or Azure SQL
Starter B2ms (2 vCPU, 8 GB) (same machine) Basic (5 DTU)
Small D2s v5 (2 vCPU, 8 GB) D4s v5 (4 vCPU, 16 GB) S2 (50 DTU)
Mid-Market D4s v5 (4 vCPU, 16 GB) E4s v5 (4 vCPU, 32 GB) S4 (200 DTU)
Enterprise D8s v5 (8 vCPU, 32 GB) × 2+ E8s v5 (8 vCPU, 64 GB) P4 (500 DTU) or Managed Instance

Amazon Web Services (AWS)

Tier App Server EC2 DB Server EC2 / RDS
Starter t3.large (2 vCPU, 8 GB) (same machine) or RDS db.t3.micro
Small m6i.large (2 vCPU, 8 GB) RDS db.m6i.large (2 vCPU, 8 GB)
Mid-Market m6i.xlarge (4 vCPU, 16 GB) RDS db.r6i.xlarge (4 vCPU, 32 GB)
Enterprise m6i.2xlarge (8 vCPU, 32 GB) × 2+ RDS db.r6i.2xlarge (8 vCPU, 64 GB) Multi-AZ

12. Pre-Deployment Checklist