- Comunicazioni
Creare una piattaforma video in grado di scalare
Quando dieci anni fa abbiamo iniziato a costruire la piattaforma video di Panopto, volevamo assicurarci che la nostra infrastruttura offrisse ai clienti on-premises e cloud-hosted una grande scalabilità, in modo che, man mano che l'uso di Panopto cresce, la nostra piattaforma possa scalare per adattarsi 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 adeguato o la sua capacità di essere ampliato per adattarsi a tale crescita.
In una piattaforma video, la scalabilità si applica a una serie di elementi del sistema, tra cui: i server web che richiedono scalabilità per soddisfare un numero crescente di richieste HTTP, i server di codifica che devono scalare man mano che viene inviato un numero sempre maggiore di lavori di codifica e la scalabilità dei dati per soddisfare una quantità rapidamente crescente di storage video.
Panopto è strutturato in modo da consentire la scalabilità di ciascuno di questi componenti e di altri elementi della piattaforma, come spiegato nella slide deck qui sotto:
Nella slide deck di cui sopra, indichiamo i quattro ruoli principali dei server che compongono Panopto:
- Server Web, che includono IIS e gestiscono le richieste HTTP in entrata per lo streaming video live e on-demand.
- Server di codifica, che ricevono ed elaborano le richieste di codifica video.
- Server di database, che includono istanze di SQL Server, file di dati e registri delle transazioni.
- Server di archiviazione, che ospitano i contenuti video e supportano diversi tipi di archiviazione, tra cui Storage Area Networks (SAN), Network Attached Storage (NAS) e Direct Attached Storage (DAS).
Per i clienti che implementano Panopto on-premise, supportiamo diverse topologie di server, tra cui:
- A server singolo, in cui tutti e quattro i tipi di server sono installati su un'unica macchina. Questo è spesso il punto di partenza per i clienti che hanno un ambiente di prova o una piccola installazione di Panopto.
- A due server, in cui il server di codifica è in genere dotato di una macchina dedicata per gestire i lavori di codifica che possono essere ad alta intensità di CPU.
- Multi-server, in cui ognuno dei quattro ruoli di server è su una macchina dedicata e lo storage è centralizzato.
- Load-balanced, in cui un bilanciatore di 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 utilizzano Panopto come servizio in hosting nel cloud, condividiamo la stessa base di codice e gli stessi binari di installazione dei clienti on-premise. Semplicemente, modifichiamo la configurazione per consentire una maggiore scalabilità. In particolare, suddividiamo ulteriormente i ruoli dei server per includere:
- Server di broadcast - Un "server web" specializzato che elabora le richieste di streaming in diretta.
- Server di caricamento - simili ai server di trasmissione, ma elaborano le richieste di caricamento di video preregistrati.
- Server di ricerca - Data la quantità di ricerche video sui nostri server ospitati, abbiamo creato dei cluster di server di ricerca dedicati che interagiscono con i nostri server di database.
Poiché il nostro cloud video è costruito su Amazon Web Services (AWS), in particolare su Elastic Compute Cloud (EC2) e Simple Storage Service (S3) di Amazon, beneficiamo delle funzionalità integrate di Amazon che consentono alla nostra piattaforma di scalare dinamicamente i nostri server di codifica in base alla domanda corrente e di aumentare il nostro spazio di archiviazione man mano che vengono caricati più contenuti su Panopto. La scalabilità automatica nel cloud ci aiuta a garantire un funzionamento efficiente della nostra piattaforma e a non fatturare ai nostri clienti il tempo di inattività dei server.
Per garantire l'operatività e l'affidabilità del nostro cloud video, scaliamo Panopto anche su più zone di disponibilità di Amazon, facendo il mirroring della nostra infrastruttura server su diversi data center Amazon in diverse località geografiche. Questo ci consente di garantire che, anche in caso di interruzione catastrofica dei data center, i nostri server continuino a funzionare e i nostri clienti possano continuare a utilizzare la piattaforma video senza interruzioni.
Quando valutate le diverse piattaforme video per la vostra azienda o università, dovreste chiedere al fornitore le modalità di scalabilità, sia on-premises che nel cloud. La capacità di scalare facilmente e dinamicamente in base alla domanda può essere fondamentale per il successo dell'implementazione, come abbiamo visto con università come Newcastle ed Essex, che catturano decine di migliaia di ore di video ogni anno scolastico.
Se avete domande sulla scalabilità di Panopto o siete interessati a discutere di come la nostra piattaforma video possa aiutare la vostra organizzazione, contattate il nostro team.



