CLOUD & INFRA

Comment concevoir une plateforme VOD sur Azure ?

Microsoft profile picture
Maxime Villeger

Cloud Solution Architect

Microsoft profile picture
Quentin Brasseur

Cloud solution Architect

 

Les habitudes de consommation évoluent continuellement. En réponse à ces changements, les entreprises doivent apporter des solutions adaptées à ces nouveaux besoins exprimés par les consommateurs.

 

Dans le secteur du multimédia, la manière de consommer du contenu vidéo a fortement évolué avec l’arrivée des nouvelles plateformes VOD (Video On Demand). En effet, les leaders du marché proposent désormais du contenu à la demande et personnalisé : vous pouvez regarder vos séries préférées, ou que vous soyez et quand vous le souhaitez.

 

Planifiez une migration réussie de Windows Server 2008 et 2008 R2 vers Azure

Migrez vos serveurs sur site vers Azure. En transférant vos données dans le cloud, vous aurez la possibilité de monter ou descendre en puissance à volonté.

Lire l’ebook

 

Vous‐êtes‐vous déjà demandé comment concevoir l’architecture d’une telle plateforme sur Azure ?

 

Pour proposer une plateforme VOD délivrant du contenu personnalisé à des millions d’utilisateurs à travers le monde, il est essentiel de construire une architecture capable de résister à ces montées en charge, tout en délivrant rapidement le contenu souhaité afin d’assurer la meilleure expérience utilisateur possible.

 

Comment concevoir une plateforme VOD dans Azure ?

 

Tout d’abord, reprenons les briques élémentaires qui sont nécessaires au développement de ce type de solution tout en suivant le modèle OData. Ce modèle est un protocole permettant la création et la consommation d’API REST.

 

 

Ces briques servent à concevoir une banque de fichiers que vous mettez à disposition de vos utilisateurs. De plus, elles assurent également l’intégrité de ces derniers : fournir le bon contenu, à la bonne personne, au bon moment.

 

La première étape est d’encoder et de chiffrer vos médias.

 

L’objectif est de s’assurer que le bon média est délivré à la bonne personne tout en protégeant votre contenu. La protection de la propriété intellectuelle et de l’identité de l’utilisateur est fondamentale. Il faut s’assurer que le média délivré est adapté à l’utilisateur et que ce dernier est bien inscrit sur la plateforme. Cela permet d’assurer la pérennité de la solution tout en s’assurant de protéger vos utilisateurs.

 

Le modèle préconisé est le suivant :

 

 

  1. Les médias sont stockés tout en s’assurant que ces derniers sont protégés pendant le téléchargement ainsi qu’au repos (chiffrement). Cela permet de protéger vos médias contre le vol pendant et après leurs instanciations dans la plateforme.
  2. Les médias sont ensuite encodés dans un format adaptatif. Cela permet de les fournir à tous les types d’utilisateurs : ceux utilisant une application mobile, ceux utilisant la plateforme web… et ce en s’adaptant à leur hardware.
  3. Le packaging dynamique permet de définir les politiques de mises à disposition du média.
  4. Les médias sont publiés en utilisant un « OnDemand Locator ». Il permet d’être au plus près de vos utilisateurs et de leur assurer une bonne expérience en limitant les temps de chargement.
  5. Le contenu est finalement accessible à vos utilisateurs.

 

Guide de migration des serveurs et des machines virtuelles vers le cloud

Des conseils tout au long du processus, des considérations initiales aux outils requis.

Télécharger le guide

 

L’un des points essentiels de cette architecture est d’avoir la capacité de délivrer du contenu ayant un bitrate adapté à vos utilisateurs. Grâce à Azure Media Service ceci est devenu une tâche simple. En effet, ce service prend en charge les débits suivants : Apple HTTP Live Streaming (HLS), Microsoft Smooth Streaming, et Dynamic Adaptive Streaming over HTTP (DASH, aussi appelé MPEG‐DASH).

 

De plus, ce service permet de packager dynamiquement vos fichiers vidéo sans avoir à les repackager. Cela permet de n’utiliser (et de ne payer) qu’un seul espace de stockage dans un seul format : le service se chargera de délivrer le bon format en fonction de la requête exécutée.

 

La première partie de notre architecture cible est la suivante :

 

 

  1. Les médias sont stockés dans un Blob Storage où ils sont cryptés et protégés au repos.
  2. Les médias sont encodés aux différents formats souhaités grâce à Azure Encoder.
  3. Un endpoint de streaming est instancié afin de pouvoir accéder directement au média.
  4. Le Multi‐DRM permet de s’assurer de la bonne mise à disposition des médias : la personne est bien identifiée sur la plateforme, elle a le droit d’accéder aux contenus selon les paramètres définis (âge, localisation…)
  5. Le CDN permet de mettre à disposition le contenu au plus près de l’utilisateur et d’améliorer son expérience sur la plateforme.
  6. L’utilisateur va s’authentifier auprès du « Cloud DRM License/Key Delivery Server » récupérant ainsi son jeton de sécurité prouvant son identité et lui assurant le droit de consommer certains contenus. Cela dépend des règles que vous avez définies au préalable.
  7. Le contenu est accessible via une application mobile, avec Azure Media Player in Mobile App, ou un navigateur internet, avec Azure Media Player in browser. Cela permet ainsi de s’assurer que tous les utilisateurs peuvent avoir accès à votre plateforme.

 

Toutes ces briques nécessaires à délivrer le contenu multimédia se trouvent dans Azure Media Services. Ce service permet de créer tout le workflow nécessaire à la construction d’architecture média, c’est-à-dire l’encodage, le packaging, la protection, la diffusion du contenu…

 

L’architecture présentée est capable de délivrer du contenu multimédia à des millions d’utilisateurs. Cependant, le marché étant hautement compétitif et connecté, les acteurs ne peuvent plus se contenter de proposer un contenu générique. Les utilisateurs attendent une expérience adaptée et personnalisée. La génération d’offres personnalisées en fonction de l’utilisateur est donc devenue un élément essentiel pour construire la fidélité des clients et assurer la pérennité de la plateforme.

 

Rapport Magic Quadrant de Gartner sur l’IaaS

Pour la cinquième année consécutive, Gartner positionne Microsoft comme un des leaders mondiaux en 2018 du Magic Quadrant pour l’infrastructure cloud en tant que service (IaaS).

Télécharger

 

Comment offrir un service d’offres personnalisées ?

 

Il est possible de proposer un service de génération d’offres personnalisées grâce aux données générées à partir des interactions utilisateur.

En analysant d’immense volumes de données provenant de la plateforme VOD, il est possible de proposer des offres pertinentes et personnalisées en fonction de chaque utilisateur. Il est cependant nécessaire de créer une infrastructure Big Data scalable et fiable ainsi que des modèles de Machine Learning personnalisées.

 

L’architecture suivante permet d’enrichir notre plateforme d’un système intelligent :

 

 

  1. Azure Functions est la clé de voûte du processus : la donnée est lue dans le CDN, et est ensuite stockée dans un Azure Cache Redis.
  2. Un score de prédiction est ensuite généré à l’aide d’Azure Machine Learning.
  3. Un scoring va découler de la donnée brute afin de proposer à l’utilisateur un contenu adapté.
  4. Azure Event Hub récupère les données brutes relatives aux activités des utilisateurs, les offres proposées et les données de performances (pour Azure Functions et Azure Machine Learning).
  5. La donnée est analysée en temps réel par Azure Stream Analytics afin de proposer une expérience utilisateur personnalisée.

Le dashboard Power BI sert à analyser le contenu consommé par les utilisateurs afin de proposer le meilleur contenu possible.

 

Microsoft Ignite | The Tour

Deux jours de formation technique pour monter en compétences sur les solutions Microsoft. Evénement gratuit.

S’inscrire

 

Vous avez désormais la capacité de concevoir une plateforme de VOD scalable et hautement disponible, tout en offrant une expérience personnalisée à vos utilisateurs. Toutes les briques nécessaires à délivrer le contenu multimédia se trouvent dans Azure Media Services. Pour ce qui est de la génération d’offres personnalisées, Azure propose différents services capables d’analyser de grands volumes de données afin de faire des recommandations pertinentes.

 

Découvrez Azure et ses possibilités afin d’innover et disrupter votre marché !

 

Liste des produits utilisés :

 

  • Blob Storage : Sert à stocker de grandes quantités de données non structurées (ex. données textuelles ou binaires), qui sont accessibles depuis n’importe où dans le monde via HTTP ou HTTPS. Vous pouvez utiliser les BLOB pour exposer des données publiquement ou de façon privée pour une application.
  • Azure Encoder : Les tâches d’encodage sont l’une des opérations de traitement les plus courantes dans Media Services. Les tâches d’encodage servent à convertir des fichiers multimédias d’un encodage à un autre.
  • Azure streaming endpoint : Un service de diffusion en continu qui peut fournir du contenu directement à une application ou à un réseau de diffusion de contenu (CDN) pour une distribution ultérieure.
  • Content Delivery Network : Fournit une livraison de contenu sécurisée et fiable avec une portée mondiale et un ensemble riche de fonctionnalités.
  • Azure Media Player : Utilise des normes de l’industrie, telles que HTML5 (MSE/EME), pour fournir une expérience de streaming adaptative riche. Quelle que soit la technologie de lecture utilisée, les développeurs disposent d’une interface JavaScript unifiée pour accéder aux API.
  • Multi‐DRM content protection : Fournit du contenu en toute sécurité à l’aide de multi‐DRM (PlayReady, Widevine, FairPlay streaming) ou AES clear key encryption.
  • Stream Analytics : Azure Stream Analytics est un moteur d’analyse d’événement qui vous permet d’analyser de grand volume de données récupérer en quasi‐temps réels de différentes sources (Web, IoT, applications …).
  • Azure Event Hub : Azure Event Hub est un bus d’événement pouvant processer des millions d’événements par seconde.
  • Azure Functions : Azure Functions est une solution serverless pour faire tourner de petite partie de code, ou fonctions, dans le cloud.
  • Azure Redis Cache : Azure Redis Cache est utilisé comme cache pour améliorer les performances et l’évolutivité des systèmes qui dépendent fortement des backend.
  • Azure Machine Learning : Azure machine learning fournit des SDK et des services pour préparer rapidement des données, former et déployer des modèles d’apprentissage automatique.
  • Azure Cosmos DB : Azure Cosmos DB est le service de base de données multimodale ayant une distribution mondiale.
  • Power BI : Power BI est un service d’analyse business permettant de délivrer des insights sur le métier ce qui permet d’accélérer la prise de décisions.

 

Disclaimer

©2019 Microsoft Corporation. All rights reserved. This information is provided « as‐is » and may change without notice. Microsoft makes no warranties, express or implied, with respect to the information provided here. Third party data was used to generate the Solution. You are responsible for respecting the rights of others, including procuring and complying with relevant licenses in order to create similar datasets.