Tras el éxito del proyecto Ensemble basado en la solución de videoconferencia *, los equipos de Scaleway querían ir más allá en términos de funcionalidad con una nueva solución de videoconferencia Jitsi*. Esta nueva solución, completa y menos dependiente de la plataforma del cliente, se instala directamente en nuestros servidores físicos BareMetal.* **BigBlueButton** ## Lo que se ha logrado con *jitsi* Las plataformas de videoconferencia se han vuelto imprescindibles para estar en contacto con tus seres queridos y garantizar el trabajo remoto. Con esto en mente y tan pronto como se anunció el confinamiento, Scaleway puso a disposición de la comunidad la solución de videoconferencia de código abierto y soberano, *, mientras dure la crisis de Covid-19.Jitsi* Videoconferencias gratuitas, de código abierto y soberanas * impulsado por Scaleway tiene como objetivo proporcionar Jitsi* *servidores capaces de manejar una gran cantidad de solicitudes de puente de video. carga. Esto nos permite asegurarnos de que cada usuario tenga la instancia menos utilizada para crear una sala virtual e iniciar una llamada.* **Jitsi** Hoy en día, la API sin estado está compuesta por un Front in React y una API que realiza una solicitud a Prometheus (cada 30 segundos) para obtener la lista de todos los servidores. * disponibles y su uso actual de CPU.Jitsi* La aplicación web luego selecciona el servidor * que tiene la CPU más disponible y devuelve la URL al usuario. Con esta URL, el usuario puede conectarse fácilmente al servidor Jitsi * *y comenzar a disfrutar de la llamada con una calidad de sonido y video óptima. Todos los servidores* **Jitsi** *se implementan en instancias de Scaleway Elements que pueden contener una gran cantidad de llamadas simultáneas. puentes de video.* **Jitsi** ## ¿Por qué proponer una alternativa a *Jitsi* con *BigBlueButton*? La solución de videoconferencia ensemble.scaleway permanece disponible y gratuita hasta finales de julio de 2020. Scaleway ha buscado una alternativa a * usando este tiempo, Jitsi* **que** *BigBlueButton* **es un sistema de videoconferencia desarrollado originalmente para el aprendizaje a distancia. La aplicación web está basada en HTML5 y no requiere la instalación de 'ningún software o complemento ** En efecto, **está** *BigBlueButton* **disponible como licencia** ** *código abierto* y no requiere ninguna instalación adicional en dispositivos cliente como Windows, MacOS, Linux, Android, iOS. También elegimos esta solución porque resulta ser más robusta y más disponible. También ofrece muchas funciones de colaboración como: - El tablero - El lector de diapositivas - Compartir pantalla - La solicitud de hablar virtual - La creación de sub-sala de reuniones. - Chat privado entre participantes * está calibrado para llamadas de videoconferencia en grupos grandes. Al no limitar el número de participantes y con picos de tráfico a menudo altos, la solución no da señales de desvanecimiento. La plataforma tiene la ventaja de ser tan estable y fácil de usar como otras soluciones populares de videoconferencia con opciones para controlar los permisos de los participantes, por ejemplo, BigBlueButton* Para garantizar la estabilidad de Scaleway **seleccionó servidores muy grandes para su infraestructura de back-end** en lugar de varios servidores pequeños y, por lo tanto, optó por potentes servidores BareMetal con una configuración de hardware sin hipervisor y sin capa de virtualización. ¿Cómo configuramos BigBlueButton impulsado por Scaleway?La solución * recomienda la instalación directa en un servidor físico, por lo que comenzamos con un clúster de servidor Bare Metal GP-BM1-M. Esto tiene las siguientes ventajas en términos de configuración de hardware: BigBlueButton* CPU:1àIntelî Xeon E3 1240v6 - 4C 8T - 3.7 GHz RAM:64 GB Almacenamiento:3ÃÂ1 TB Ancho de banda:500 Mbit/s El equipo ha puesto a disposición una imagen de Ubuntu con BigBlueButton configurado automáticamente. La instalación se realiza mediante un script disponible gratuitamente en github ## Primer paso: El módulo Terraform Terraform es una herramienta de infraestructura que también habíamos utilizado para la plataforma. *.Permite administrar todos los recursos de la nube en un paradigma declarativo (infraestructura como código). Es en particular el módulo BareMetal que vendrá a crear cada servidor dedicado del clúster Jitsi* *.El complemento tomará como parámetro el ID de los especialmente creados para la ocasión.* **BigBlueButton** recurso "scaleway_baremetal_server_beta""bbb"{ for_each = local. instancias zona = "fr-par-2"oferta = "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 , datos.scaleway_account_ssh_key.user3.id, ] } El resto de la infraestructura de Ensemble-bbb.scaleway consta de instancias informáticas: - 2 x DEV1-L (NGINX, interfaz React, proxy BigBlueButton) - 1 x DEV1-L (Prometeo) ## Segundo paso: La distribución de las habitaciones En cuanto a la solución * Tenemos una interfaz en React que permite, a través de una única interfaz, contactar una API interna para crear una sala en uno de los muchos servidores.Jitsi* ** incorpora un mecanismo de registro de usuarios y propietarios de salas. Para evitar que cada usuario tenga que registrarse en cada nodo para crear o unirse a una sala, hemos hecho esta parte transparente proporcionando al usuario dos rutas de API que puede proporcionar a sus participantes. Una primera vía para conectar como moderador de sala y la otra como simple participante. GranBotónAzul** Como se mencionó anteriormente, la API consulta periódicamente cada servidor * para recuperar el número de habitaciones y participantes, lo que permite una distribución equitativa de la carga en el clúster.BigBlueButton* ## Tercer paso: recuperar todas las ventajas de la integración de ensemble.scaleway.com Una nota técnica, en inglés. Creación de una solución de videoconferencia escalable en un solo día, utilizando Jitsi y Scaleway Elements *BigBlueButton.* **La API de registro de Scaleway y la interfaz en React se ejecutan en dos contenedores y ambos están alojados en un registro privado de Scaleway. Una vez almacenadas en el registro, las imágenes se pueden extraer a la instancia a través de un demonio docker controlado por docker-compose para ejecutar la aplicación. **Los Load Balancers de Scaleway Load-Balancer reenviarán automáticamente las solicitudes a nuestros servidores API en función de la disponibilidad de recursos. Nuestros servidores API son los que brindan información de carga de cada servidor* para garantizar que el usuario tenga el servidor más disponible. BigBlueButton* **Grupos de ubicaciones de Scaleway Como parte de nuestra aplicación, queremos asegurarnos de que los servidores API estén lo más disponibles posible. Por lo tanto, hemos activado el modo max_availabilityScaleway Security Groups En las instancias de API, solo permitimos la conexión HTTPS y la conexión de acceso remoto SSH. necesario para el funcionamiento de BigBlueButton***BigBlueButton** **Dominios de Scaleway Hemos generado un certificado comodín para todos los subdominios de set-bbb.scaleway.com.Cada servidor * recibe su certificado que utiliza su servidor Nginx para administrar las conexiones HTTPS. BigBlueButton* ## Los siguientes pasos Scaleway continúa trabajando activamente tanto en httpsensemble.scaleway.com/ como en httpsensemble-bbb.scaleway.com/ para apoyar a tantas personas como sea posible durante este momento difícil. Para obtener más información, no dude en probar hoy la solución BigBlueButton con tecnología de Scaleway, leer nuestra documentación sobre este tema o crear su primer servidor BareMetal.