Public monitoring dashboard available here:
We have 100% platform uptime since 2015
Cloud server deployment details
There are 7 active servers spanning 6 cloud providers:
- europe4 (Hetzner)
- asia4 (OneProvider)
- useast3 (IONOS)
- uswest3 (Dedicated)
- useast2 (GCP) - For data warehouse
- staging3 (Hetzner) - For testing with live data
- test (Oracle) - For testing with non-live data
Internet traffic is routed to the server with the lowest latency that passes a health check. Amazon Route 53 provides this functionality.
Local Databases
Each server has its own local instance of MongoDB. Data is replicated asynchronously with eventual consistency. Platform remains operational in the event of network partitioning. Recovery is automatic.
Media Storage
Videos, images, and other media is stored in Google Cloud Storage and Amazon S3.
Content Delivery Network (CDN)
BunnyCDN and Amazon CloudFront are used to distribute media. Devices running our software on the same local area network share media locally using peer to peer file transfers and streaming.
Reporting Data Warehouse
Data warehouse stores display reports, collected data, screen status history, user audit trail, and media upload log.
Server instances write to shared custom data warehouse on useast2. All servers can buffer at least 100 million records if useast2 is unavailable. (not required for live operation).
Backup
- Media is duplicated and stored in both Google Cloud Storage and Amazon S3. Media can not be updated and server applications have no permission to delete objects from these object stores.
- Live operational data is always stored on at least 4 geographically separated servers.
- MongoDB on staging3 snapshot is stored daily at 00:00 GMT and sent to Google Cloud Storage cold storage. Snapshots are kept for at least 6 months. We last verified we can recover from any snapshot September 2025.
- Reporting Data Warehouse snapshot created daily and stored in Google Cloud.
Comments
0 comments
Please sign in to leave a comment.