InStore:TV

Die 3Sixty:TV GmbH bietet eine Digital Signagne Lösung an, welche in über 800 Standorten einer großen Fastfood-Kette in Deutschland und Österreich genutzt wird. Die Medieninhalte umfassen themenspezifische Videos wie z.B. Sport- und Musikvideos, tagesaktuelle Nachrichten, sowie standortspezifische Werbungen. Das vorherige System war über mehr als 10 Jahre organisch gewachsen. Aufgrund der schlechten Wartbarkeit wurden lange Zeit keine Aktualisierungen durchgeführt. Die Generierung von standortspezifischen Playlists hat mehrere Stunden pro Tag benötigt und hohe Kosten verursacht.

Wir haben das vorhandene System neu entwickelt. Das neue System bietet eine Geräteverwaltung samt Remote Update Mechanismus für alle Media Player an den Kundenstandorten. Eine moderne Client-Server Webanwendung ermöglicht die standortspezifische Verwaltung und Auswertung von abgespielten Medieninhalten. Playlists werden nun in wenigen Sekunden, anstatt in mehreren Stunden generiert und können dadurch auch untertägig geupdated werden

Technische Details

instoretv-architecture

Die InstoreTV 2.0 Software wurde als (Micro-)service Architektur konzipiert. Das User Interface basiert auf dem Javascript Framework React und unterstützt auch Mobilgeräte. Das Frontend nutzt eine RESTful HTTP API welche im Backend bereitgestellt wird und auf dem Python Webframework FastAPI basiert. Die API wird sowohl von dem Webclient als auch von Werbevermarktern genutzt. Zur Nutzung durch Werbevermarkter ist die API vollständig im OpenAPI (Swagger) Standard dokumentiert.

Die Datenhaltung ist in einer relationalen PostgreSQL Datenbank und dem High-Performance Object Storage Minio gekapselt. Die Endgeräte nutzen Minio um regelmäßig neue Playlists und Videos herunterzuladen. Zusätzlich wird die Zeitreihendatenbank InfluxDB genutzt um effizient Auswertungen zu den abgespielten Videos an verschiedenen Standorten zu erstellen.

Ein eigener Service verwaltet alle Mediaplayer und speichert deren Softwareversion und Zugangsdaten. In Kombination mit Ansible können alle Endgeräte nun problemlos aktualisiert werden sobald neue Softwareänderungen nötig sind.

Das Deployment basiert auf Docker Containern, welche mit Docker Swarm deployed werden. Dadurch können neue Deployments in wenigen Minuten ausgeführt werden.

Ein Testsystem ermöglicht es Änderungen am System zu testen bevor diese im Produktiveinsatz genutzt werden. Dadurch ist die Wartbarkeit des Systems, welches zuvor niemand mehr anfassen wollte wieder gesichert.