Deployment Architecture

Scalable deployment patterns for BizFirstAI platform on cloud providers.

Reference Deployment Architecture

graph TB subgraph CDN["CDN & Static Content"] S3["AWS S3 / CloudFront
Vite Build Output
Minified JS/CSS"] end subgraph LB["Load Balancer"] LBL["AWS ALB / Azure LB
SSL Termination
Session Affinity"] end subgraph API["API Servers (ASP.NET)"] API1["API Instance 1
ProcessEngine
ProcessStudio"] API2["API Instance 2
ProcessEngine
ProcessStudio"] API3["API Instance N
Load Balanced"] end subgraph RT["Real-time Hub"] Hub["SignalR Hub
Sticky Sessions
Redis Backplane"] end subgraph Services["Background Services"] Job["Background Jobs
Execution Cleanup
Archive/Purge"] end subgraph Data["Data Tier"] DB1["Primary Database
SQL Server / PostgreSQL
HA/Failover"] Cache["Redis Cache
Session Store
Query Cache"] end subgraph Monitor["Monitoring & Logging"] APM["Application Insights
Performance Metrics"] Log["Log Aggregation
ELK / Datadog"] Alert["Alerts & Dashboards"] end Browser["Web Browser
React App"] -->|HTTPS| CDN Browser -->|WebSocket/HTTP| LBL LBL -->|Route| API1 LBL -->|Route| API2 LBL -->|Route| API3 API1 -->|SignalR Hub| Hub API2 -->|SignalR Hub| Hub API3 -->|SignalR Hub| Hub Hub -->|Cache Sessions| Cache API1 -->|EF Core ORM| DB1 API2 -->|EF Core ORM| DB1 API3 -->|EF Core ORM| DB1 Job -->|Cleanup| DB1 API1 -->|Telemetry| APM API1 -->|Logs| Log APM -->|Alert| Alert Log -->|Alert| Alert style CDN fill:#238636,stroke:#3fb950,color:#c9d1d9 style LB fill:#238636,stroke:#3fb950,color:#c9d1d9 style API fill:#238636,stroke:#3fb950,color:#c9d1d9 style RT fill:#238636,stroke:#3fb950,color:#c9d1d9 style Services fill:#238636,stroke:#3fb950,color:#c9d1d9 style Data fill:#1158c7,stroke:#58a6ff,color:#c9d1d9 style Monitor fill:#9e6a03,stroke:#fb8500,color:#c9d1d9

Deployment Options

Cloud (Recommended)

Providers: AWS, Azure, GCP

  • ✅ Auto-scaling (App Service, ECS, GKE)
  • ✅ Managed databases (RDS, Azure SQL)
  • ✅ CDN for static assets
  • ✅ Built-in monitoring & logging
  • ✅ Multi-region support
  • ✅ Pay-per-use pricing

On-Premise

Options: Docker, Kubernetes

  • ✅ Full control of infrastructure
  • ✅ Data residency compliance
  • ✅ Private network deployment
  • ✅ Custom hardware requirements
  • ⚠️ Requires operational overhead
  • ⚠️ Manual scaling management

Docker Container Strategy

Container Images

API Container
Base: mcr.microsoft.com/dotnet/aspnet:9.0
Size: ~200MB
Tags: latest, v1.0.0, rc-*

Frontend Container
Base: nginx:latest
Size: ~50MB
Content: Vite optimized build

Registry
Azure Container Registry
or Docker Hub / ECR

Kubernetes Deployment

Namespaces
production, staging, development

Deployments
API (3-10 replicas)
SignalR Hub (2-5 replicas)
Jobs (1-3 instances)

Services
ClusterIP (internal)
LoadBalancer (external)

Scaling Strategy

Horizontal Scaling
Auto-scaling Rules

Scale up when CPU > 70% or Memory > 80%

Scale down when CPU < 30% for 5+ minutes

Load Balancing

Round-robin across API instances

Sticky sessions for SignalR

Session Affinity

Redis backplane for SignalR

Enables cross-instance communication

Database Scaling
Read Replicas

Route read queries to replicas

Reduce load on primary

Caching Layer

Redis for session + query cache

TTL: 15 mins for session, 5 mins for queries

Connection Pooling

Min: 10, Max: 100 connections

EF Core manages automatically

Typical Capacity & Costs

Scenario Concurrent Workflows API Instances Database Tier Est. Monthly Cost
Small (Dev/Test) 10-50 1-2 Single instance (shared) $100-200
Medium (Production) 100-500 3-5 Standard (HA) $500-1,500
Large (Enterprise) 1,000-10,000 10-20 Premium (Multi-region) $2,000-5,000