Après le succès du projet Ensemble basé sur la solution de visioconférence *, les équipes de Scaleway ont souhaité aller plus loin en termes de fonctionnalités avec une nouvelle solution de visioconférence Jitsi*. Cette nouvelle solution, à la fois complète et moins dépendante de la plateforme client, s'installe directement sur nos serveurs BareMetal physiques.* **BigBlueButton** ## Ce qui a été réalisé avec *Jitsi* Les plateformes de visioconférence sont devenues incontournables pour rester en contact avec vos proches et assurer le travail à distance. Dans cette optique et dès l'annonce du confinement, Scaleway a mis à disposition de la communauté la solution de visioconférence open source et souveraine, *, pendant toute la durée de la crise Covid-19.Jitsi* Gratuite, open-source et souveraine, la visioconférence *powered by Scaleway vise à fournir des serveurs Jitsi* *capables de gérer une charge importante de requêtes de ponts vidéo. charger. Cela nous permet de nous assurer que chaque utilisateur dispose de l'instance la moins utilisée pour créer une salle virtuelle et lancer un appel.* **Jitsi** Aujourd'hui, l'API stateless est composée d'un Front en React et d'une API qui fait une requête à un Prometheus (toutes les 30 secondes) afin d'obtenir la liste de tous les serveurs * disponibles et leur utilisation actuelle du processeur.Jitsi* L'application Web sélectionne alors le serveur * qui a le processeur le plus disponible et renvoie l'URL à l'utilisateur. Grâce à cette URL, l'utilisateur peut facilement se connecter au serveur Jitsi* *et commencer à profiter de l'appel avec une qualité audio et vidéo optimale.Tous les serveurs* **Jitsi** *sont déployés sur des instances Scaleway Elements qui peuvent contenir un grand nombre de ponts vidéo.* **Jitsi** ## Pourquoi proposer une alternative à *Jitsi* avec *BigBlueButton* ?La solution de visioconférence ensemble.scaleway reste disponible et gratuite jusqu'à fin juillet 2020.Scaleway a étudié une alternative à * utilisant cette fois, Jitsi* **qui** *BigBlueButton* **est un système de visioconférence développé à l'origine pour l'enseignement à distance. L'application web est basée sur HTML5 et ne nécessite l'installation d'aucun logiciel ni plugin ** En effet, **est** *BigBlueButton* **disponible sous forme de licence** ** *open source* et ne nécessite aucune installation supplémentaire sur les appareils clients tels que Windows, MacOS, Linux, Android, iOS. Nous avons également choisi cette solution car elle s'avère plus robuste et plus disponible. Il propose également de nombreuses fonctionnalités collaboratives telles que : - Le tableau - Le lecteur de diapositives - Partage d'écran - La demande de prise de parole virtuelle - La création de sous-salle de réunion - Chat privé entre les participants * est calibré pour les appels en visioconférence en grands groupes. En ne limitant pas le nombre de participants et avec des pics de fréquentation souvent élevés, la solution ne montre aucun signe de faiblesse. La plate-forme a l'avantage d'être aussi stable et simple à utiliser que d'autres solutions de visioconférence populaires avec des options pour contrôler les autorisations des participants, par exemple BigBlueButton*. Afin d'assurer cette stabilité de Scaleway **a choisi de très gros serveurs pour son infrastructure back-end** plutôt que plusieurs petits, et a donc opté pour de puissants serveurs BareMetal avec une configuration matérielle sans hyperviseur et sans couche de virtualisation Comment avons-nous configuré BigBlueButton powered by Scaleway ?La solution * recommande une installation directe sur un serveur physique, nous avons donc commencé avec un cluster de serveurs Bare Metal GP-BM1-M. Cela présente les avantages suivants en termes de configuration matérielle : BigBlueButton* Processeur : 1àIntelî Xeon E3 1240v6 - 4C 8T - 3,7 GHz RAM : 64 Go Stockage : 3ÃÂ1 To Bande passante : 500 Mbit/s L'équipe a mis à disposition une image Ubuntu avec BigBlueButton configuré automatiquement. L'installation se fait à l'aide d'un script librement disponible sur github ## Première étape : le module Terraform Terraform est un outil d'infrastructure que nous avions également utilisé pour la plateforme *.Il permet de gérer toutes les ressources cloud dans un paradigme déclaratif (infrastructure as code).C'est notamment le module BareMetal qui viendra créer chaque serveur dédié du cluster Jitsi* *.Le plugin prendra en paramètre l'ID du spécialement créé pour l'occasion.* **BigBlueButton** ressource "scaleway_baremetal_server_beta""bbb"{ for_each = local. instances zone = "fr-par-2"offre = "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, ] } Le reste de l'infrastructure Ensemble-bbb.scaleway se compose d'instances de calcul : - 2 x DEV1-L (NGINX, interface React, proxy BigBlueButton) - 1 x DEV1-L (Prométhée) ## Deuxième étape : La répartition des chambres Quant à la résolution * nous avons un frontend en React qui permet via une interface unique de contacter une API interne pour créer une salle sur l'un des nombreux serveurs.Jitsi* ** intègre un mécanisme d'enregistrement des utilisateurs et des propriétaires de salles. Pour éviter que chaque utilisateur n'ait à s'inscrire sur chaque nœud pour créer ou rejoindre une salle, nous avons rendu cette partie transparente en fournissant à l'utilisateur deux routes d'api qu'il peut fournir à ses participants. Un premier parcours pour se connecter en tant que modérateur de salle et l'autre en tant que simple participant. BigBlueButton** Comme mentionné précédemment, l'API interroge périodiquement chaque serveur * pour récupérer le nombre de salles et de participants, ce qui permet une répartition égale de la charge sur le cluster.BigBlueButton* ## Troisième étape : Reprenez tous les avantages de l'intégration ensemble.scaleway.com Une note technique, en anglais Construire une solution de visioconférence évolutive en une seule journée, en utilisant Jitsi et Scaleway Elements *BigBlueButton.* **L'API Scaleway Registry et l'interface dans React s'exécutent dans deux conteneurs et sont tous deux hébergés sur un registre privé Scaleway. Une fois stockées dans le registre, les images peuvent être extraites dans l'instance via un démon docker contrôlé par docker-compose pour exécuter l'application. **Les équilibreurs de charge Scaleway Load-Balancer transfèrent automatiquement les demandes à nos serveurs d'API en fonction de la disponibilité des ressources. Nos serveurs API sont ceux qui fournissent les informations de charge de chaque serveur* pour s'assurer que l'utilisateur dispose du serveur le plus disponible. BigBlueButton* **Groupes de placement Scaleway Dans le cadre de notre application, nous voulons nous assurer que les serveurs d'API sont aussi disponibles que possible. Nous avons donc activé le mode max_availabilityScaleway Security Groups Sur les instances d'API, nous n'autorisons que la connexion HTTPS et la connexion d'accès à distance SSH. nécessaire au fonctionnement de BigBlueButton***BigBlueButton** **Scaleway Domains Nous avons généré un certificat générique pour tous les sous-domaines de set-bbb.scaleway.com.Chaque serveur * reçoit son certificat qui est utilisé par leur serveur Nginx pour gérer les connexions HTTPS.BigBlueButton* ## Les prochaines étapes Scaleway continue de travailler activement à la fois sur httpsensemble.scaleway.com/ et httpsensemble-bbb.scaleway.com/ pour soutenir le plus de personnes possible pendant cette période difficile. en savoir plus, n'hésitez pas à tester dès aujourd'hui la solution BigBlueButton powered by Scaleway, à lire notre documentation à ce sujet ou à créer votre premier serveur BareMetal.