3Sixty:TV bietet eine Digital Signage Lösung an, welche an über 800 Standorten der größten Fastfood-Kette Deutschlands und in Österreich genutzt wird. Die Medieninhalte umfassen themenspezifische Videos z.B. Sport- und Musikvideos, tagesaktuelle Nachrichten, sowie standortspezifische Werbung. Das vorhandene System war über mehr als 10 Jahre organisch gewachsen, konnte kaum noch weiterentwickelt oder angepasst werden und konnte nur unter hohen Kosten skaliert werden. 3Sixty:TV hat daher beschlossen, eine Neuentwicklung des InStoreTV-Systems in Auftrag zu geben und das alte System im laufenden Betrieb zu ersetzen.
Wir haben das vorhandene System neu entwickelt und im laufenden Betrieb ausgetauscht. Aufgrund eines neuen Algorithmus generiert InStoreTV 2.0 Playlisten nun mehr als 10x so schnell und verursacht gleichzeitig nur 5% der ursprünglichen Serverkosten, dadurch können die Videos nun auch mehrmals am Tag ausgetauscht und an alle Geräte ausgerollt werden. Die Medieninhalte werden über ein eigens für InStore:TV entwickeltes Webportal verwaltet. Für Werbekampagen können standortspezifische Reports erstellt und exportiert werden. InStoreTV 2.0 ermöglicht es regelmäßige Updates an der Webapplikation vorzunehmen und auf die Bedürfnisse des 3Sixty:TV-Teams anzupassen. Die Media Player am Kundenstandort werden über eine Geräteverwaltung verwaltet und erhalten Over-the-Air-Updates. Die Zukunftsfähigkeit des Systems ist damit gesichert und die 3Sixty hat die Möglichkeit das System an neue Kunden zu verkaufen.
Die InStoreTV 2.0 Software besteht aus einer Webapp und mehreren Backend Services. Die Webapp basiert auf React und nutzt eine RESTful HTTP API um mit den Backend Services zu kommunizieren. Die API ist vollständig im OpenAPI Standard dokumentiert. Dies vereinfacht 3Sixty:TV die Entwicklung von internen Anwendungen und ermöglicht externen Werbevermarktern den Zugriff auf die API. Die Backend Services sind in Python entwickelt worden und nutzen das Webframework FastAPI.
Die Mediaplayer werden von einem eigenen Service verwaltet, welcher unter anderem die aktuelle Softwareversion, sowie die Zertifikate der einzelnen Geräte speichert. In Kombination mit Ansible können alle Endgeräte problemlos über das Internet aktualisiert werden sobald neue Softwareänderungen nötig sind.
Die Datenhaltung ist folgendermaßen konzipiert:
PostgreSQL Datenbank: User Management, Werbekampagnen, Video Metadaten, Playlists, Stores, Gerätemangement
Minio Object Storage (on-prem S3 Klon): Videodateien und Metainformationspakete für die Mediaplayer
InfluxDB Time Series DB: Empfängt und speichert KPIs der einzelnen Endgeräte für effiziente Auswertungen
Das Deployment basiert auf Docker Containern, welche mit Docker Swarm deployed werden. Dadurch können neue Deployments in wenigen Minuten ausgeführt werden. Ein dediziertes Testsystem spiegelt das Produktivsystem und ermöglicht es alle Updates zu testen bevor diese im Produktiveinsatz genutzt werden.