Difference between revisions of "Template talk:Server Side Software Architecture"

From IVS Wiki
Jump to: navigation, search
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Section | title = <h1>Server Side Software Architecture</h1> | content =  
+
{{Article - Manual | content =  
  
<div class="floating_card">Our software is built on the standard LEMP (Linux, Nginx, MySQL, and PHP) architecture. The software has been designed to work on the latest LTS version of Ubuntu Linux (Server Edition). There are 3 main components to the software application:</div>
+
<h1>Server Side Software Architecture</h1>
 +
Our server-side software is built on a standard <b>LEMP stack</b> consisting of:
 +
*<strong>Linux</strong>
 +
{{Float | content = {{Aside | style = max-width: 400px | content = The application is designed to run on the latest Ubuntu Linux LTS <em>(Server Edition)</em>.}} }}
 +
*<strong>Nginx</strong>
 +
*<strong>MySQL</strong>
 +
*<strong>PHP</strong>
 +
 
 +
 
 +
{{Top of Page}}
 +
{{hr}}
 +
 
 +
{{Manual lvl 2 | title = Core Application Components | content =
 +
 
 +
 
 +
<b>Web Server</b>
 +
*Serves the PHP-based application and user interface
 +
*Powered by the Nginx web server
  
{{Grid 2 | left_width = 500px | left =
 
<dl>
 
<dt>Web Server</dt>
 
<dd>Serves the PHP-based application and user interface via Nginx.</dd>
 
 
{{hr - 2}}
 
{{hr - 2}}
<dt>Database</dt>
+
 
<dd>Stores all unique, customer-specific information.</dd>
+
<b>Database</b>
 +
*Stores all unique, customer-specific configuration and application data
 +
*Implemented using MySQL
 +
 
 
{{hr - 2}}
 
{{hr - 2}}
<dt>Media Server</dt>
 
<dd>Manages communication with cameras and video streams delivered to client PCs, and handles recording and clip creation.</dd>
 
  
</dl>
+
<b>Media Server</b>
 +
*Manages communication with cameras
 +
*Handles video streaming to client PCs
 +
*Responsible for recording, storage, and clip creation
 
}}
 
}}
  
<hr>
 
<center><h2>Single Server</h2></center>
 
  
From a physical or virtual server perspective the entire server side software stack can be run on a single server.
+
{{Top of Page}}
 +
{{hr}}
  
{{img - no_click | file = specific-2.jpg}}
+
{{Manual lvl 2 | title = Logical Server Architecture | content =  
 +
The application is divided into two main server roles:
  
<hr>
 
<center><h2>Multiple Servers</h2></center>
 
  
For applications that necessitate the use of over 50 cameras or encompass multiple departments, our software provides the option to distribute its functionality across multiple <b>"Media Servers"</b>. These dedicated servers are specifically designed to handle the crucial tasks of processing the video stream component of the VALT application and efficiently storing the associated video files. This multi-server architecture offers exceptional flexibility and scalability, accommodating diverse and expanding needs.
+
<b>Application Server:</b>
 +
The Application Server hosts the core application logic and includes:
 +
*PHP web pages served via Nginx
 +
*MySQL database services
 +
*Node.js messaging and control service
 +
 
 +
{{hr - 2}}
 +
 
 +
<b>Media Server:</b>
 +
The Media Server is responsible for all video-related operations, including:
 +
*Camera communication
 +
*Video stream distribution to clients
 +
*Recording management and clip generation
 +
}}
 +
 
 +
 
 +
{{Top of Page}}
 +
{{hr}}
 +
 
 +
{{Manual lvl 2 | title = Deployment Models | content = }}
 +
 
 +
{{Manual lvl 3 | title = Single Server | content =
 +
The entire server-side software stack can be deployed on a single [[Servers | physical]] or [[VM - Main Page | VM]]. This configuration is suitable for smaller installations and environments with lower camera counts.
 +
}}
 +
 
 +
{{hr - 2}}
 +
 
 +
{{Manual lvl 3 | title = Multi-Server | content =
 +
For larger deployments—<em>such as those <b>exceeding 50 cameras</b> or spanning multiple departments</em>—the system supports a distributed architecture using multiple Media Servers.
 +
 
 +
 
 +
<div style="font-weight: bold; font-size: 1.1em">In this model:</div>
 +
*One Application Server hosts the core application services
 +
*One or more dedicated Media Servers handle video processing and storage
 +
*Media Servers can be added incrementally to scale performance and capacity
 +
 
 +
 
 +
{{Aside - Helpful | content = This architecture provides flexibility, scalability, and efficient handling of high video workloads.}}
 +
}}
 +
 
 +
<center>{{img - no_click | file = VALT Server Structure.png}}</center>
  
{{img - no_click | file = specific-3.jpg}}
+
{{Top of Page}}
 
}}
 
}}

Latest revision as of 14:16, 9 February 2026

Server Side Software Architecture

Our server-side software is built on a standard LEMP stack consisting of:

  • Linux
The application is designed to run on the latest Ubuntu Linux LTS (Server Edition).
  • Nginx
  • MySQL
  • PHP


⇧ Back to Top


Core Application Components

Web Server

  • Serves the PHP-based application and user interface
  • Powered by the Nginx web server

Database

  • Stores all unique, customer-specific configuration and application data
  • Implemented using MySQL

Media Server

  • Manages communication with cameras
  • Handles video streaming to client PCs
  • Responsible for recording, storage, and clip creation


⇧ Back to Top


Logical Server Architecture

The application is divided into two main server roles:


Application Server: The Application Server hosts the core application logic and includes:

  • PHP web pages served via Nginx
  • MySQL database services
  • Node.js messaging and control service

Media Server: The Media Server is responsible for all video-related operations, including:

  • Camera communication
  • Video stream distribution to clients
  • Recording management and clip generation


⇧ Back to Top


Deployment Models

Single Server

The entire server-side software stack can be deployed on a single physical or VM. This configuration is suitable for smaller installations and environments with lower camera counts.


Multi-Server

For larger deployments—such as those exceeding 50 cameras or spanning multiple departments—the system supports a distributed architecture using multiple Media Servers.


In this model:
  • One Application Server hosts the core application services
  • One or more dedicated Media Servers handle video processing and storage
  • Media Servers can be added incrementally to scale performance and capacity


🕮
This architecture provides flexibility, scalability, and efficient handling of high video workloads.
VALT Server Structure.png
⇧ Back to Top