После успеха проекта Ensemble на базе решения для видеоконференцсвязи *, команда Scaleway хотела расширить функциональные возможности нового решения для видеоконференций Jitsi*. Это новое решение, полное и в меньшей степени зависящее от клиентской платформы, устанавливается непосредственно на наши физические серверы BareMetal*. **BigBlueButton** ## Что было достигнуто с помощью *Джитси* Платформы для видеоконференций стали необходимы, чтобы оставаться на связи со своими близкими и обеспечивать удаленную работу. Имея это в виду, и как только было объявлено о заключении, Scaleway предоставила сообществу открытое и независимое решение для видеоконференцсвязи. *, на время кризиса Covid-19.Jitsi* Бесплатная, с открытым исходным кодом и независимая, видеоконференцсвязь * при поддержке Scaleway стремится предоставить Jitsi* * серверы, способные обрабатывать большую нагрузку запросов видеомоста. нагрузка. Это позволяет нам гарантировать, что у каждого пользователя есть наименее используемый экземпляр для создания виртуальной комнаты и инициирования вызова.* **Jitsi** Сегодня API без сохранения состояния состоит из Front in React и API, который делает запрос к Prometheus (каждые 30 секунд), чтобы получить список всех серверов. * Доступно и их текущее использование ЦП.Jitsi* Затем веб-приложение выбирает сервер * который имеет самый доступный ЦП и возвращает URL-адрес пользователю. Используя этот URL-адрес, пользователь может легко подключиться к серверу Jitsi * * и начать пользоваться звонком с оптимальным качеством звука и видео. Все серверы* **Jitsi** * развернуты на экземплярах Scaleway Elements, которые могут содержать большое количество одновременно видеомосты.* **Джитси** ## Зачем предлагать альтернативу *Jitsi* с *BigBlueButton*? Решение для видеоконференций ансамбля.scaleway остается доступным и бесплатным до конца июля 2020 года. * на этот раз Jitsi* **которая** *BigBlueButton* **является системой видеоконференцсвязи, изначально разработанной для дистанционного обучения. Веб-приложение основано на HTML5 и не требует установки программного обеспечения или плагинов**. В результате, **является** *BigBlueButton* **доступно по лицензии** ** *с открытым исходным кодом* и не требует дополнительной установки на клиентских устройствах, таких как Windows, MacOS, Linux, Android, iOS. Мы также выбрали это решение, потому что оно оказывается более надежным и доступным. Он также предлагает множество функций для совместной работы, таких как: - Доска - Считыватель слайдов - Демонстрация экрана - Запрос виртуального разговора - Создание подконференц-зала - Приватный чат между участниками * откалиброван для видеоконференций в больших группах. Не ограничивая количество участников и с часто высокими пиками трафика, решение не показывает никаких признаков. Преимущество платформы в том, что она столь же стабильна и проста в использовании, как и другие популярные решения для видеоконференций, с возможностью управления разрешениями участников, например BigBlueButton*. Чтобы обеспечить эту стабильность Scaleway **выбрал очень большие серверы для своей серверной инфраструктуры**, а не несколько небольших, и поэтому выбрал мощные серверы BareMetal с аппаратной конфигурацией без гипервизора и без слоя виртуализации. Как мы настроили BigBlueButton на базе Scaleway?Решение * рекомендуется прямая установка на физический сервер, поэтому мы начали с кластера серверов Bare Metal GP-BM1-M. Это имеет следующие преимущества с точки зрения аппаратной конфигурации: BigBlueButton* ЦП: 1× Intel® Xeon E3 1240v6 – 4C 8T – 3,7 ГГц RAM: 64 ГБ Память: 3×1 ТБ Пропускная способность: 500 Мбит/с Команда предоставила образ Ubuntu с автоматически настроенным BigBlueButton. Установка производится с помощью скрипта, который находится в свободном доступе на github. ## Первый шаг: модуль Terraform Terraform — это инфраструктурный инструмент, который мы также использовали для платформы. *.Он позволяет управлять всеми облачными ресурсами в декларативной парадигме (инфраструктура как код).В частности, модуль BareMetal будет создавать каждый выделенный сервер кластера Jitsi* *.Плагин будет принимать в качестве параметра идентификатор из специально созданных для этого случая.* **BigBlueButton** ресурс "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, ] } Остальная часть инфраструктуры Ensemble-bbb.scaleway состоит из вычислительных экземпляров: - 2 x DEV1-L (NGINX, интерфейс React, прокси BigBlueButton) - 1 х DEV1-L (Прометей) ## Второй шаг: Распределение комнат Что касается решения * у нас есть интерфейс в React, который позволяет через единый интерфейс обращаться к внутреннему API для создания комнаты на одном из множества серверов. Jitsi* ** встраивает механизм регистрации пользователя и владельца комнаты. Чтобы каждому пользователю не приходилось регистрироваться на каждом узле для создания комнаты или присоединения к ней, мы сделали эту часть прозрачной, предоставив пользователю два маршрута API, которые он может предоставить своим участникам. Первый маршрут для подключения в качестве модератора комнаты, а другой — в качестве простого участника. Большая синяя кнопка** Как упоминалось ранее, API периодически опрашивает каждый сервер. * для получения количества комнат и участников, что позволяет равномерно распределить нагрузку на кластер.BigBlueButton* ## Третий шаг: верните все преимущества интеграции ансамбля.scaleway.com Техническая записка на английском языке Создание масштабируемого решения для видеоконференций за один день с использованием Jitsi и Scaleway Elements *BigBlueButton*. **Scaleway Registry API и внешний интерфейс в React работают в двух контейнерах и оба размещаются в частном реестре Scaleway. После сохранения в реестре образы могут быть загружены в экземпляр с помощью демона Docker, управляемого docker-compose для запуска приложения. ** Балансировщики нагрузки Scaleway Load-Balancer автоматически перенаправляют запросы на наши серверы API в зависимости от доступности ресурсов. Наши серверы API — это те, которые предоставляют информацию о загрузке каждого сервера*, чтобы гарантировать, что у пользователя есть самый доступный сервер. BigBlueButton* **Scaleway Placements Groups В рамках нашего приложения мы хотим обеспечить максимальную доступность серверов API. Поэтому мы активировали режим max_availabilityScaleway Security Groups В экземплярах API мы разрешали только подключение HTTPS и подключение удаленного доступа SSH. необходим для работы BigBlueButton***BigBlueButton** **Scaleway Domains Мы сгенерировали групповой сертификат для всех субдоменов set-bbb.scaleway.com.Каждый сервер * получает свой сертификат, который используется их сервером Nginx для управления соединениями HTTPS.BigBlueButton* ## Следующие шаги Scaleway продолжает активно работать как на httpsensemble.scaleway.com/, так и на httpsensemble-bbb.scaleway.com/, чтобы поддержать как можно больше людей в это трудное время. чтобы узнать больше, не стесняйтесь протестировать решение BigBlueButton на базе Scaleway сегодня, прочитать нашу документацию по этому вопросу или создать свой первый сервер BareMetal.