Components
WebStream ACP is made of a small set of cooperating components. On a single-server proof of concept they all run on one instance; in production they can be separated and scaled independently.
Core components
| Component | Role |
|---|---|
| Gateway | Terminates browser connections, authenticates users, and routes sessions. Stateless and horizontally scalable. |
| Session host | Runs the Windows application and enforces policy. The unit of compute that scales with concurrent sessions. |
| Streamer | The per-session process that captures the application and streams it to the browser. |
| Broker | Allocates sessions to hosts and tracks session state. |
| IAM / control plane | Stores organizations, users, groups, applications, workspaces, and policies, and resolves entitlements. |
| Metrics Engine | Collects session, activity, and usage data that powers Operations and Reports. |
| Admin panel | The management console at /admin. See Admin Console. |
| Database | PostgreSQL backing the IAM, metrics, and activity data in multi-instance deployments. |
Service modes in detail
Every service is the same webstream.exe binary launched in a different mode. The Services page explains the modes and when to co-locate or dedicate instances to each; the per-service pages detail their function, ports, message contracts, and configuration:
- Gateway — SSL termination, load balancing, session routing, built-in IAM.
- Session Host / Backend — RDP session pool, streamer launch, gateway registration.
- Streamer — per-session capture, input, audio, and policy enforcement.
- Metrics Engine — telemetry ingestion, activity audit, usage metering.
- Access Management — the multi-tenant IAM control plane.
Persistence
State lives in three PostgreSQL databases with clear service ownership. See Persistence Layer — PostgreSQL for the schema and connection model, and Migrating to RDS / Aurora for moving to a managed database.
Single server versus scaled
For evaluation, every component runs on one instance with a local database. As you grow, you separate the stateless gateway from session hosts, move to a managed PostgreSQL database for consistency, and let an auto-scaling group manage host capacity. See AWS Deployment Patterns.