- Comunicazioni
Creazione di una piattaforma video scalabile
Quando abbiamo iniziato a creare la piattaforma video di Panopto dieci anni fa, volevamo assicurarci che la nostra infrastruttura offrisse ai clienti on-premise e ospitati nel cloud una grande scalabilità, in modo che man mano che l'utilizzo di Panopto cresce, la nostra piattaforma può scalare per adattarla facilmente.
Prima di parlare di come Panopto scala, iniziamo con una definizione di base di scalabilità: la capacità di un sistema di gestire una quantità crescente di lavoro in modo capace o la sua capacità di essere ampliato per adattarsi a tale crescita.
Con una piattaforma video, la scalabilità si applica a una serie di elementi del sistema, tra cui: server web che richiedono scalabilità per soddisfare richieste HTTP crescenti, server di codifica che devono essere scalati man mano che vengono inviati sempre più lavori di codifica e scalabilità dei dati per soddisfare un rapido aumento quantità di spazio di archiviazione video.
Panopto è progettato per consentire a ciascuno di questi componenti e ad altri elementi della piattaforma di scalare, come spiegato nella presentazione di seguito:
Nel deck di diapositive qui sopra, chiamiamo quattro ruoli principali del server che comprendono Panopto:
- Server Web, che includono IIS e gestiscono le richieste HTTP in entrata per lo streaming video live e on-demand.
- Server encoder, che ricevono ed elaborano richieste di codifica video.
- Server di database, che includono istanze di SQL Server, file di dati e log delle transazioni.
- Server di storage, che ospitano contenuti video e supportano diversi tipi di storage, tra cui Storage Area Networks (SAN), Network Attached Storage (NAS) e Direct Attached Storage (DAS).
Per i clienti che implementano Panopto on-premise, supportiamo una serie di topologie di server, tra cui:
- Single server, in cui tutti e quattro i tipi di server sono installati su una singola macchina. Questo è spesso il punto in cui i clienti iniziano se dispongono di un ambiente di test o di una piccola installazione Panopto.
- Two-server , in cui al server di codifica viene generalmente assegnata una macchina dedicata per gestire i lavori di codifica che possono richiedere un uso intensivo della CPU.
- Multi-server, in cui ognuno dei quattro ruoli server si trova su una macchina dedicata e lo storage è centralizzato.
- Bilanciato al carico, in cui un bilanciamento del carico si trova davanti a più server Web, distribuendo le richieste HTTP in entrata per lo streaming live e on-demand.
Per i clienti che eseguono Panopto come servizio ospitato nel cloud, condividiamo lo stesso codice base e i file binari di installazione dei clienti locali. Semplicemente modifichiamo la configurazione per consentire una maggiore scalabilità. Nello specifico, suddividiamo ulteriormente i ruoli del server per includere:
- Server broadcast: un «server web» specializzato che elabora le richieste di streaming live.
- Server di caricamento: simile ai server broadcast, ma questi elaborano le richieste di caricamento per video preregistrati.
- Server di ricerca: data la quantità di ricerche video sui nostri server ospitati, escludiamo cluster di server di ricerca dedicati che interagiscono con i nostri server di database.
Poiché il nostro cloud video è basato su Amazon Web Services (AWS), in particolare su Elastic Compute Cloud (EC2) e Simple Storage Service (S3) di Amazon, traiamo vantaggio dalla funzionalità Amazon integrata che consente alla nostra piattaforma di scalare dinamicamente i nostri server di codifica basati sulla domanda attuale e aumenta il nostro spazio di archiviazione man mano che più contenuti vengono caricati in Panopto. Il ridimensionamento automatico nel cloud aiuta a garantire che stiamo eseguendo la nostra piattaforma in modo efficiente e che non addebitiamo mai ai nostri clienti il tempo di inattività del server.
Per garantire l'operatività e l'affidabilità del nostro cloud video, abbiamo anche scalato Panopto su più zone di disponibilità Amazon, eseguendo il mirroring della nostra infrastruttura server su diversi data center Amazon in diverse posizioni geografiche. Ciò consente di garantire che, anche durante un'interruzione catastrofica del data center, i nostri server rimangano funzionanti e che i nostri clienti possano continuare a utilizzare la piattaforma video senza interruzioni.
Man mano che valutate diverse piattaforme video per la vostra azienda o università, è necessario chiedere al provider come scalare, sia on-premise che nel cloud. La possibilità di scalare facilmente e dinamicamente in base alla domanda può essere fondamentale per il successo della tua implementazione, come abbiamo visto in università come Newcastle ed Essex, che catturano entrambe decine di migliaia di ore di video ogni anno scolastico.
Se hai domande sulla storia di scalabilità di Panopto o sei interessato a discutere di come la nostra piattaforma video può aiutare la tua organizzazione, contatta il nostro team.