Delivering an over-the-top TV platform using Microsoft Azure THR2165 Delivering an over-the-top TV platform using Microsoft Azure Gianni Rosa Gallina R&D Senior Software Engineer @ Deltatre
About me Ing. Gianni ROSA GALLINA R&D Senior Software Engineer @ Deltatre Virtual Reality (Oculus Rift, Gear VR, Google VR, Unity 3D) Augmented/Mixed Reality (Vuforia, Computer Vision, HoloLens) Immersive video streaming and 3D graphics for sport events NUI Designer (Microsoft Kinect, Leap Motion) Mobile App designer (Windows / Phone / Android / Xamarin) Windows Embedded technologies (system integration/app dev) IoT Cloud and Embedded end-to-end solutions with Microsoft Azure Big Data and Machine Learning Author gianni.rosagallina@deltatre.com @giannirg http://gianni.rosagallina.com
Agenda What is an over-the-top (OTT) platform? Sport events requirements Deltatre’s OTT platform for sport events Global architecture overview and components Technical curiosities and facts What’s next?
What is an OTT platform? OTT (over-the-top) is a term used in broadcasting and technology business reporting to refer to audio, video, and other media transmitted via the Internet as a standalone product IT’S NOT A (simple) VIDEO PLAYER
What is an OTT platform? digital rights management multi-platform live video digital rights management multi-platform live audio advertising on-demand monetization CRM subscriptions thousands of users streaming analytics marketing social media CMS mobile web payment systems user profiles consoles global scale multi-language big data smart TVs pay-per-view user engagement geo-based content availability
Sport events requirements High quality, low-latency video streaming Global scale (customer specific) Very narrow load/usage peaks Fine-grained content rights management
Deltatre’s OTT platform for sport events 5/16/2018 1:04 PM Deltatre’s OTT platform for sport events © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Deltatre’s OTT platform for sport events Cloud based + hybrid scenario fully hosted in Microsoft Azure as PaaS 11 end-user platforms same UI/UX Full coverage from venues to end-users Unified management subscriptions, payments, analytics, CRM, marketing
Global architecture overview
Cloud API Microservices architecture App Services Azure Functions for frontend & REST APIs Azure Functions serverless back-office API and monitoring services; frontend for remote configuration
Data storage and distribution Cosmos DB full managed service Built-in key features global scale by design automatic replica management transparent scaling high throughput high availability low latency Redis Cache for data access optimization Traffic Manager for geographic routing CDN (Akamai) for geographic distribution
Azure Search PowerBI dashboard & analytics Used for indexing, full-text and geo-localized search, full integration with Cosmos DB and other built-in features (multi-language, filters, sorting, paging, monitoring, etc.). PowerBI dashboard & analytics monitor, tune and optimize the search service to analyze what users search for and optimize queries, indexes, etc.
Monitoring and logging Application Insights different dashboards for different needs
Custom scaling management Sport events very narrow load peaks Azure Autoscale does NOT work well in this scenario Hybrid approach Manual scale-up Automatic scale-out
Data and video ingestion cloud endpoint to push data/metadata about matches, scores, statistics, ingested using our on-premises data system Forge Video from venues to cloud, encoded with Amazon Elemental and ingested in Azure Media Services for processing and distribution, leveraging our on-premises Diva video platform ExpressRoute used to optimize connections between venues and Azure datacenters
3rd parties integration User API unified abstraction API to seamlessly use services from 3rd party providers to manage users, payments, engagement and content protection
3rd parties integration Geographic Content Protection MaxMind geolocation (country level) + custom development for user entitlement (subscription-level rights) and CDN protection (token-based) Monetization and “universal” payments MPP Global Solutions platform + Roku/iTunes SDKs Customer identity Gigya platform for Customer Identity Management CRM, marketing and users engagement Two Circles services to understand and engage with users Urban AirShip for push notifications, in-app messages
End-user TennisTV apps Same UI/UX across all 11 platforms Enhanced DIVA Video Player experience (video + overlays) Web React-based SPA, HTML5/CSS/JS iOS, Android, Apple TV, Roku, Chromecast, AirPlay native applications (Swift/Java/BrightScript) Smart TVs, Xbox, PS4, Amazon Fire TV HTML/JS open-source TV Application Layer (TAL) framework by BBC http://bbc.github.io/tal/
Teams & Timing January 2016 Development start December 2016 Deploy in production Development team 13 people (1 DevOps, 3 Backend, 5 Frontend, 2 Tech Leads, 1 Solution Architect, 1 PM) Running/management team 3 people (1 Backend, 1 Frontend, 1 Tech Lead)
Conclusions First project full PaaS What’s next? hybrid support, microservices, peak loads, fault tolerance design cultural mindset change required team change-resilience What’s next? search improvement recommendation engine (based on Cognitive Services) per-user customized content full cloud with new Forge/Diva platforms new OTT platforms
Please evaluate this session Tech Ready 15 5/16/2018 Please evaluate this session From your Please expand notes window at bottom of slide and read. Then Delete this text box. PC or tablet: visit MyIgnite https://myignite.microsoft.com/evaluations Phone: download and use the Microsoft Ignite mobile app https://aka.ms/ignite.mobileapp Your input is important! © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
5/16/2018 1:04 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.