Déployer une plate-forme de diffusion en continu vidéo de partie de surveillance à faible latence sur Oracle Cloud
La demande de visionnaires de streaming en direct a connu un essor ces dernières années, créant ainsi un marché en pleine croissance pour les plateformes de streaming comme Red5 Pro.
Malgré une concurrence intense entre les fournisseurs de streaming, toutes les plates-formes ne sont pas créées égales. En fait, de nombreux services de streaming sont fournis avec une latence de 30-120s ou plus. Un tel décalage peut ruiner une partie de montre, car certains membres font l'expérience de l'excitation d'une course à domicile, d'une banderole ou d'un knock-out comme cela se produit, tandis que d'autres souffrent à travers les tricheurs de leurs co-observateurs secondes avant de voir l'action eux-mêmes. Mais Red5 Pro a développé un système de serveur multimédia basé sur Web Real-Time Communication (WebRTC) qui fournit des vidéos de flux en direct avec une latence inférieure à 500 ms, ou environ 5 secondes, permettant à tout le monde dans le groupe de surveillance de voir l'action simultanément.
Red5 Pro exécute sa plate-forme sur Oracle Cloud Infrastructure (OCI) et prend en charge les groupes de surveillance sur KeepBoxingFree.com. Chaque déploiement Red5 Pro prend en charge 50 000 utilisateurs, 6 250 groupes de surveillance et huit utilisateurs par groupe de surveillance. Red5 Pro peut évoluer par petits incréments : un seul noeud (le plus petit que vous pouvez redimensionner) ajoute une capacité de 300 à 1000 utilisateurs. Le redimensionnement par petits incréments permet à Red5 Pro de redimensionner à la demande sans instances inactives. Selon le nombre de personnes qui regardent et la durée pendant laquelle elles regardent, on estime que le trafic sortant générera :
- Bitrates de 4,5 Mbps pour jusqu'à 50 000 utilisateurs
- Latence inférieure à 500 ms, même pendant la capacité maximale
Red5 Pro a choisi d'exécuter sa plate-forme sur Oracle Cloud Infrastructure afin de bénéficier des avantages suivants :
- Flexibilité et adaptation rapide lors des rafales grâce à la forme de calcul flexible AMD E4
- Réduction des coûts de transfert de données
Aucun frais pour les transferts de données entrants. Pour les transferts de données sortants, les 10 premiers To par mois sont gratuits.
- Temps de lancement cohérents de Red5 noeuds Pro (instances)
Avec d'autres hyperscalers, les temps de lancement ont pris auparavant huit à dix heures. Avec OCI, les temps de lancement sont réduits à deux heures. Cela permet à Red5 Pro d'évoluer pour la capacité lorsqu'il a rapidement besoin de centaines de noeuds/instances.
Architecture
Le grand public, les célébrités et les radiodiffuseurs responsables de la fourniture du flux vidéo en direct pour un événement peuvent accéder à un Red5 Pro.
L'architecture se compose de clusters de serveurs Red5 Pro dans différentes régions d'Oracle Cloud Infrastructure (OCI), qui sont gérés par les gestionnaires de flux de données. Ces gestionnaires de flux sont les principaux points d'entrée de l'écosystème Red5 Pro et sont chargés d'affecter une instance de serveur appropriée pour publier ou s'abonner à un flux. Les gestionnaires de flux de données sont également équilibrés en charge et sont responsables de la surveillance et de la gestion des cycles de vie des noeuds.
Les utilisateurs s'inscrivent à un compte en accédant au serveur Web de la partie de surveillance. Les informations de compte utilisateur et les détails d'événement sont stockés dans un cluster Oracle MySQL Database Service entièrement géré qui héberge une base de données de conférence. Les titulaires de compte peuvent ensuite s'inscrire à un événement et inviter leurs amis à les rejoindre dans une veille. Après l'authentification, le trafic utilisateur passe par un ensemble d'équilibreurs de charge, puis surveille les serveurs Web de partie mis à l'échelle à l'aide du redimensionnement automatique OCI pour gérer toute augmentation du trafic utilisateur.
Toutes les instances virtuelles de l'architecture sont exécutées sur des machines virtuelles (VM) Flex AMD E4. Le jour d'un événement, les radiodiffuseurs envoient leur flux d'événement à un transcodeur, qui transforme le flux en différentes variantes (flux Adaptive Bit Rate de différentes résolutions) ou directement aux serveurs d'origine si le transcodage n'est pas nécessaire. Red5 Pro prend en charge deux types de flux : un flux en direct, généré par un diffuseur, et un flux Web, généré par les abonnés des groupes de surveillance impliqués dans le chat vidéo via leurs caméras Web.
Les gestionnaires de flux dirigent le trafic des diffuseurs vers les serveurs d'origine et le trafic des abonnés vers les serveurs en périphérie. Les gestionnaires de flux agissent également comme des serveurs de signalisation pour les sockets Web proxy entre les pairs dans une connexion WebRTC. Les informations de transmission en continu sont gérées par le gestionnaire de flux, puis stockées dans le cluster Oracle MySQL Database Service qui représente la base de données de conférence. Pour garantir une faible latence, Red5 Pro ne dispose d'aucun équilibreur de charge pour les serveurs d'origine et de périphérie, réduisant ainsi le nombre de sauts entre les éditeurs et les abonnés. Les groupes de sécurité réseau contrôlent le trafic réseau entre les ressources.
Le diagramme suivant illustre le processus de connexion Web et de diffusion.
La haute disponibilité de l'interface Web est assurée par des serveurs d'équilibrage de charge dans un domaine de disponibilité sur trois domaines de pannes. Les deux bases de données Oracle MySQL Database Service se trouvent dans un cluster hautement disponible. Les données écrites dans une base de données principale sont également répliquées dans la base de données de secours. Les gestionnaires de flux redimensionnent automatiquement les serveurs d'origine et les serveurs en périphérie pour prendre en charge les modifications de charge. Les gestionnaires de flux utilisent du code terraform pour provisionner et déprovisionner dynamiquement les noeuds en vue du redimensionnement automatique. Le redimensionnement est configuré et déclenché via les stratégies Red5 Pro, qui sont basées sur le nombre de connexions aux noeuds d'origine et de périphérie. Par exemple, par défaut, une alarme de 60 % est déclenchée pour chaque composant. Si une stratégie de 400 connexions est définie pour un serveur en périphérie, lorsqu'il existe 241 connexions, un nouveau serveur en périphérie est déployé pour accueillir des utilisateurs supplémentaires. Les stratégies peuvent être définies de manière à mettre en avant un serveur au lieu d'effectuer une mise à l'échelle selon les besoins. Le service de noms de domaine Oracle Cloud Infrastructure permet de gérer les zones DNS pour l'événement de prise en charge. Les services OCI Email Delivery sont utilisés pour envoyer des courriels du système Red5 Pro aux utilisateurs inscrits.
Le diagramme suivant illustre cette architecture de référence.
red5-oci-architecture-oracle.zip
Red5 La vision de Pro pour une architecture d'état future comprend :
- Déploiement de la plate-forme Red5 Pro dans plusieurs régions OCI à travers le monde
- Création d'une architecture colocative pour prendre en charge de nombreux canaux de diffusion par serveur
- Intégration des services vocaux et linguistiques d'intelligence artificielle d'Oracle pour la transcription vocale et textuelle, ainsi que des traductions multilingues pour les diffuseurs et les utilisateurs
L'architecture se compose des éléments suivants :
- Location
Une location est une partition sécurisée et isolée qu'Oracle configure dans Oracle Cloud lorsque vous êtes inscrit à Oracle Cloud Infrastructure. Vous pouvez créer, organiser et administrer vos ressources dans Oracle Cloud au sein de votre location. Une location est synonyme d'entreprise ou d'organisation. Généralement, une entreprise dispose d'une location unique et reflète sa structure organisationnelle dans cette location. Une location unique est généralement associée à un seul abonnement et un seul abonnement ne comporte généralement qu'une seule location.
- Région
Une région Oracle Cloud Infrastructure est une zone géographique localisée qui contient des centres de données, appelés domaines de disponibilité. Les régions sont indépendantes les unes des autres et de grandes distances peuvent les séparer (dans des pays voire des continents).
- Compartiment
Les compartiments sont des partitions logiques inter-région au sein d'une location Oracle Cloud Infrastructure. Utilisez des compartiments pour organiser vos ressources dans Oracle Cloud, contrôler l'accès aux ressources et définir des quotas d'utilisation. Pour contrôler l'accès aux ressources d'un compartiment donné, vous définissez des stratégies qui indiquent qui peut accéder aux ressources et les actions réalisables.
- Domaine de disponibilité
Les domaines de disponibilité sont des centres de données indépendants autonomes au sein d'une région. Les ressources physiques de chaque domaine de disponibilité sont isolées des ressources des autres domaines de disponibilité, ce qui assure la tolérance aux pannes. Les domaines de disponibilité ne partagent ni infrastructure telle qu'un réseau d'alimentation ou de refroidissement, ni réseau interne. Ainsi, il est peu probable qu'un problème survenant dans un domaine de disponibilité affecte les autres domaines de disponibilité de la région.
- Service Bastion
Oracle Cloud Infrastructure Bastion fournit un accès sécurisé limité et limité dans le temps aux ressources qui ne disposent pas d'adresses publiques et qui nécessitent des contrôles d'accès stricts aux ressources, tels que les machines virtuelles et Bare Metal, Oracle MySQL Database Service, Autonomous Transaction Processing (ATP), Oracle Container Engine for Kubernetes (OKE) et toute autre ressource qui autorise l'accès SSH (Secure Shell Protocol). Avec le service Oracle Cloud Infrastructure Bastion, vous pouvez activer l'accès aux hôtes privés sans déployer ni gérer d'hôte de saut. En outre, vous bénéficiez d'une meilleure posture de sécurité grâce aux droits d'accès basés sur l'identité et à une session SSH centralisée, auditée et liée au temps. Oracle Cloud Infrastructure Bastion élimine le besoin d'une adresse IP publique pour l'accès au bastion, ce qui élimine les problèmes et la surface d'attaque potentielle lors de l'accès à distance.
- DNS
Le service Oracle Cloud Infrastructure Domain Name System (DNS) est un réseau DNS anycast mondial hautement évolutif qui offre des performances, une résilience et une évolutivité DNS améliorées afin que les utilisateurs finals se connectent aux applications des clients le plus rapidement possible, où qu'ils se trouvent.
- Stratégie
Une stratégie Oracle Cloud Infrastructure Identity and Access Management indique qui peut accéder à quelles ressources et comment. L'accès est accordé au niveau du groupe et du compartiment, c'est-à-dire que vous pouvez écrire une stratégie qui accorde à un groupe un type d'accès spécifique dans un compartiment spécifique ou dans la location.
- Livraison par courriel
Oracle Cloud Infrastructure Email Delivery est un service de remise de courriels extrêmement évolutif, rentable et fiable permettant d'envoyer des courriels en grand nombre générés par les applications pour les communications transactionnelles, de notification et de marketing fondamentales telles que les reçus, les alertes de détection des fraudes, la vérification d'identité multifacteur et la réinitialisation de mot de passe.
- Terraform
Oracle Cloud Infrastructure Resource Manager permet d'automatiser le processus de provisionnement des ressources Terraform. Il permet d'installer, de configurer et de gérer les ressources à l'aide du modèle Infrastructure-as-Code.
- Réseau cloud virtuel (VCN) et sous-réseaux
Un VCN est un réseau personnalisable défini par logiciel que vous configurez dans une région Oracle Cloud Infrastructure. Comme les réseaux de centres de données traditionnels, les réseaux cloud virtuels vous donnent un contrôle total sur votre environnement réseau. Un VCN peut comporter plusieurs blocs CIDR qui ne se chevauchent pas et que vous pouvez modifier après avoir créé le VCN. Vous pouvez segmenter un VCN en sous-réseaux, qui peuvent être ciblés vers une région ou un domaine de disponibilité. Chaque sous-réseau se compose d'une plage contiguë d'adresses qui ne chevauchent pas les autres sous-réseaux du VCN. Vous pouvez modifier la taille d'un sous-réseau après sa création. Un sous-réseau peut être public ou privé.
- Liste de sécurité
Pour chaque sous-réseau, vous pouvez créer des règles de sécurité qui indiquent la source, la destination et le type de trafic qui doivent être autorisés vers et depuis le sous-réseau.
- Table de routage
Les tables de routage virtuel contiennent des règles pour acheminer le trafic des sous-réseaux vers des destinations en dehors d'un VCN, généralement via des passerelles.
- Passerelle Internet
La passerelle Internet autorise le trafic entre les sous-réseaux publics d'un VCN et le réseau Internet public.
- Passerelle de service
La passerelle de service fournit l'accès d'un VCN à d'autres services, tels qu'Oracle Cloud Infrastructure Object Storage. Le trafic du VCN vers le service Oracle se déplace sur la structure réseau Oracle et ne traverse jamais Internet.
- Groupe de sécurité réseau
Le groupe de sécurité réseau fait office de pare-feu virtuel pour vos ressources cloud. Avec le modèle de sécurité de confiance zéro d'Oracle Cloud Infrastructure, tout le trafic est refusé et vous pouvez contrôler le trafic réseau à l'intérieur d'un VCN. Un groupe de sécurité réseau se compose d'un ensemble de règles de sécurité entrantes et sortantes qui s'appliquent uniquement à un ensemble spécifié de cartes d'interface réseau virtuelles dans un seul VCN.
- Programme d'équilibrage de charge
Le service Oracle Cloud Infrastructure Load Balancing fournit une répartition de trafic automatisée à partir d'un seul point d'entrée vers plusieurs serveurs du back-end.
- Calcul
Le service Oracle Cloud Infrastructure Compute vous permet de provisionner et de gérer les hôtes de calcul dans le cloud. Vous pouvez lancer des instances de calcul avec des formes qui répondent à vos besoins en ressources en matière de CPU, de mémoire, de bande passante réseau et de stockage. Après avoir créé une instance de calcul, vous pouvez y accéder en toute sécurité, la redémarrer, attacher et détacher des volumes, et y mettre fin lorsque vous n'en avez plus besoin.
- Oracle MySQL Database Service
Oracle MySQL Database Service est un service de base de données Oracle Cloud Infrastructure (OCI) entièrement géré qui permet aux développeurs de développer et de déployer rapidement des applications cloud natives sécurisées. Optimisé pour et exclusivement disponible dans OCI, Oracle MySQL Database Service est construit, géré et pris en charge à 100 % par les équipes d'ingénierie OCI et MySQL.
Oracle MySQL Database Service dispose d'un moteur d'analyse intégré hautes performances (HeatWave) qui permet d'exécuter des analyses sophistiquées en temps réel directement sur une base de données MySQL opérationnelle.
Apparaissez dans Création et déploiement
Vous souhaitez montrer ce que vous avez créé sur Oracle Cloud Infrastructure ? Vous souhaitez partager vos enseignements, vos meilleures pratiques et vos architectures de référence avec notre communauté mondiale d'architectes cloud ? Laissez-vous guider.
- Télécharger le modèle (PPTX)
Illustrez votre propre architecture de référence en glissant-déposant les icônes dans l'exemple d'image filaire.
- Regarder le tutoriel sur l'architecture
Obtenez des instructions détaillées sur la création d'une architecture de référence.
- Soumettre votre diagramme
Envoyez-nous un courriel avec votre diagramme. Nos architectes cloud passeront en revue votre diagramme et vous contacteront pour discuter de votre architecture.