Після успіху проекту Ensemble на основі рішення для відеоконференцій * команди Scaleway хотіли розвинути функціональні можливості за допомогою нового рішення Jitsi* для відеоконференцій. Це нове рішення, повне й менш залежне від клієнтської платформи, встановлюється безпосередньо на наших фізичних серверах BareMetal.* **BigBlueButton** ## Що було досягнуто за допомогою *Джиці* Платформи для відеоконференцій стали необхідними, щоб залишатися на зв’язку зі своїми близькими та забезпечити віддалену роботу. Зважаючи на це та щойно було оголошено про обмеження, Scaleway зробив доступним для спільноти суверенне рішення для відеоконференцій із відкритим кодом, *, на час кризи Covid-19.Jitsi* Безкоштовна відеоконференція з відкритим вихідним кодом і суверенна система * на базі Scaleway має на меті забезпечити Jitsi* *сервери, здатні обробляти велике навантаження запитів на відеомост. навантаження. Це дозволяє нам гарантувати, що кожен користувач має найменш використовуваний екземпляр для створення віртуальної кімнати та ініціювання дзвінка.* **Jitsi** Сьогодні API без збереження стану складається з Front у React та API, який надсилає запит до Prometheus (кожні 30 секунд), щоб отримати список усіх серверів. * доступні та поточне використання ЦП.Jitsi* Потім веб-програма вибирає сервер * який має найбільш доступний процесор і повертає URL-адресу користувачеві. Використовуючи цю URL-адресу, користувач може легко підключитися до сервера Jitsi * *і почати насолоджуватися розмовою з оптимальною якістю звуку та відео. Усі сервери* **Jitsi** *розгорнуті на примірниках Scaleway Elements, які можуть містити велику кількість одночасних відео мости.* **Jitsi** ## Навіщо пропонувати альтернативу *Jitsi* з *BigBlueButton*? Рішення для відеоконференцій ensemble.scaleway залишається доступним і безкоштовним до кінця липня 2020 року. Scaleway розглянув альтернативу * використовуючи цей час, 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 ГГц Оперативна пам’ять: 64 ГБ Пам’ять: 3 × 1 ТБ Пропускна здатність: 500 Мбіт/с Команда надала доступ до образу Ubuntu з автоматично налаштованим BigBlueButton. Встановлення виконується за допомогою скрипта, який вільно доступний на github ## Перший крок: модуль Terraform Terraform — це інфраструктурний інструмент, який ми також використовували для платформи *.Це дозволяє керувати всіма хмарними ресурсами в декларативній парадигмі (інфраструктура як код). Це, зокрема, модуль BareMetal, який прийде для створення кожного виділеного сервера кластера Jitsi* *.Плагін прийматиме параметр ID спеціально створених для цієї нагоди.* **BigBlueButton** ресурс "scaleway_baremetal_server_beta""bbb"{ for_each = local. екземпляри 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 x DEV1-L (Prometheus) ## Другий крок: Розподіл кімнат Що стосується рішення * у нас є інтерфейс у React, який дозволяє через єдиний інтерфейс зв’язатися з внутрішнім API, щоб створити кімнату на одному з багатьох серверів. Jitsi* ** вбудований механізм реєстрації користувачів і власників кімнати. Щоб уникнути необхідності реєстрації кожного користувача на кожному вузлі для створення або приєднання до кімнати, ми зробили цю частину прозорою, надавши користувачеві два маршрути API, які він може надати своїм учасникам. Перший шлях для підключення як модератор кімнати, а інший – як простий учасник. BigBlueButton** Як згадувалося раніше, API періодично запитує кожен сервер * для отримання кількості кімнат і учасників, що дозволяє рівномірно розподілити навантаження на кластер.BigBlueButton* ## Крок третій: поверніть усі переваги інтеграції ensemble.scaleway.com Технічна примітка англійською мовою Створення масштабованого рішення для відеоконференцій за один день за допомогою Jitsi та Scaleway Elements *BigBlueButton.* **Scaleway Registry API та інтерфейс у React працюють у двох контейнерах і обидва розміщені в приватному реєстрі Scaleway. Після збереження в реєстрі зображення можна завантажувати в екземпляр через демон докерів, керований docker-compose для запуску програми. ** Балансувальники навантаження Scaleway Load-Balancer автоматично пересилатимуть запити на наші сервери API залежно від доступності ресурсів. Наші API-сервери надають інформацію про завантаження кожного сервера*, щоб гарантувати, що користувач має найбільш доступний сервер. BigBlueButton* **Групи розташувань Scaleway У рамках нашої програми ми хочемо переконатися, що сервери API є максимально доступними. Тому ми активували режим max_availabilityScaleway Групи безпеки В екземплярах 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.