2024-Diamant-Amazon-Prime-Video

Le rapport explore l'architecture logicielle des sites de streaming, en se concentrant sur Amazon Prime Video. Il décrit comment cette plateforme utilise une architecture en microservices pour offrir une vaste bibliothèque de contenus tout en assurant une scalabilité, une résilience et une flexibilité optimales. Le rapport définit les microservices, donne des exemples concrets tels que l'authentification, le catalogue et les recommandations, et explique comment le service de streaming fonctionne avec ces microservices. Il analyse également les avantages, comme la personnalisation et le déploiement continu, ainsi que les inconvénients, tels que la complexité de gestion et la cohérence des données. Enfin, il présente les outils utilisés et compare Amazon Prime Video à d'autres plateformes comme Netflix et Spotify, concluant que les microservices sont une approche prometteuse pour les plateformes de streaming modernes.

Slides & Videos

Members

NameContribution
SamyCe projet a été réalisé en collaboration entre Samy Oki et Scander Alioui. Nous avons travaillé ensemble sur toutes les étapes du projet, des recherches approfondies et la prise de notes à la création des slides de présentation. Nos efforts communs incluent la recherche d'informations sur les microservices, l'analyse des avantages et des inconvénients, ainsi que la comparaison avec d'autres plateformes. Nous avons souvent consacré notre temps libre à l'IUT, que ce soit durant la pause déjeuner ou parfois même le week-end, pour mener à bien ce projet. Cette coopération nous a permis de combiner nos efforts et nos idées pour explorer et analyser de manière approfondie et efficace l'architecture logicielle des plateformes de streaming, en particulier Amazon Prime Video.

State of the Art

Business Aspect

Wired, "Amazon vs Netflix vs Disney+: Which is better?"

Amazon Prime Video, lancé en 2006, est une plateforme de streaming vidéo intégrée au service Amazon Prime. Elle se distingue par une vaste bibliothèque de films, séries télévisées, documentaires et contenus originaux de haute qualité tels que “The Marvelous Mrs. Maisel” et “The Boys”. L’abonnement à Prime Video inclut également des avantages supplémentaires comme la livraison rapide et Prime Music, ajoutant une valeur significative pour les abonnés. En adoptant une stratégie de contenu diversifié et en acquérant des droits exclusifs sur des événements populaires, Prime Video se positionne comme un acteur majeur dans le marché du streaming, rivalisant avec des concurrents comme Netflix et Disney+.
Amazon Prime Video fonctionne principalement sur un modèle d’abonnement, où les utilisateurs payent une cotisation mensuelle ou annuelle. En outre, la plateforme propose des options d’achat et de location de films récents, générant des revenus supplémentaires. L’entreprise investit massivement dans la production de contenus originaux et dans l’acquisition de droits exclusifs pour renforcer son attrait auprès des abonnés. Grâce à une stratégie de croissance axée sur l’expansion internationale et l’amélioration continue de l’expérience utilisateur, Prime Video attire de nouveaux abonnés dans des régions en croissance telles que l’Asie, l’Europe et l’Amérique latine. Ce qui distingue Amazon Prime Video de ses principaux concurrents, Netflix et Disney+, c’est son intégration étroite avec l’écosystème plus large d’Amazon. Cette intégration offre une gamme d’avantages supplémentaires aux abonnés, ce qui renforce la fidélité des clients. De plus, contrairement à Disney+, qui se concentre principalement sur les contenus familiaux et les franchises exclusives, Prime Video propose une plus grande diversité de contenus, y compris des options de location et d’achat, ainsi que des contenus sportifs en direct. En offrant une expérience utilisateur améliorée et en répondant aux attentes croissantes des consommateurs, Amazon Prime Video se positionne comme un concurrent solide dans le paysage du streaming en pleine évolution.

Technical Aspect

InfoQ, "Amazon Prime Video's Architecture Patterns"

Amazon Prime Video utilise une architecture basée sur les microservices, une approche où l’application est décomposée en petits services indépendants, chacun gérant une fonction spécifique comme l’authentification, la gestion du catalogue ou les recommandations personnalisées. Cette architecture permet une scalabilité efficace, une haute disponibilité et une résilience supérieure. Les microservices communiquent entre eux via des API REST, et chaque service peut être déployé et mis à jour indépendamment, ce qui facilite les améliorations continues et les déploiements fréquents de nouvelles fonctionnalités. Contrairement à Netflix, qui a été pionnier dans l’adoption des microservices, Amazon Prime Video intègre cette architecture avec l’écosystème plus large d’Amazon, offrant une expérience utilisateur plus fluide et intégrée. Par exemple, l’intégration avec les services d’Amazon Web Services (AWS) permet à Prime Video de bénéficier d’une infrastructure cloud robuste, améliorant la performance et la fiabilité. Prime Video utilise des technologies avancées comme Docker pour l’isolation des services, Kubernetes pour l’orchestration des conteneurs, et divers outils de surveillance et de gestion des logs comme ELK Stack et Prometheus pour assurer une performance optimale. En comparaison avec Disney+, qui se concentre sur des contenus familiaux et des franchises exclusives avec une architecture plus monolithique, Amazon Prime Video propose une diversité de contenus plus large et une flexibilité technique accrue. Disney+ offre une interface utilisateur intuitive et des contenus de haute qualité, mais Prime Video se distingue par sa capacité à personnaliser les recommandations grâce à des algorithmes avancés d’intelligence artificielle et d’apprentissage automatique. De plus, l’intégration étroite avec les autres services d’Amazon ajoute une dimension unique à l’expérience utilisateur, en combinant des avantages supplémentaires tels que les achats à la carte et les contenus sportifs en direct, ce qui place Amazon Prime Video comme un concurrent techniquement robuste et innovant dans le marché du streaming.

Project Description

Problem Definition
Rapport : Architecture Logicielle des Sites de Streaming - Étude de Cas d'Amazon Prime Video
Challenges & Motivation
x
Real and Complete Usecases

x

Technical Description

Scander ALIOUI

Samy OKI                                                          BUT 2 FA DIAMANT

Rapport : Architecture Logicielle des Sites de Streaming – Étude de Cas d’Amazon Prime Video

 Introduction

Amazon Prime Video est une plateforme de streaming populaire qui offre une vaste bibliothèque de films, séries et contenus originaux. C’est l’une des plus grandes plateformes de streaming disponibles aujourd’hui. 

 

L’objectif de ce rapport est d’explorer l’architecture logicielle derrière les sites de streaming, en particulier Amazon Prime Video, et de comprendre pourquoi cette architecture est privilégiée.

 

Mais qu’est-ce que le streaming exactement ? En termes simples, le streaming est une technologie qui permet de lire du contenu audio ou vidéo directement à partir d’Internet sans avoir besoin de télécharger un fichier entier sur notre appareil. Cela signifie que vous pouvez commencer à regarder votre film ou écouter votre chanson préférée presque instantanément, sans attendre.

Nous examinerons spécifiquement l’utilisation des microservices et leur impact sur le fonctionnement et la qualité de service des plateformes de streaming.

 

Plan

Exploration de l’architecture de streaming d’Amazon Prime Video

   – Définition de l’architecture microservice

   – Exemples concrets de microservices dans le streaming

   – Le service de streaming en tant qu’application des microservices

Analyse approfondie des microservices

   – Caractéristiques principales des microservices

   – Inconvénients des microservices

Choix de l’architecture en microservices

   – Les outils

   – Études de cas : Autres plateformes utilisant les microservices

   – Conclusion

 

Exploration de l’architecture de streaming d’Amazon Prime Video
Définition de l’architecture microservice

Les microservices représentent une approche de développement logiciel où une application est décomposée en un ensemble de petits services indépendants, chacun exécutant une fonction spécifique. Ces services sont conçus pour être faiblement couplés, gérant chacun une partie distincte d’une application à grande échelle, comme le panier d’achat, la facturation ou les notifications push. Pour faciliter la communication entre eux, les microservices utilisent des interfaces bien définies, notamment via des appels de procédure à distance (RPC) ou des mécanismes de diffusion d’événements. 

 

Les interactions avec les microservices se font généralement via des API REST ou RESTful, publiées par chaque microservice. Une passerelle d’API permet aux applications de consommer ces API et aux microservices d’être échangés tout en maintenant la compatibilité avec la même API. De plus, les microservices peuvent être déployés indépendamment, offrant ainsi aux opérateurs la tranquillité d’esprit et la confiance pour déployer fréquemment, étant donné que chaque service est plus petit, plus facile à comprendre et a un impact plus limité.

 

Un aspect important de l’architecture en microservices est que chaque service gère sa propre base de données. Cette indépendance permet aux équipes de choisir le meilleur type de base de données pour chaque service, optimisant ainsi les performances et la scalabilité.

 

Exemples concrets de microservices dans le streaming

Explorons quelques exemples concrets de microservices utilisés dans le streaming chez Amazon Prime Video, en nous concentrant sur trois services clés : l’authentification, le catalogue et la recommandation.

 

Microservice d’Authentification : Ce service est la porte d’entrée d’Amazon Prime Vidéo. Il gère les identifiants des utilisateurs, assure la sécurité des sessions et protège les données personnelles grâce à des technologies avancées de cryptage et d’authentification.

 

Microservice de Catalogue : Organise et gère la liste complète des contenus médias disponibles sur Amazon Prime Vidéo. Il assure une navigation facile et un accès rapide aux informations, facilitant ainsi la recherche et la découverte par les utilisateurs.

 

Microservice de Recommandation : Basé sur l’intelligence artificielle, ce service analyse vos préférences pour vous suggérer des contenus pertinents. Il améliore l’expérience utilisateur en personnalisant les suggestions selon les habitudes de consommation.

 

Grâce à une gestion sécurisée des sessions et une personnalisation des contenus via ces microservices, nous abordons maintenant le cœur de notre sujet : le microservice de streaming.

Le service de streaming en tant qu’application des microservices

Le streaming à la demande est le mode de diffusion de contenu vidéo le plus répandu, offrant aux spectateurs la possibilité de regarder des contenus préenregistrés tels que des films et des émissions de télévision via Internet. Il utilise diverses technologies comme le streaming HTTP et le DASH (Dynamic Adaptive Streaming over HTTP). Le streaming adaptatif ajuste automatiquement la qualité en fonction de la vitesse Internet du spectateur, garantissant une expérience de visionnage fluide.

 

Les étapes clés de ce processus incluent :

Video Assets (Actifs vidéo) : Les fichiers vidéo prêts à être diffusés en streaming.
Transcoder (Transcodeur) : Convertit les fichiers vidéo en différentes variantes de débit binaire adaptées à différents appareils et connexions Internet.
MPEG-DASH Package And Encrypt (Emballage et chiffrement MPEG-DASH) : Les variantes de débit binaire sont emballées et chiffrées conformément au standard MPEG-DASH.
DASH MPD and chunks stored on the Origin Server (MPD et segments stockés sur le serveur d’origine) : Les paquets MPEG-DASH sont stockés sur le serveur d’origine.
MPEG-DASH compliant Video Player (Lecteur vidéo conforme à MPEG-DASH) : Côté utilisateur, un lecteur vidéo compatible demande les segments vidéo et le MPD au serveur via un réseau de diffusion de contenu (CDN).

 

Analyse approfondie des microservices
Avantages des microservices pour les plateformes de streaming

– Scalabilité : Les microservices permettent une scalabilité efficace, capable de gérer des millions de requêtes simultanément sans compromettre la performance.

– Résilience : Si une partie du système tombe en panne, le reste continue de fonctionner.

– Flexibilité de développement : Chaque service individuel peut utiliser le langage de programmation le plus adapté.

– Déploiement continu et maintenance : Facile le déploiement continu et simplifie la maintenance.

– Expérience utilisateur personnalisée : Améliore l’expérience utilisateur avec des options personnalisées.

– Time to market : Réduit le temps de mise sur le marché.

 

Inconvénients des microservices

– Surcharge opérationnelle : Gérer de nombreux microservices augmente la charge de travail.

– Défi sécurité : Chaque microservice est un point d’attaque potentiel.

– Complexité de gestion : Exige une coordination et une orchestration méticuleuses.

– Latence : La communication entre microservices peut entraîner des délais.

– Cohérence des données : Assurer des données cohérentes entre les services est compliqué.

 

 III. Choix de l’architecture en microservices

 

Les outils

Quelques outils utilisés pour réaliser de l’architecture microservice incluent :

– Conteneurs : Docker.

– Orchestration des conteneurs : Kubernetes.

– API REST : Pour la communication entre microservices.

– Bases de données : NoSQL comme MongoDB, relationnelles comme MySQL.

– Langages de programmation : Java, Python, Go, Node.js, Kotlin.

– Outils de développement : Spring Boot, Express.js, Swagger.

– Gestion des logs et de la surveillance : ELK Stack, Prometheus.

– Sécurité : OAuth 2.0, JWT.

 

Études de cas : Autres plateformes utilisant les microservices

Des plateformes célèbres utilisant les microservices comme architecture incluent Netflix, Uber et Spotify. Cette architecture a été choisie pour ses avantages : évolutivité, résilience, flexibilité de développement, expérience utilisateur personnalisée et réduction du temps de mise sur le marché.

 

Conclusion

La transition vers une architecture basée sur les microservices représente une avancée significative pour les plateformes de streaming telles qu’Amazon Prime Video. En explorant en profondeur cette architecture, nous avons pu identifier ses caractéristiques clés, ses avantages et ses inconvénients, ainsi que les outils et études de cas pertinents.

 

Les microservices offrent une modularité, une scalabilité et une résilience indispensables pour répondre aux besoins d’une audience mondiale massive, tout en permettant une flexibilité de développement et un déploiement continu des fonctionnalités. Cependant, ils présentent également des défis, tels que la complexité de gestion et la cohérence des données.

 

En conclusion, les microservices représentent une approche prometteuse pour les plateformes de streaming comme Amazon Prime Video, offrant la capacité d’évoluer rapidement, de fournir des expériences utilisateur personnalisées et de maintenir une haute qualité de service dans un paysage concurrentiel en constante évolution.

Hardware

Materials
ImageNamePart NumberPriceCountLink
xxxx🛒
Schematic

Software

External Services

x

x