Distribuisci una piattaforma di streaming video per feste di controllo bassa frequenza su Oracle Cloud

La domanda di live streaming watch party è boom negli ultimi anni, creando un mercato in crescita per piattaforme di streaming come Red5 Pro.

Nonostante l'intensa concorrenza tra i provider di streaming, non tutte le piattaforme sono create uguali. Infatti, molti servizi di streaming sono dotati di latenza di 30-120s o più. Tale ritardo può rovinare una festa di guardia, come alcuni membri arrivano a sperimentare l'emozione di una corsa a casa, slam dunk, o bussare come succede, mentre altri soffrono attraverso i trucchi dei loro co-watcher secondi prima di vedere l'azione stessa. Ma Red5 Pro ha sviluppato un sistema di media server basato su Web Real-Time Communication (WebRTC) che offre video in streaming dal vivo con una latenza inferiore a 500 ms o circa 5 secondi, consentendo a tutti gli utenti della watch party di vedere l'azione simultaneamente.

Red5 Pro esegue la propria piattaforma su Oracle Cloud Infrastructure (OCI) e supporta le feste di controllo su KeepBoxingFree.com. Ogni distribuzione Red5 Pro supporta 50.000 utenti, 6.250 watch party e otto utenti per watch party. Red5 Pro è in grado di ridimensionare con piccoli incrementi: un singolo nodo (il più piccolo con cui è possibile scalare) aggiunge una capacità di 300-1000 utenti. Il ridimensionamento con piccoli incrementi consente a Red5 Pro di scalare su richiesta senza istanze inattive. A seconda di quante persone stanno guardando e per quanto tempo guardano, si stima che il traffico in uscita genererà:

  • Bitrate di 4,5 Mbps per un massimo di 50.000 utenti
  • Latenza inferiore a 500 ms anche durante la massima capacità

Red5 Pro ha scelto di eseguire la propria piattaforma su Oracle Cloud Infrastructure in modo che possa trarre vantaggio da:

  • Flessibilità di scale-out rapido durante i cursori utilizzando la forma di computazione Flex AMD E4
  • Riduzione dei costi di trasferimento dei dati

    Non sono previsti addebiti per i trasferimenti dati in entrata. Per i trasferimenti dati in uscita, i primi 10 TB al mese sono gratuiti.

  • Tempi coerenti per l'avvio dei nodi Red5 Pro (istanze)

    Con altri iperscaler, i tempi di lancio richiedevano da otto a dieci ore. Con OCI, i tempi di lancio vengono ridotti a due ore. Ciò consente a Red5 Pro di ridimensionarsi per la capacità quando ha bisogno rapidamente di centinaia di nodi/istanze.

Architettura

Un Red5 Pro è accessibile dal pubblico in generale, dalle celebrità e dalle emittenti televisive responsabili della fornitura di video feed live per un evento.

L'architettura è costituita da cluster di Red5 Pro server in diverse aree di Oracle Cloud Infrastructure (OCI), gestiti da stream manager. Questi stream manager sono i principali punti di accesso all'ecosistema Red5 Pro e sono responsabili dell'assegnazione di un'istanza server appropriata per la pubblicazione o la sottoscrizione a un flusso. Anche i manager dei flussi si bilanciano al carico e sono responsabili del monitoraggio e della gestione dei cicli di vita dei nodi.

Gli utenti si registrano per un account accedendo al server Web delle parti di controllo. Le informazioni sugli account utente e i dettagli degli eventi vengono memorizzati in un cluster completamente gestito di Oracle MySQL Database Service che ospita un database di conferenze. I titolari di account possono quindi registrarsi per un evento e invitare i propri amici a unirsi a loro in una festa di guardia. Dopo l'autenticazione, il traffico utente passa attraverso un set di load balancer e poi guarda i Web server della parte di cui viene eseguito il ridimensionamento utilizzando il ridimensionamento automatico OCI per gestire eventuali picchi nel traffico utente.

Tutte le istanze virtuali nell'architettura vengono eseguite su virtual machine (VM) Flex AMD E4. Il giorno di un evento, le emittenti inviano il proprio feed di eventi a un transcoder, che trasforma il feed in varianti diverse (flussi Adaptive Bit Rate di varie risoluzioni) o direttamente ai server di origine se non è necessaria la transcodifica. Red5 Pro supporta due tipi di flussi: un flusso live, generato da un'emittente televisiva, e un flusso web, generato da abbonati di orologi che sono coinvolti nella video chat attraverso le loro videocamere web.

I gestori del flusso indirizzano il traffico di trasmissione ai server di origine e il traffico degli abbonati ai server perimetrali. I gestori di flussi fungono anche da server di segnalazione per fungere da proxy per i socket Web tra i peer in una connessione WebRTC. Le informazioni sullo streaming vengono gestite da Stream Manager e quindi memorizzate nel cluster Oracle MySQL Database Service che rappresenta il database delle conferenze. Per garantire una bassa latenza, Red5 Pro non dispone di load balancer per i server di origine e perimetrali, riducendo al minimo il hop tra i publisher e i sottoscrittori. I gruppi di sicurezza di rete (NSG) controllano il traffico di rete tra le risorse.

Nel diagramma riportato di seguito viene illustrato il processo di connessione di tipo festa Web e trasmissione.



red5-oci-data-flow-oracle.zip

L'alta disponibilità dell'interfaccia Web è gestita dai server di bilanciamento del carico in un dominio di disponibilità su tre domini di errore. Entrambi i database di Oracle MySQL Database Service si trovano in un cluster ad alta disponibilità. I dati scritti in un database primario vengono replicati anche nel database in standby. I manager dei flussi eseguono la scala automatica dei server di origine e dei server perimetrali per supportare le modifiche nel carico. I manager di flusso utilizzano codice terraform per eseguire il provisioning e l'annullamento del provisioning dei nodi in modo dinamico per il ridimensionamento automatico. La scala viene configurata e attivata tramite i criteri Red5 Pro, basati sul numero di connessioni ai nodi di origine e perimetrali. Ad esempio, per impostazione predefinita viene attivato un allarme del 60% per ogni componente. Se per un server perimetrale è impostato un criterio di 400 connessioni, quando sono presenti 241 connessioni, viene distribuito un nuovo server perimetrale per consentire l'uso di utenti aggiuntivi. I criteri possono essere impostati in modo da predire un server invece di eseguire il ridimensionamento in base alle esigenze. Il servizio dei nomi di dominio di Oracle Cloud Infrastructure viene utilizzato per gestire le zone DNS per l'evento di supporto. I servizi di consegna tramite e-mail OCI vengono utilizzati per inviare e-mail dal sistema Red5 Pro agli utenti registrati.

Il diagramma riportato di seguito illustra questa architettura di riferimento.



red5-oci-architecture-oracle.zip

Red5 La visione di Pro per una futura architettura di stato include:

  • Distribuzione della piattaforma Red5 Pro in più aree geografiche OCI in tutto il mondo
  • Creazione di un'architettura multi-tenant per supportare molti canali di trasmissione per server
  • Integrazione dei servizi vocali e linguistici Oracle di intelligenza artificiale per la trascrizione del testo e le traduzioni del linguaggio che consentono opzioni multilingue sia per le emittenti che per gli utenti

L'architettura è dotata dei componenti elencati di seguito.

  • Tenancy

    Una tenancy è una partizione sicura e isolata che Oracle imposta all'interno di Oracle Cloud quando ti iscrivi a Oracle Cloud Infrastructure. Puoi creare, organizzare e amministrare le tue risorse in Oracle Cloud all'interno della tua tenancy. Una tenancy è sinonimo di azienda o organizzazione. In genere, un'azienda avrà una singola tenancy e ne rifletterà la struttura organizzativa all'interno di tale tenancy. Una singola tenancy in genere è associata a una singola sottoscrizione e una singola sottoscrizione in genere ha una sola tenancy.

  • Area

    Un'area Oracle Cloud Infrastructure è un'area geografica localizzata che contiene uno o più data center, definiti domini di disponibilità. Le regioni sono indipendenti da altre regioni e grandi distanze possono separarle (in tutti i paesi o anche in continenti).

  • Compartimento

    I compartimenti sono partizioni logiche tra più aree all'interno di una tenancy di Oracle Cloud Infrastructure. Usare i compartimenti per organizzare le risorse in Oracle Cloud, controllare l'accesso alle risorse e impostare le quote di utilizzo. Per controllare l'accesso alle risorse in un determinato compartimento, definisci i criteri che specificano chi può accedere alle risorse e quali azioni può eseguire.

  • Dominio di disponibilità

    I domini di disponibilità sono data center standalone indipendenti all'interno di un'area geografica. Le risorse fisiche in ciascun dominio di disponibilità sono isolate dalle risorse presenti negli altri domini di disponibilità, che offrono tolleranza agli errori. I domini di disponibilità non condividono l'infrastruttura, ad esempio l'alimentazione, il raffreddamento o la rete interna del dominio di disponibilità. È pertanto improbabile che l'eventuale guasto di un dominio di disponibilità influenzi gli altri domini di disponibilità nell'area.

  • Servizio bastion

    Oracle Cloud Infrastructure Bastion offre accesso sicuro e limitato nel tempo a risorse che non hanno endpoint pubblici e che richiedono severi controlli di accesso alle risorse, come Bare Metal e Virtual Machine, Oracle MySQL Database Service, Autonomous Transaction Processing (ATP), Oracle Container Engine for Kubernetes (OKE) e qualsiasi altra risorsa che consente l'accesso a Secure Shell Protocol (SSH). Con il servizio Bastion di Oracle Cloud Infrastructure, è possibile abilitare l'accesso agli host privati senza distribuire e gestire un jump host. Inoltre, puoi ottenere livelli di sicurezza migliori con autorizzazioni basate sulle identità e una sessione SSH centralizzata, controllata e con limiti di tempo. Oracle Cloud Infrastructure Bastion elimina la necessità di un IP pubblico per l'accesso bastion, eliminando le difficoltà e la potenziale superficie di attacco durante la fornitura dell'accesso remoto.

  • DNS

    Il servizio DNS (Domain Name System) di Oracle Cloud Infrastructure è una rete DNS (Domain Name System) a anycast altamente scalabile che offre prestazioni, resilienza e scalabilità DNS avanzate, in modo che gli utenti finali si connettono all'applicazione dei clienti il più rapidamente possibile, ovunque si trovino.

  • Criterio

    Un criterio di Oracle Cloud Infrastructure Identity and Access Management specifica chi può accedere a quali risorse e come. L'accesso viene concesso a livello di gruppo e compartimento. Ciò significa che puoi scrivere un criterio che concede a un gruppo un tipo specifico di accesso all'interno di un compartimento specifico o alla tenancy.

  • Consegna mediante posta elettronica

    Oracle Cloud Infrastructure Email Delivery è un servizio di consegna tramite e-mail altamente scalabile, conveniente e affidabile per inviare e-mail di alto volume generate dall'applicazione per comunicazioni di marketing mission critical, notifiche e transazionali come ricevute di ritorno, avvisi di rilevamento frodi, verifica delle identità a più fattori e reimpostazioni delle password.

  • Terraform

    Oracle Cloud Infrastructure Resource Manager consente di automatizzare il processo di provisioning delle risorse Terraform. Ti consente di installare, configurare e gestire le risorse utilizzando il modello infrastructure-as-code.

  • Rete cloud virtuale (VCN) e subnet

    Una VCN è una rete personalizzabile e definita dal software configurata in un'area Oracle Cloud Infrastructure. Analogamente alle reti di data center tradizionali, i VCN offrono il controllo completo sull'ambiente di rete. Una VCN può avere più blocchi CIDR non sovrapposti che puoi modificare dopo aver creato la VCN. Puoi segmentare una VCN nelle subnet che possono essere definite nell'area o in un dominio di disponibilità. Ogni subnet è composta da un intervallo contiguo di indirizzi che non si sovrappongono alle altre subnet nella VCN. Puoi modificare le dimensioni di una subnet dopo la creazione. Una subnet può essere pubblica o privata.

  • Lista di sicurezza

    Per ogni subnet, puoi creare regole di sicurezza che specifichino l'origine, la destinazione e il tipo di traffico che deve essere consentito all'interno e all'esterno della subnet.

  • Tabella di instradamento

    Le tabelle di instradamento virtuale contengono regole per instradare il traffico dalle subnet alle destinazioni esterne a una VCN, in genere tramite gateway.

  • Gateway Internet

    Il gateway Internet consente il traffico tra le subnet pubbliche in una rete VCN e la rete Internet pubblica.

  • Gateway del servizio

    Il gateway di servizi fornisce l'accesso da una VCN ad altri servizi, come Oracle Cloud Infrastructure Object Storage. Il traffico dalla VCN al servizio Oracle viaggia sulla struttura di rete Oracle e non attraversa mai Internet.

  • Gruppo di sicurezza di rete (NSG)

    Il gruppo di sicurezza di rete (NSG) agisce come firewall virtuale per le risorse cloud. Con il modello di sicurezza zero-trust di Oracle Cloud Infrastructure, tutto il traffico viene negato e puoi controllare il traffico di rete all'interno di una VCN. Un gruppo NSG è costituito da un set di regole di sicurezza in entrata e in uscita valide solo per un set specificato di VNIC in una singola VCN.

  • Load balancer

    Il servizio Oracle Cloud Infrastructure Load Balancing offre la distribuzione automatica del traffico da un unico punto di accesso a più server nel back-end.

  • Calcola

    Il servizio Oracle Cloud Infrastructure Compute consente di eseguire il provisioning e la gestione degli host di computazione nel cloud. Puoi avviare le istanze di computazione con forme che soddisfano i requisiti delle risorse per CPU, memoria, larghezza di banda di rete e storage. Dopo aver creato un'istanza di computazione, puoi accedere a tale istanza in modo sicuro, riavviarla, collegare e scollegare volumi e terminarla quando non hai più bisogno di tale istanza.

  • Oracle MySQL Database Service

    Oracle MySQL Database Service è un servizio di database Oracle Cloud Infrastructure (OCI) completamente gestito che consente agli sviluppatori di sviluppare e distribuire rapidamente applicazioni cloud native sicure. Ottimizzato ed esclusivamente disponibile in OCI, Oracle MySQL Database Service è costruito, gestito e supportato al 100% dai team di progettazione OCI e MySQL.

    Oracle MySQL Database Service dispone di un motore di analitica integrato e ad alte prestazioni (HeatWave) per eseguire analisi sofisticate in tempo reale direttamente su un database MySQL operativo.

Partecipa all'evento Creato e distribuito

Vuoi mostrare cosa hai costruito su Oracle Cloud Infrastructure? Vuoi condividere le tue lezioni apprese, le migliori prassi e le architetture di riferimento con la nostra comunità globale di architetti cloud? Ti aiutiamo a iniziare.

  1. Scarica il modello (PPTX)

    Illustrare la propria architettura di riferimento trascinando e rilasciando le icone nel wireframe di esempio.

  2. Guarda l'esercitazione sull'architettura

    Istruzioni dettagliate su come creare un'architettura di riferimento.

  3. Invia il tuo diagramma

    Inviaci un'e-mail con il tuo diagramma. I nostri architetti cloud esamineranno il tuo diagramma e ti contatteranno per discutere della tua architettura.

Approvazioni

  • Autori: Robert Huie, Sasha Banks-Louie
  • Collaboratore: Praveen Coca, Bill Wimsatt, Robert Lies