This document describes the architecture of the CameraInspect system, detailing its components, their interactions, and the underlying technologies.
CameraInspect is built on a modern, microservices-based architecture that provides scalability, resilience, and flexibility. The system is designed to handle environments ranging from small installations with a few cameras to enterprise deployments with thousands of devices across multiple locations.
The following diagram illustrates the high-level architecture of CameraInspect:
graph TB
UI[UI Layer] --> |API Requests| API[API Gateway]
API --> |Routes Requests| MS1[Diagnostics Service]
API --> |Routes Requests| MS2[Configuration Service]
API --> |Routes Requests| MS3[Monitoring Service]
API --> |Routes Requests| MS4[Reporting Service]
API --> |Routes Requests| MS5[User Management]
MS1 --> |Reads/Writes| DB[(Database Cluster)]
MS2 --> |Reads/Writes| DB
MS3 --> |Reads/Writes| DB
MS4 --> |Reads/Writes| DB
MS5 --> |Reads/Writes| DB
MS1 --> |Events| MQ[Message Queue]
MS2 --> |Events| MQ
MS3 --> |Events| MQ
MS4 --> |Events| MQ
WS[WebSocket Server] --> |Subscribes| MQ
UI --> |Real-time Updates| WS
MS1 --> |Integrations| EXT[External Systems]
MS2 --> |Integrations| EXT
MS3 --> |Integrations| EXT
AGENT[Device Agents] --> |Device Data| API
AGENT --> |Direct Device Communication| DEVICES[Cameras & Network Devices]
CameraInspect supports multiple deployment models to meet various customer requirements:
graph TB
CLIENT[Client Network] --> |Secure Connection| CLOUD[CameraInspect Cloud]
AGENT[Device Agents] --> |Device Data| CLOUD
AGENT --> |Direct Device Communication| DEVICES[Cameras & Network Devices]
CLOUD --> |Notifications, Dashboard| CLIENT
graph TB
CORE[CameraInspect Core] --> |Local Network| DEVICES[Cameras & Network Devices]
CORE --> |Management| DASH[Dashboard & Reporting]
ADMIN[Admin Workstation] --> |Configuration| CORE
OPT[Optional Cloud Services] -.-> |Backup, Advanced Analytics| CORE
graph TB
LOCAL[Local Components] --> |Device Management| DEVICES[Cameras & Network Devices]
LOCAL --> |Secure Connection| CLOUD[Cloud Components]
CLOUD --> |Advanced Services| LOCAL
LOCAL --> |Critical Data| DB[(Local Database)]
CLOUD --> |Analytics Data| CLOUD_DB[(Cloud Database)]
Security is a fundamental aspect of the CameraInspect architecture, implemented at multiple layers:
The system employs a multi-tiered storage architecture to optimize for different access patterns:
```mermaid graph TB HOT[Hot Storage] –> |Aging| WARM[Warm Storage] WARM –> |Aging| COLD[Cold Storage]
HOT --> |Recent Data| QUERY[Query Service]
WARM --> |Historical Data| QUERY
COLD --> |Archive| BACKUP[Backup Service]
HOT --> |Fast Access| DASH[Dashboard]