Infrastructure Architecture
Overview
The infrastructure architecture of the StreamWise Video Platform is a key component of the platform's deployment, as it defines the structure of the platform's services and how they interact with each other.
The architecture of the infrastructure will vary depending on the type of deployment and the service provider used. We highlight below the main infrastructure components and their interactions.
Platform Components
The StreamWise Video Platform is composed of several services that work together to provide a complete video conferencing solution. The main components of the platform are:
Main Components
-
API Application: The API is the backend service that provides the necessary functionality for the web application to work. It handles user authentication, room management, and other platform features.
-
Database: The database is used to store platform data, such as user accounts, room information, and chat messages. It provides a persistent storage solution for the platform.
-
Cache Server: The cache server is used to store temporary data that needs to be accessed quickly. It provides a fast storage solution for frequently accessed data.
-
Proxy Server: The proxy server is used to forward requests from users to the appropriate platform services. It provides a way to route traffic between users and the platform services.
Optional Components
- Storage Server: The storage server is used to store files and media used by the platform. It provides a way to manage and access platform data, such as recordings and chat messages.
- Backup Server: The backup server is used to create and store backups of the platform data. It provides a way to recover data in case of data loss or corruption.
- Load Balancer: The load balancer is used to distribute incoming traffic across multiple instances of the platform services. It helps to improve the performance and reliability of the platform.
Signaling Server: The signaling server is responsible for establishing and maintaining connections between users in a video conference. It handles signaling messages, such as join, leave, and offer/answer messages.Media Server: The media server is responsible for handling the audio and video streams in a video conference. It processes the media streams and relays them between users in the conference.Recording Server: The recording server is responsible for recording video conferences. It captures the audio and video streams in a conference and saves them to a file for later playback.Notification Server: The notification server is used to send notifications to users of the platform. It provides a way to inform users of events, such as new messages or conference invitations.
Third Part Components
- Monitoring Service: The monitoring server is used to monitor the health and performance of the platform services. It provides real-time metrics and alerts to help identify and resolve issues.
- Logging Service: The logging server is used to collect and store logs generated by the platform services. It provides a centralized log management solution for the platform.
Examples
The following examples illustrate different infrastructure architectures for the StreamWise Video Platform using Docker containers.
Scalelite with BigBlueButton provider
The following diagram exemplifies the infrastructure architecture of the platform in Docker containers using Scalelite as the main service provider, through load balancing with Scalelite and monitoring with Prometheus, Grafana and Sentry.
High resolution image here
Download PDF version here