• Blog

Microservices are the components in Surveill containers. These are services that are standalone, so they could technically function individually but together make up the VMS as a whole.

Examples of Surveill’s individual microservices:

  • Authority – The Authority Service is a secure authentication system that supports both local user accounts and 3rd party systems. It is responsible for performing all authentication verification.
  • Cameras – The Camera Service will be responsible for performing actions that interact with the camera and storing all camera configuration information.
  • Coordinator – The Coordinator Service will be the central repository for configuration management data.
  • Events & Analytics – The Events & Analytics Service is a microservice for adding Analytics Functionality to the VMS.
  • Management – The Management Service will be responsible for logging all actions to the audit log. The management service will be responsible for sending active client notifications.
  • Monitoring, Telemetry, & Logging – The Monitoring, Telemetry, & Logging (MTL) Service will be responsible for monitoring the health of all the servers, services, clients, cameras, and network devices.
  • Recording – The Recording Service will be responsible for storing recording profile information and recording cameras to archives on the disk.

Example of services in action, Monitoring, Telemetry, & Logging:

In software, telemetry is used to gather data on the use and performance of applications and application components, like how often certain features are used, measurements of start-up time and processing time, hardware, application crashes, and general usage statistics or user behavior.  Surveill VMS has sensors to measure the performance and health of the video monitoring system.


The software collects telemetry data and gives the user the ability to view and inspect this performance data inside Surveill. Yes, Surveill VMS logs and records this telemetry data and creates alarms when the system is running in a failed or degraded state. The operator can take action based on these events, such as viewing live or recorded video, changing recording schedules, or troubleshooting the services. The Surveill MTL (Monitoring, Telemetry, and Logging) service is responsible for collecting telemetry data from the instrumentation built into all the other Surveill VMS services.

Traditional VMS software architecture requires a separate server for each “service.” This means more required hardware and appliances to make up the VMS. That’s not the case with Surveill. Surveill uses a microservices architecture, so Surveill is able to deploy the necessary containers needed to deploy your VMS. These containers are preconfigured and have everything the VMS needs inside.

Adding servers will optimize the system, but not define it. With each server added to your VMS solution, you’re adding more redundancy capabilities, scalability, and more.