Efter framgången med Ensemble-projektet baserat på videokonferenslösningen *, Scaleway-teamen ville gå längre när det gäller funktionalitet med en ny Jitsi* videokonferenslösning. Denna nya lösning, både komplett och mindre beroende av klientplattformen, installeras direkt på våra fysiska BareMetal-servrar.* **BigBlueButton** ## Vad har uppnåtts med *Jitsi* Videokonferensplattformar har blivit viktiga för att hålla kontakten med dina nära och kära och säkerställa distansarbete. Med detta i åtanke och så snart instängningen tillkännagavs, gjorde Scaleway öppen källkod och suverän videokonferenslösning tillgänglig för communityn, *, under Covid-19.Jitsi-krisen* Gratis, öppen källkod och suverän videokonferens * Powered by Scaleway syftar till att tillhandahålla Jitsi* *servrar som kan hantera en stor belastning av videobryggförfrågningar. ladda. Detta gör att vi kan säkerställa att varje användare har den minst använda instansen för att skapa ett virtuellt rum och initiera ett samtal.* **Jitsi** Idag består det statslösa API:et av en Front in React och ett API som gör en begäran till en Prometheus (var 30:e sekund) för att få listan över alla servrar * tillgängliga och deras nuvarande CPU-användning.Jitsi* Webbapplikationen väljer sedan servern * som har den mest tillgängliga CPU:n och returnerar URL:en till användaren. Med denna URL kan användaren enkelt ansluta till Jitsi-servern * *och börja njuta av samtalet med optimal ljud- och videokvalitet. Alla servrar* **Jitsi** *distribueras på Scaleway Elements-instanser som kan innehålla ett stort antal samtidiga videobroar.* **Jitsi** ## Varför föreslå ett alternativ till *Jitsi* med *BigBlueButton*? Ensemble.scaleway videokonferenslösning förblir tillgänglig och gratis fram till slutet av juli 2020.Scaleway har undersökt ett alternativ till * använder den här tiden, Jitsi* **som** *BigBlueButton* **är ett videokonferenssystem som ursprungligen utvecklats för distansutbildning. Webbapplikationen är baserad på HTML5 och kräver inte installation av "ingen programvara eller plugin ** I själva verket, **är** *BigBlueButton* **tillgänglig som licens** ** *öppen källkod* och kräver ingen ytterligare installation på klientenheter som Windows, MacOS, Linux, Android, iOS. Vi valde även denna lösning för att den visar sig vara mer robust och mer tillgänglig. Det erbjuder också många samarbetsfunktioner som: - Styrelsen - Bildläsaren - Skärmdelning - Den virtuella talbegäran - Skapandet av undermötesrum - Privat chatt mellan deltagare * är kalibrerad för videokonferenssamtal i stora grupper. Genom att inte begränsa antalet deltagare och med ofta höga trafiktoppar visar lösningen inga tecken på. Plattformen har fördelen av att vara lika stabil och enkel att använda än andra populära videokonferenslösningar med alternativ för att kontrollera deltagarbehörigheter, t.ex. BigBlueButton* För att säkerställa denna Scaleway-stabilitet **valt mycket stora servrar för sin back-end-infrastruktur** snarare än flera små, och valde därför kraftfulla BareMetal-servrar med en hårdvarukonfiguration utan hypervisor och utan virtualiseringslager Hur vi konfigurerade BigBlueButton som drivs av Scaleway? Lösningen * rekommenderar direktinstallation på en fysisk server, så vi började med ett Bare Metal GP-BM1-M serverkluster. Detta har följande fördelar när det gäller hårdvarukonfiguration: BigBlueButton* CPU:1àIntelî Xeon E3 1240v6 - 4C 8T - 3,7 GHz RAM:64 GB Lagring: 3ÃÂ1 TB Bandbredd: 500 Mbit/s Teamet har gjort en Ubuntu-bild tillgänglig med BigBlueButton automatiskt konfigurerad. Installationen görs med ett skript som är fritt tillgängligt på github ## Första steget: Terraform-modulen Terraform är ett infrastrukturverktyg som vi också hade använt för plattformen *.Det gör det möjligt att hantera alla molnresurser i ett deklarativt paradigm (infrastruktur som kod). Det är i synnerhet BareMetal-modulen som kommer att skapa varje dedikerad server i Jitsi-klustret* *. Plugin-programmet kommer att ta in parametern ID:t av de speciellt skapade för tillfället.* **BigBlueButton** resurs "scaleway_baremetal_server_beta""bbb"{ for_each = lokal. instanser 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.shkey_account , data.scaleway_account_ssh_key.user3.id, ] } Resten av Ensemble-bbb.scaleway-infrastrukturen består av beräkningsinstanser: - 2 x DEV1-L (NGINX, React frontend, BigBlueButton proxy) - 1 x DEV1-L (Prometheus) ## Andra steget: Fördelningen av rummen Vad gäller lösningen * vi har en frontend i React som gör det möjligt att via ett enda gränssnitt kontakta ett internt API för att skapa ett rum på en av de många servrarna.Jitsi* ** bäddar in en registreringsmekanism för användare och rumsägare. För att undvika att varje användare måste registrera sig på varje nod för att skapa eller gå med i ett rum, har vi gjort denna del transparent genom att förse användaren med två rutter med api som den kan tillhandahålla sina deltagare. En första väg att ansluta som rummoderator och den andra som en enkel deltagare. BigBlueButton** Som nämnts tidigare, frågar API:et regelbundet varje server * för att hämta antalet rum och deltagare, vilket möjliggör en jämn fördelning av belastningen på klustret.BigBlueButton* ## Tredje steget: Ta tillbaka alla fördelar med ensemble.scaleway.com-integrationen En teknisk anteckning, på engelska Bygga en skalbar videokonferenslösning på en enda dag, med hjälp av Jitsi och Scaleway Elements *BigBlueButton.* **Scaleway Registry API och frontend i React körs i två behållare och är båda värdda på ett privat Scaleway-register. När de väl har lagrats i registret kan bilder dras in i instansen genom en docker-demon som kontrolleras av docker-compose för att köra programmet. **Scaleway Load-Balancer Load Balancers vidarebefordrar automatiskt förfrågningar till våra API-servrar baserat på resurstillgänglighet. Våra API-servrar är de som tillhandahåller laddningsinformation för varje server* för att säkerställa att användaren har den mest tillgängliga servern. BigBlueButton* **Scaleway Placements Groups Som en del av vår applikation vill vi se till att API-servrar är så tillgängliga som möjligt. Vi har därför aktiverat läget max_availabilityScaleway Security Groups På API-instanser tillät vi endast HTTPS-anslutning och SSH-fjärranslutning. nödvändigt för driften av BigBlueButton***BigBlueButton** **Scaleway Domains Vi har genererat ett jokerteckencertifikat för alla underdomäner av set-bbb.scaleway.com. Varje server * tar emot sitt certifikat som används av deras Nginx-server för att hantera HTTPS-anslutningar.BigBlueButton* ## Nästa steg Scaleway fortsätter att aktivt arbeta på både httpsensemble.scaleway.com/ och httpsensemble-bbb.scaleway.com/ för att stödja så många människor som möjligt under denna svåra tid. ta reda på mer, tveka inte att testa BigBlueButton-driven av Scaleway-lösningen idag, för att läsa vår dokumentation om detta ämne eller för att skapa din första BareMetal-server.