Dopo il successo del progetto Ensemble basato sulla soluzione di videoconferenza *, i team di Scaleway volevano andare oltre in termini di funzionalità con una nuova soluzione di videoconferenza Jitsi*. Questa nuova soluzione, completa e meno dipendente dalla piattaforma client, viene installata direttamente sui nostri server fisici BareMetal.* **BigBlueButton** ## Cosa è stato ottenuto con *Jitsi* Le piattaforme di videoconferenza sono diventate indispensabili per restare in contatto con i propri cari e garantire il lavoro da remoto. Con questo in mente e non appena è stato annunciato il confinamento, Scaleway ha messo a disposizione della comunità la soluzione di videoconferenza open source e sovrana, *, per tutta la durata della crisi Covid-19.Jitsi* Gratuita, open-source e sovrana, la videoconferenza * powered by Scaleway mira a fornire Jitsi* *server in grado di gestire un carico elevato di richieste di bridge video. carico. Questo ci consente di garantire che ogni utente disponga dell'istanza meno utilizzata per creare una stanza virtuale e avviare una chiamata.* **Jitsi** Oggi l'API stateless è composta da un Front in React e da un'API che effettua una richiesta a un Prometheus (ogni 30 secondi) per ottenere l'elenco di tutti i server * disponibili e il loro attuale utilizzo della CPU. Jitsi* L'applicazione Web seleziona quindi il server * che ha la CPU più disponibile e restituisce l'URL all'utente. Utilizzando questo URL, l'utente può connettersi facilmente al server Jitsi* *e iniziare a godersi la chiamata con una qualità audio e video ottimale. Tutti i server* **Jitsi** *sono distribuiti su istanze Scaleway Elements che possono contenere un numero elevato di istanze simultanee ponti video.* **Jitsi** ## Perché proporre un'alternativa a *Jitsi* con *BigBlueButton*?La soluzione di videoconferenza ensemble.scaleway rimane disponibile e gratuita fino alla fine di luglio 2020.Scaleway ha cercato un'alternativa a * utilizzando questo tempo, Jitsi* **che** *BigBlueButton* **è un sistema di videoconferenza originariamente sviluppato per l'apprendimento a distanza. L'applicazione web è basata su HTML5 e non richiede l'installazione di 'nessun software o plugin** In effetti, **è** *BigBlueButton* **disponibile come licenza** ** *open source* e non richiede alcuna installazione aggiuntiva su dispositivi client come Windows, MacOS, Linux, Android, iOS. Abbiamo scelto questa soluzione anche perché risulta essere più robusta e più disponibile. Offre anche molte funzionalità collaborative come: - Il bordo - Il lettore di diapositive - Condivisione dello schermo - La richiesta di parlare virtuale - La creazione di sub-sala riunioni - Chat privata tra i partecipanti * è calibrato per chiamate in videoconferenza in gruppi numerosi. Non limitando il numero dei partecipanti e con picchi di traffico spesso elevati, la soluzione non dà segni di cedimento. La piattaforma ha il vantaggio di essere stabile e semplice da usare rispetto ad altre popolari soluzioni di videoconferenza con opzioni per controllare le autorizzazioni dei partecipanti, ad es. BigBlueButton* Al fine di garantire questa stabilità Scaleway **ha scelto server molto grandi per la sua infrastruttura di back-end** piuttosto che molti piccoli, e quindi ha optato per potenti server BareMetal con una configurazione hardware senza hypervisor e senza un livello di virtualizzazione Come abbiamo configurato BigBlueButton powered by Scaleway?La soluzione * consiglia l'installazione diretta su un server fisico, quindi abbiamo iniziato con un cluster di server Bare Metal GP-BM1-M. Ciò presenta i seguenti vantaggi in termini di configurazione hardware: BigBlueButton* CPU:1àIntelî Xeon E3 1240v6 - 4C 8T - 3,7 GHz RAM:64 GB Memoria:3ÃÂ1 TB Larghezza di banda:500 Mbit/s Il team ha reso disponibile un'immagine di Ubuntu con BigBlueButton configurato automaticamente. L'installazione viene eseguita utilizzando uno script disponibile gratuitamente su github ## Primo passo: il modulo Terraform Terraform è uno strumento infrastrutturale che avevamo utilizzato anche per la piattaforma *.Permette di gestire tutte le risorse cloud in un paradigma dichiarativo (infrastruttura come codice).In particolare è il modulo BareMetal che verrà a creare ogni server dedicato del cluster Jitsi* *.Il plugin prenderà in parametro l'ID di quelli appositamente creati per l'occasione.* **BigBlueButton** risorsa "scaleway_baremetal_server_beta""bbb"{ for_each = local. instances zone = "fr-par-2"offer = "GP-BM1-M"os_id = "3ea52186-1e57-499e-8146-ab38051a5c10"ssh_key_ids = [ data.scaleway_account_ssh_key .user1.id, data.scaleway_account_ssh_key.user2.id , data.scaleway_account_ssh_key.user3.id, ] } Il resto dell'infrastruttura Ensemble-bbb.scaleway è costituito da istanze di calcolo: - 2 x DEV1-L (NGINX, frontend React, proxy BigBlueButton) - 1 x DEV1-L (Prometeo) ## Seconda fase: la distribuzione delle stanze Per quanto riguarda la soluzione * abbiamo un frontend in React che consente tramite un'unica interfaccia di contattare un'API interna per creare una stanza su uno dei tanti server. Jitsi* ** incorpora un meccanismo di registrazione dell'utente e del proprietario della stanza. Per evitare che ogni utente debba registrarsi su ciascun nodo per creare o entrare in una stanza, abbiamo reso trasparente questa parte fornendo all'utente due percorsi di API che può fornire ai suoi partecipanti. Un primo percorso per connettersi come moderatore di stanza e l'altro come semplice partecipante. BigBlueButton** Come accennato in precedenza, l'API interroga periodicamente ciascun server * per recuperare il numero di stanze e partecipanti, che consente un'equa distribuzione del carico sul cluster.BigBlueButton* ## Terzo passo: riprendere tutti i vantaggi dell'integrazione con ensemble.scaleway.com Una nota tecnica, in inglese Creazione di una soluzione di videoconferenza scalabile in un solo giorno, utilizzando Jitsi e Scaleway Elements *BigBlueButton.* **L'API del registro Scaleway e il frontend in React vengono eseguiti in due container e sono entrambi ospitati su un registro privato Scaleway. Una volta archiviate nel registro, le immagini possono essere inserite nell'istanza tramite un demone docker controllato da docker-compose per eseguire l'applicazione. **I sistemi di bilanciamento del carico Scaleway Load Balancer inoltreranno automaticamente le richieste ai nostri server API in base alla disponibilità delle risorse. I nostri server API sono quelli che forniscono informazioni sul carico di ciascun server* per garantire che l'utente abbia il server più disponibile. BigBlueButton* **Scaleway Placements Groups Come parte della nostra applicazione, vogliamo assicurarci che i server API siano quanto più disponibili possibile. Abbiamo quindi attivato la modalità max_availabilityScaleway Security Group Sulle istanze API, abbiamo consentito solo la connessione HTTPS e la connessione di accesso remoto SSH. necessario per il funzionamento di BigBlueButton***BigBlueButton** **Scaleway Domains Abbiamo generato un certificato jolly per tutti i sottodomini di set-bbb.scaleway.com.Ogni server * riceve il suo certificato che viene utilizzato dal proprio server Nginx per gestire le connessioni HTTPS.BigBlueButton* ## I prossimi passi Scaleway continua a lavorare attivamente sia su httpsensemble.scaleway.com/ che su httpsensemble-bbb.scaleway.com/ per supportare quante più persone possibile in questo momento difficile. scopri di più, non esitare a testare oggi la soluzione BigBlueButton powered by Scaleway, a leggere la nostra documentazione su questo argomento o a creare il tuo primo server BareMetal.