Disponibilità elevata con Servizi multimediali e Video su richiesta (VOD)

Logo servizi multimediali v3


Avviso

Servizi multimediali di Azure verrà ritirato il 30 giugno 2024. Per altre informazioni, vedere la Guida al ritiro di AMS.

Disponibilità elevata per VOD

Esiste un modello di progettazione a disponibilità elevata denominato Geodes nella documentazione dell'architettura di Azure. Descrive come vengono distribuite risorse duplicate in aree geografiche diverse per offrire scalabilità e resilienza. È possibile usare i servizi di Azure per creare un'architettura di questo tipo per coprire molte considerazioni sulla progettazione a disponibilità elevata, ad esempio ridondanza, monitoraggio dell'integrità, bilanciamento del carico e backup dei dati e ripristino. Un'architettura di questo tipo è descritta di seguito con i dettagli su ogni servizio usato nella soluzione e sul modo in cui i singoli servizi possono essere usati per creare un'architettura a disponibilità elevata per l'applicazione VOD.

Esempio

È disponibile un esempio per l'uso per acquisire familiarità con la disponibilità elevata con Servizi multimediali e Video on Demand (VOD). Viene inoltre illustrato in dettaglio il modo in cui i servizi vengono usati per uno scenario VOD. L'esempio non è destinato a essere usato nell'ambiente di produzione nel formato corrente. Esaminare attentamente il codice di esempio e il readme, in particolare la sezione sulle modalità di errore prima di integrarla in un'applicazione di produzione. Un'implementazione di produzione di disponibilità elevata per Video on Demand (VOD) deve anche esaminare attentamente la strategia rete per la distribuzione di contenuti (CDN). Vedere il codice in GitHub.

Panoramica dei servizi

I servizi usati in questa architettura di esempio includono:

Icona Nome Descrizione
Questa è l'icona dell'account dei servizi multimediali. Account dei servizi multimediali Descrizione:
Un account di Servizi multimediali è il punto di partenza per la gestione, la crittografia, la codifica, l'analisi e lo streaming di contenuti multimediali in Azure. È associato a una risorsa dell'account di archiviazione di Azure. L'account e tutte le risorse di archiviazione associate devono trovarsi nella stessa sottoscrizione di Azure.

Uso di VOD:
Questi sono i servizi usati per codificare e distribuire gli asset video e audio. Per la disponibilità elevata, si configurano almeno due account di Servizi multimediali, ognuno in un'area diversa. Altre informazioni su Servizi multimediali di Azure.
Si tratta dell'icona dell'account di archiviazione. Account di archiviazione Descrizione:
Un account di archiviazione di Azure contiene tutti gli oggetti dati di Archiviazione di Azure: BLOB, file, code, tabelle e dischi. I dati sono accessibili da qualsiasi punto del mondo su HTTP o HTTPS.

Ogni account di Servizi multimediali, in ogni area avrebbe un account di archiviazione nella stessa area.

Uso di VOD:
È possibile archiviare i dati di input e output per l'elaborazione e lo streaming VOD. Altre informazioni su Archiviazione di Azure.
Si tratta dell'icona della coda di archiviazione di Azure. Coda di archiviazione di Azure Descrizione:
Il servizio di archiviazione di accodamento di Azure consente di archiviare grandi quantità di messaggi ai quali è possibile accedere da qualsiasi parte del mondo mediante chiamate autenticate tramite HTTP o HTTPS.

Uso di VOD:
Le code possono essere usate per inviare e ricevere messaggi per coordinare le attività tra moduli diversi. L'esempio usa una coda di archiviazione di Azure, ma Azure offre altri tipi di code, ad esempio il bus di servizio e le code affidabili di Service Fabric, che possono soddisfare meglio le esigenze. Altre informazioni sulla coda di Azure.
Questa è l'icona di Azure Cosmos DB. Azure Cosmos DB Descrizione:
Azure Cosmos DB è il servizio di database distribuito a più modelli di Microsoft che ridimensiona in modo indipendente la velocità effettiva e l'archiviazione in qualsiasi numero di aree di Azure in tutto il mondo.

Uso di VOD:
Le tabelle possono essere usate per archiviare i record di stato di output del processo e tenere traccia dello stato di integrità di ogni istanza di Servizi multimediali. È anche possibile tenere traccia/registrare lo stato di ogni chiamata all'API Servizi multimediali. Altre informazioni su Azure Cosmos DB.
Si tratta dell'icona Identità gestita. Identità gestita Descrizione:
L'identità gestita è una funzionalità di Azure AD che fornisce un'identità gestita automaticamente in Azure AD. Può essere usato per eseguire l'autenticazione a qualsiasi servizio che supporti l'autenticazione di Azure AD, tra cui Key Vault, senza archiviare le credenziali nel codice.

Uso di VOD:
Funzioni di Azure può usare l'identità gestita per eseguire l'autenticazione alle istanze di Servizi multimediali per connettersi a Key Vault. Altre informazioni sull'identità gestita.
Questa è l'icona Key Vault. Key Vault Descrizione:
Azure Key Vault può essere usato per archiviare e controllare in modo sicuro l'accesso ai token, password, certificati, chiavi API e altri segreti. Può essere usata anche come soluzione di gestione delle chiavi. Con Azure Key Vault è semplice creare e controllare le chiavi di crittografia usate per crittografare i dati. Può eseguire facilmente il provisioning, la gestione e la distribuzione di certificati pubblici e privati di Transport Layer Security/Secure Sockets Layer (TLS/SSL) da usare con Azure e le risorse connesse interne. I segreti e le chiavi possono essere protetti da software o FIPS 140-2 Livello 2 convalidati da HSMS.

Uso di VOD:
Key Vault può essere usato per configurare i criteri di accesso per l'entità servizio per l'applicazione. Può essere usato per archiviare l'stringa di connessione agli account di archiviazione. Si usa Key Vault per archiviare le stringhe di connessione agli account di archiviazione e cosmos db. È anche possibile usare Key Vault per archiviare la configurazione complessiva del cluster. Per ogni istanza del servizio multimediale è possibile archiviare l'ID sottoscrizione, il nome del gruppo di risorse e il nome dell'account. Per altre informazioni, vedere come viene usato nell'esempio. Altre informazioni su Key Vault.
Si tratta dell'icona Funzioni di Azure. Funzioni di Azure Descrizione:
Eseguire piccole parti di codice (denominate "funzioni") senza preoccuparsi dell'infrastruttura dell'applicazione con Funzioni di Azure. Altre informazioni sulle Funzioni di Azure.

Uso di VOD:
Funzioni di Azure può essere usato per archiviare i moduli dell'applicazione VOD. I moduli per un'applicazione VOD possono includere:

Modulo pianificazione processi
Il modulo di pianificazione del processo consiste nell'inviare nuovi processi a un cluster di Servizi multimediali (due o più istanze in aree diverse). Tenere traccia dello stato di integrità di ogni istanza di Servizi multimediali e inviare un nuovo processo all'istanza integra successiva.

Modulo Stato processo
Il modulo stato del processo è in ascolto degli eventi di stato del processo provenienti da Griglia di eventi di Azure servizio. Archivia gli eventi nell'archivio eventi per ridurre al minimo il numero di chiamate alle API di Servizi multimediali in base al resto dei moduli.

Modulo Integrità istanza
Questo modulo tiene traccia dei processi inviati e determina lo stato di integrità per ogni istanza di Servizi multimediali. Tenere traccia dei processi completati, dei processi non riusciti e dei processi che non sono mai stati completati.

Modulo di provisioning
Questo modulo eseguirà il provisioning degli asset elaborati. Copiare i dati dell'asset in tutte le istanze di Servizi multimediali e configurare il servizio Frontdoor di Azure per garantire che gli asset possano essere trasmessi anche se alcune istanze di Servizi multimediali non erano disponibili. Si configurano anche localizzatori di streaming.

Modulo di verifica dei processi
Questo modulo tiene traccia di ogni processo inviato, invia di nuovo processi non riusciti ed esegue la pulizia dei dati del processo una volta completato correttamente un processo.
Si tratta dell'icona servizio app. servizio app (e piano) Descrizione:
Il Servizio app di Azure è un servizio per l'hosting di applicazioni Web, API REST e back-end mobili, basato su HTTP. Supporta .NET, .NET Core, Java, Node.js, PHP o Python. Le applicazioni vengono eseguite e ridimensionate in ambienti basati su Windows e Linux.

Uso di VOD:
Ogni modulo sarà ospitato da un servizio app. Altre informazioni sulle servizio app.
Questa è l'icona frontdoor di Azure. Frontdoor di Azure Descrizione:
Frontdoor di Azure viene usato per definire, gestire e monitorare il routing globale del traffico Web ottimizzando le prestazioni ottimali e il failover globale rapido per la disponibilità elevata.

Uso di VOD:
Frontdoor di Azure può essere usato per instradare il traffico agli endpoint di streaming. Altre informazioni su Frontdoor di Azure.
Questa è l'icona Griglia di eventi di Azure. Griglia di eventi di Azure Descrizione:
Creato per le architetture basate su eventi, Griglia di eventi ha il supporto predefinito per gli eventi provenienti dai servizi di Azure, ad esempio BLOB di archiviazione e gruppi di risorse. Include anche il supporto per gli eventi di argomento personalizzati. I filtri possono essere usati per instradare eventi specifici a endpoint diversi, multicast a più endpoint e per assicurarsi che gli eventi siano recapitati in modo affidabile. Ottimizza la disponibilità estendendo in modo nativo più domini di errore in ogni area e tra zone di disponibilità.

Uso di VOD:
Griglia di eventi può essere usata per tenere traccia di tutti gli eventi dell'applicazione e archiviarli per mantenere lo stato del processo. Altre informazioni su Griglia di eventi di Azure.
Questa è l'icona di Application Insights. Application Insights Descrizione:
Application Insights, una funzionalità di Monitoraggio di Azure, è un servizio di gestione delle prestazioni applicative (APM, Application Performance Management) estendibile per sviluppatori e professionisti DevOps. Viene usato per monitorare le applicazioni live. Rileva anomalie delle prestazioni e include strumenti di analisi per diagnosticare i problemi e comprendere cosa fanno gli utenti con un'app. Il servizio è progettato per supportare il miglioramento continuo delle prestazioni e dell'usabilità.

Uso di VOD:
Tutti i log possono essere inviati a Application Insights. È possibile visualizzare l'istanza elaborata da ogni processo cercando messaggi di processo creati correttamente. Può contenere tutti i metadati del processo inviati, inclusi l'identificatore univoco e le informazioni sul nome dell'istanza. Altre informazioni su Application Insights.

Architettura

Questo diagramma generale illustra l'architettura dell'esempio fornito per iniziare a usare servizi multimediali e disponibilità elevata.

Diagramma dell'architettura di alto livello (VOD) video on demand

Procedure consigliate

Regioni

  • Creare due account di Servizi multimediali di Azure. I due account devono trovarsi in aree diverse. Per altre informazioni, vedere Aree in cui viene distribuito il servizio Servizi multimediali di Azure.
  • Caricare i supporti nella stessa area da cui si prevede di inviare il processo.
  • Se è quindi necessario inviare di nuovo il processo a un'altra area, è possibile usare o usare JobInputHttpCopy-Blob per copiare i dati dal contenitore asset di origine a un contenitore Asset nell'area alternativa.

Monitoraggio

  • Sottoscrivere i JobStateChange messaggi in ogni account tramite Griglia di eventi di Azure.

    • Usare Microsoft.Azure.EventGrid SDK (che supporta gli eventi di Servizi multimediali in modo nativo).
    • È anche possibile usare gli eventi griglia di eventi tramite Funzioni di Azure.

    Per altre informazioni:

    • Vedere l'esempio di Analisi audio che illustra come monitorare un processo con Griglia di eventi di Azure incluso l'aggiunta di un fallback nel caso in cui i messaggi di Griglia di eventi di Azure vengano ritardati per qualche motivo.
  • Quando si crea un processo:

    • Selezionare in modo casuale un account dall'elenco degli account attualmente usati (questo elenco contiene normalmente entrambi gli account, ma se i problemi vengono rilevati può contenere solo un account). Se l'elenco è vuoto, generare un avviso in modo che un operatore possa analizzare.
    • Creare un record per tenere traccia di ogni processo in volo e dell'area/account usata.
  • Quando il JobStateChange gestore riceve una notifica che un processo ha raggiunto lo stato pianificato, registrare l'ora in cui entra nello stato pianificato e nell'account/area usata.

  • Quando il JobStateChange gestore riceve una notifica che un processo ha raggiunto lo stato di elaborazione, contrassegnare il record per il processo come elaborazione e registrare l'ora in cui entra nello stato di elaborazione.

  • Quando il JobStateChange gestore riceve una notifica che un processo ha raggiunto uno stato finale (Completato/Errore/Annullato), contrassegnare il record per il processo in modo appropriato.

  • Disporre di un processo separato che esamina periodicamente i record dei processi

    • Se si dispone di processi nello stato pianificato che non sono stati avanzati allo stato di elaborazione in un periodo di tempo ragionevole per una determinata area, rimuovere tale area dall'elenco degli account attualmente usati. A seconda dei requisiti aziendali, è possibile decidere di annullare immediatamente tali processi e inviarli nuovamente all'altra area. In alternativa, potresti dare loro un po 'di tempo per passare allo stato successivo.
    • Se un'area è stata rimossa dall'elenco di account, monitorarla per il ripristino prima di aggiungerla nuovamente all'elenco. L'integrità regionale può essere monitorata tramite i processi esistenti nell'area (se non sono stati annullati e resubmessi), aggiungendo l'account all'elenco dopo un periodo di tempo e monitorando le comunicazioni di Azure sulle interruzioni che potrebbero influire sui servizi multimediali di Azure.

Guida e supporto tecnico

È possibile contattare Servizi multimediali con domande o seguire gli aggiornamenti in base a uno dei metodi seguenti: