Po sukcesie projektu Ensemble opartego na rozwiązaniu do wideokonferencji
*, zespoły Scaleway chciały pójść dalej pod względem funkcjonalności dzięki nowemu rozwiązaniu do wideokonferencji Jitsi*. To nowe rozwiązanie, zarówno kompletne, jak i mniej zależne od platformy klienckiej, jest instalowane bezpośrednio na naszych fizycznych serwerach BareMetal.* **BigBlueButton**
## Co osiągnięto dzięki
*Jitsi*
Platformy wideokonferencyjne stały się niezbędne, aby pozostać w kontakcie z bliskimi i zapewnić pracę zdalną. Mając to na uwadze i zaraz po ogłoszeniu zamknięcia, Scaleway udostępnił społeczności rozwiązanie do wideokonferencji typu open source,
*, na czas kryzysu Covid-19.Jitsi*
Bezpłatne, otwarte i niezależne wideokonferencje
* powered by Scaleway ma na celu zapewnienie Jitsi* *serwerów zdolnych do obsługi dużego obciążenia żądań mostków wideo. Załaduj. Dzięki temu możemy mieć pewność, że każdy użytkownik ma najmniej używaną instancję do utworzenia wirtualnego pokoju i zainicjowania połączenia.* **Jitsi**
Obecnie bezstanowe API składa się z Front in React oraz API, które wysyła żądanie do Prometheusa (co 30 sekund) w celu uzyskania listy wszystkich serwerów
* dostępne i ich bieżące użycie procesora.Jitsi*
Następnie aplikacja internetowa wybiera serwer
* który ma najbardziej dostępny procesor i zwraca adres URL użytkownikowi. Korzystając z tego adresu URL, użytkownik może łatwo połączyć się z serwerem Jitsi * * i rozpocząć rozmowę z optymalną jakością dźwięku i obrazu. Wszystkie serwery* **Jitsi** *są wdrażane na instancjach Scaleway Elements, które mogą zawierać dużą liczbę jednoczesnych mosty wideo.* **Jitsi**
## Po co proponować alternatywę dla
*Jitsi* z *BigBlueButton*? Rozwiązanie do wideokonferencji Ensemble.scaleway pozostaje dostępne i bezpłatne do końca lipca 2020 r. Scaleway przyjrzał się alternatywie dla
* używając tego czasu, Jitsi* **który** *BigBlueButton* **jest systemem wideokonferencyjnym pierwotnie opracowanym do nauczania na odległość. Aplikacja internetowa jest oparta na HTML5 i nie wymaga instalacji żadnego oprogramowania ani wtyczki **
W efekcie,
**jest** *BigBlueButton* **dostępny jako licencja** ** *open source* i nie wymaga żadnej dodatkowej instalacji na urządzeniach klienckich takich jak Windows, MacOS, Linux, Android, iOS. Wybraliśmy to rozwiązanie również dlatego, że okazuje się solidniejsze i bardziej dostępne. Oferuje również wiele funkcji współpracy, takich jak:
- Tablica
- Czytnik slajdów
- Udostępnianie ekranu
- Żądanie wirtualnego mówienia
- Stworzenie pod-sali konferencyjnej
- Prywatny czat między uczestnikami
* jest skalibrowany do połączeń wideokonferencyjnych w dużych grupach. Nie ograniczając liczby uczestników i przy często dużych szczytach ruchu, rozwiązanie nie wykazuje żadnych oznak. Platforma ma tę zaletę, że jest równie stabilna i prosta w użyciu niż inne popularne rozwiązania do wideokonferencji z opcjami kontrolowania uprawnień uczestników, np.BigBlueButton*
Aby zapewnić stabilność Scaleway
**wybrał bardzo duże serwery dla swojej infrastruktury zaplecza** zamiast kilku małych, dlatego zdecydował się na wydajne serwery BareMetal z konfiguracją sprzętową bez hiperwizora i bez warstwy wirtualizacji Jak skonfigurowaliśmy BigBlueButton powered by Scaleway? Rozwiązanie
* zaleca bezpośrednią instalację na serwerze fizycznym, więc zaczęliśmy od klastra serwerów Bare Metal GP-BM1-M. Ma to następujące zalety w zakresie konfiguracji sprzętowej: BigBlueButton* Procesor: 1 x Intel® Xeon E3 1240v6 - 4C 8T - 3,7 GHz Pamięć RAM: 64 GB Przestrzeń dyskowa: 3 × 1 TB Przepustowość: 500 Mbit/s
Zespół udostępnił obraz Ubuntu z automatycznie skonfigurowanym BigBlueButton. Instalacja odbywa się za pomocą skryptu dostępnego bezpłatnie na github
## Pierwszy krok: moduł Terraform
Terraform to narzędzie infrastrukturalne, którego używaliśmy również na platformie
*.Pozwala zarządzać wszystkimi zasobami chmury w paradygmacie deklaratywnym (infrastruktura jako kod).W szczególności moduł BareMetal przyjdzie do stworzenia każdego serwera dedykowanego klastra Jitsi* *.Wtyczka przyjmie parametr ID specjalnie stworzonej na tę okazję.* **BigBlueButton**
zasób „scaleway_baremetal_server_beta” „bbb” { for_each = lokalny. strefa instancji = "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, ] }
Pozostała część infrastruktury Ensemble-bbb.scaleway składa się z instancji obliczeniowych:
- 2 x DEV1-L (NGINX, interfejs React, proxy BigBlueButton)
- 1 x DEV1-L (Prometeusz)
## Krok drugi: Rozmieszczenie pomieszczeń
Co do rozwiązania
* mamy frontend w React, który pozwala poprzez jeden interfejs kontaktować się z wewnętrznym API w celu stworzenia pokoju na jednym z wielu serwerów.Jitsi*
** osadza mechanizm rejestracji użytkownika i właściciela pokoju. Aby uniknąć konieczności rejestrowania się każdego użytkownika w każdym węźle w celu utworzenia pokoju lub dołączenia do niego, uczyniliśmy tę część przezroczystą, udostępniając użytkownikowi dwie trasy API, które może udostępnić swoim uczestnikom. Pierwsza droga do połączenia jako moderator pokoju, a druga jako zwykły uczestnik. duży niebieskiprzycisk**
Jak wspomniano wcześniej, interfejs API okresowo wysyła zapytania do każdego serwera
* do pobierania liczby sal i uczestników, co pozwala na równomierne rozłożenie obciążenia na klaster.BigBlueButton*
## Trzeci krok: odzyskaj wszystkie zalety integracji z Ensemble.scaleway.com
Uwaga techniczna w języku angielskim
Zbudowanie skalowalnego rozwiązania do wideokonferencji w ciągu jednego dnia przy użyciu Jitsi i Scaleway Elements *BigBlueButton.* **Scaleway Registry API i frontend w React działają w dwóch kontenerach i oba są hostowane w prywatnym rejestrze Scaleway. Po zapisaniu w rejestrze obrazy można pobrać do instancji za pomocą demona dokera kontrolowanego przez
docker-compose, aby uruchomić aplikację. **Systemy równoważenia obciążenia Scaleway Load-Balancer będą automatycznie przekazywać żądania do naszych serwerów API w zależności od dostępności zasobów. Nasze serwery API to te, które dostarczają informacji o obciążeniu każdego serwera*, aby upewnić się, że użytkownik ma najbardziej dostępny serwer. BigBlueButton* **Scaway Placements Groups W ramach naszej aplikacji chcemy mieć pewność, że serwery API są jak najbardziej dostępne. W związku z tym aktywowaliśmy ten tryb
max_availabilityScaway Security Groups W instancjach API zezwoliliśmy tylko na połączenie HTTPS i połączenie zdalnego dostępu SSH. niezbędne do działania BigBlueButton***BigBlueButton** **Domeny Scaleway Wygenerowaliśmy certyfikat wildcard dla wszystkich subdomen
set-bbb.scaleway.com.Każdy serwer
* otrzymuje swój certyfikat, który jest używany przez ich serwer Nginx do zarządzania połączeniami HTTPS.BigBlueButton*
## Kolejne kroki
Scaleway nadal aktywnie działa zarówno na httpsensemble.scaleway.com/, jak i httpsensemble-bbb.scaleway.com/, aby wspierać jak najwięcej osób w tym trudnym czasie. dowiedz się więcej, już dziś przetestuj rozwiązanie BigBlueButton powered by Scaleway, zapoznaj się z naszą dokumentacją na ten temat lub stwórz swój pierwszy serwer BareMetal.