Distribuisci una piattaforma Live Streaming and Video-on-Demand (VOD) su Oracle Cloud

Che tu sia una celebrità A-list, una casa di produzione di contenuti, un regista indipendente o un musicista, In.Live aiuta i creatori a controllare il loro destino artistico.

L'esecuzione della propria piattaforma di streaming e video on demand (VOD) su Oracle Cloud Infrastructure (OCI) consente alla piattaforma In.Live di integrare ogni tipo di performance live e on demand con qualsiasi tipo di supporto creato formalmente.

Fondata nel 2020, In.Live, con sede a San Francisco, ha sviluppato una piattaforma di media in streaming che consente agli autori di commercializzare, distribuire e monetizzare i propri contenuti in streaming dal vivo e su richiesta direttamente a fan e partner, mantenendo al contempo il controllo dell'arte, del marchio e dei dati utente. Il crescente slancio delle criptovalute e dei token non fungibili (NFT) ha aperto nuove porte ai creatori di tutti i tipi, aiutandoli a raccogliere fondi, creare comunità e progettare esperienze metaverse coinvolgenti, utilizzando la piattaforma In.Live.

In.Live ha collaborato con gli ingegneri Oracle Cloud per progettare un'architettura che:

  • Distribuisce una zona di destinazione CIS (Center for Internet Security) OCI da utilizzare come baseline sicura per la progettazione iniziale della tenancy
  • Esegui il provisioning dei cluster, dei nodi e dei pod Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) su Bare Metal e virtual machine (VM)
  • Automatizza il provisioning OKE utilizzando Terraform
  • Esegue il provisioning di otto VM per l'inclusione dei flussi, le applicazioni e i servizi
  • Esegue il provisioning di una VM per l'installazione e la configurazione del database Postgres

I punti salienti dell'architettura di stato corrente di In.Live includono:

  • Istanze di computazione Ampere Altra A1
  • Cluster Kubernetes alimentati da istanze Ampere
  • Istanze di database PostgreSQL e MySQL
  • Kafka, Prometheus e Grafana vengono utilizzati per il monitoraggio e il log
  • Un server GitLab viene distribuito per DevOps

Architettura

In.Live ha creato e distribuito la propria piattaforma di streaming utilizzando le istanze di computazione Ampere Altra A1 e una combinazione di istanze PostgreSQL e MySQL.

Esistono due categorie di utenti della piattaforma di streaming In.Live: creatori di contenuti e consumer di contenuti. Gli autori possono trasmettere i loro contenuti in diretta o tramite video su richiesta (VOD). I creatori inviano i loro contenuti video al cloud stream di In.Live in cui il flusso video viene codificato mediante un cluster K3S alimentato da istanze Ampere. Il cluster K3S attualmente utilizza quattro lavoratori e consente fino a 8-10 visualizzazioni. K3S ridimensiona la piattaforma regolando il numero di istanze in base alle esigenze. La rete CDN (Rete di distribuzione dei contenuti, Content Distribution Network) fornisce lo streaming attivo. I video vengono memorizzati nello storage degli oggetti per l'accesso VOD.

Per il back end della piattaforma viene distribuito un altro cluster K3S che supporta le funzionalità di ticketing e integrazione della piattaforma In.Live. Utilizzando le istanze Arm, la piattaforma applicativa consente agli autori di pianificare e monetizzare i propri contenuti utilizzando le vendite di biglietti. La piattaforma si integra con varie piattaforme commerciali (pagamento), CRM (Customer Relationship Management), sito Web e Web3. Sia la piattaforma applicativa che il cloud dei flussi utilizzano PostgreSQL per lo storage del database.

Stripe viene utilizzato per i pagamenti e la monetizzazione. Firebase di Google Cloud Platform (GCP) viene utilizzato per chat e data warehouse e gli analytics vengono eseguiti tramite BigQuery. BigQuery viene utilizzato anche per raccogliere e analizzare le interazioni dei social media, i dati delle applicazioni, il traffico del sito Web e le statistiche dei video di produzione. I consumatori utilizzano la piattaforma In.Live per la gestione degli show, la visualizzazione e la visualizzazione dei ticket. I consumatori acquistano i biglietti per accedere ai contenuti consegnati da Fastly CDN. Se i creatori sono integrati con Web3, i consumatori hanno anche la possibilità di accedere al contenuto NFT e metaverso.

Oltre a raccogliere e analizzare i dati, In.Live ha distribuito Kafka, Prometheus e Grafana per il monitoraggio e il log. Un server GitLab viene distribuito per DevOps. Le istanze MySQL vengono utilizzate per i database per supportare gli strumenti di monitoraggio e registrazione.

Il diagramma riportato di seguito descrive l'architettura.



architettura live-oci-oracle.zip

La piattaforma è attualmente distribuita in un singolo dominio di disponibilità con tre domini di errore. Regione OCI - Sydney viene utilizzata per un sito perimetrale. Nella roadmap per In.Live puoi esaminare le opzioni relative all'alta disponibilità e al recupero da errori irreversibili sfruttando domini di disponibilità e aree aggiuntive.

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).

  • 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 alimentazione o 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • Calcolo

    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.

  • Storage degli oggetti

    Lo storage degli oggetti garantisce un accesso rapido a grandi quantità di dati strutturati e non strutturati di qualsiasi tipo di contenuto, inclusi backup del database, dati analitici e contenuti avanzati, ad esempio immagini e video. Puoi memorizzare i dati in tutta sicurezza e poi recuperarli direttamente da Internet o dall'interno della piattaforma cloud. Puoi ridimensionare lo storage in modo trasparente senza alcun peggioramento a livello di prestazioni o affidabilità dei servizi. Utilizza lo storage standard per lo storage "hot" a cui devi accedere in modo rapido, immediato e frequente. Utilizzare lo storage di archivio per lo storage "freddo" che si mantiene per lunghi periodi di tempo e raramente può accedere.

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.

Visualizza altro

Scopri di più sulle caratteristiche di questa architettura e sulle architetture correlate.

Approvazioni

  • Authors: Robert Huie, Sasha Banks-Louie
  • Contributors: Greg Thurston, Dave Swanson, Robert Lies

    Partner Team: In.Live Team: Eswar Priyadarshan, Javad Mustafayev