After the success of the Ensemble project based on the videoconferencing solution
*, the Scaleway teams wanted to go further in terms of functionality with a new Jitsi* videoconferencing solution. This new solution, both complete and less dependent on the client platform, is installed directly on our physical BareMetal servers.* **BigBlueButton**
## What has been achieved with
*Jitsi*
Videoconferencing platforms have become essential to stay in touch with your loved ones and ensure remote work. With this in mind and as soon as the confinement was announced, Scaleway made the open source and sovereign videoconferencing solution available to the community,
*, for the duration of the Covid-19.Jitsi crisis*
Free, open-source and sovereign, videoconferencing
* powered by Scaleway aims to provide Jitsi* *servers capable of handling a heavy load of video bridge requests. load. This allows us to ensure that each user has the least used instance to create a virtual room and initiate a call.* **Jitsi**
Today, the stateless API is composed of a Front in React and an API which makes a request to a Prometheus (every 30 seconds) in order to obtain the list of all the servers
* available and their current CPU usage.Jitsi*
The web application then selects the server
* which has the most available CPU and returns the URL to the user. Using this URL, the user can easily connect to the Jitsi server * *and start enjoying the call with optimal sound and video quality .All servers* **Jitsi** *are deployed on Scaleway Elements instances which can contain a large number of concurrent video bridges.* **Jitsi**
## Why propose an alternative to
*Jitsi* with *BigBlueButton*?The ensemble.scaleway video conferencing solution remains available and free until the end of July 2020.Scaleway has looked into an alternative to
* using this time, Jitsi* **which** *BigBlueButton* **is a videoconferencing system originally developed for distance learning. The web application is based on HTML5 and does not require the installation of 'no software or plugin **
In effect,
**is** *BigBlueButton* **available as a license** ** *open source* and does not require any additional installation on client devices such as Windows, MacOS, Linux, Android, iOS. We also chose this solution because it turns out to be more robust and more available. It also offers many collaborative features such as:
- Theboard
- The slide reader
- Screen sharing
- The virtual speaking request
- The creation of sub-meeting room

- Private Chat between participants

* is calibrated for videoconference calls in large groups. By not limiting the number of participants and with often high traffic peaks, the solution shows no signs of. The platform has the advantage of being as stable and simple to use than other popular video conferencing solutions with options to control participant permissions eg.BigBlueButton*
In order to ensure this Scaleway stability
**chosen very large servers for its back-end infrastructure** rather than several small ones, and therefore opted for powerful BareMetal servers with a hardware configuration without a hypervisor and without a virtualization layer How we configured BigBlueButton powered by Scaleway?The solution
* recommends direct installation on a physical server, so we started with a Bare Metal GP-BM1-M server cluster. This has the following advantages in terms of hardware configuration: BigBlueButton* CPU:1× Intel® Xeon E3 1240v6 - 4C 8T - 3.7 GHz RAM:64 GB Storage:3×1 TB Bandwidth:500 Mbit/s
The team has made available an Ubuntu image with BigBlueButton automatically configured. The installation is done using a script freely available on github

## First step: The Terraform module
Terraform is an infrastructure tool that we had also used for the platform
*.It allows to manage all the cloud resources in a declarative paradigm (infrastructure as code).It is in particular the BareMetal module which will come to create each dedicated server of the Jitsi cluster* *.The plugin will take in parameter the ID of the specially created for the occasion.* **BigBlueButton**
resource "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, ] }
The rest of the Ensemble-bbb.scaleway infrastructure consists of compute instances:
- 2 x DEV1-L (NGINX, React frontend, BigBlueButton proxy)
- 1 x DEV1-L (Prometheus)
## Second step: The distribution of rooms
As for the solution
* we have a frontend in React which allows via a single interface to contact an internal API to create a room on one of the many servers.Jitsi*

** embeds a user and room owner registration mechanism. To avoid each user having to register on each node to create or join a room, we have made this part transparent by providing the user with two routes of api that it can provide to its participants. A first route to connect as a room moderator and the other as a simple participant. BigBlueButton**
As mentioned earlier, the API periodically queries each server
* to retrieve the number of rooms and participants, which allows an equal distribution of load on the cluster.BigBlueButton*
## Third step: Take back all the advantages of the ensemble.scaleway.com integration
A technical note, in English
Building a scalable video conferencing solution in a single day, using Jitsi and Scaleway Elements *BigBlueButton.* **Scaleway Registry API and frontend in React run in two containers and are both hosted on a Scaleway private registry. Once stored on the registry, images can be pulled into the instance through a docker daemon controlled by
docker-compose to run the application. **Scaleway Load-Balancer Load Balancers will automatically forward requests to our API servers based on resource availability. Our API servers are the ones that provide load information of each server* to ensure the user has the most available server. BigBlueButton* **Scaleway Placements Groups As part of our application, we want to make sure API servers are as available as possible. We have therefore activated the mode
max_availabilityScaleway Security Groups On API instances, we only allowed HTTPS connection and SSH remote access connection. necessary for the operation of BigBlueButton***BigBlueButton** **Scaleway Domains We have generated a wildcard certificate for all subdomains of
set-bbb.scaleway.com.Each server
* receives its certificate which is used by their Nginx server to manage HTTPS connections.BigBlueButton*
## The next steps
Scaleway continues to actively work on both httpsensemble.scaleway.com/ and httpsensemble-bbb.scaleway.com/ to support as many people as possible during this difficult time. find out more, do not hesitate to test the BigBlueButton powered by Scaleway solution today, to read our documentation on this subject or to create your first BareMetal server.