화상회의 솔루션 기반 앙상블 프로젝트 성공 후 *, Scaleway 팀은 새로운 Jitsi* 화상 회의 솔루션으로 기능 측면에서 더 나아가고 싶었습니다. 완전하고 클라이언트 플랫폼에 덜 의존하는 이 새로운 솔루션은 물리적 BareMetal 서버에 직접 설치됩니다.* **BigBlueButton** ## 달성한 것 *짓시* 화상 회의 플랫폼은 사랑하는 사람과 연락을 유지하고 원격 작업을 보장하는 데 필수적인 요소가 되었습니다. 이를 염두에 두고 제한이 발표되자마자 Scaleway는 커뮤니티에서 사용할 수 있는 오픈 소스 및 주권 화상 회의 솔루션을 만들었습니다. *, Covid-19.Jitsi 위기 동안* 무료, 오픈 소스 및 주권 화상 회의 * Powered by Scaleway는 Jitsi* *서버에서 많은 비디오 브리지 요청을 처리할 수 있는 능력을 제공하는 것을 목표로 합니다. 짐. 이를 통해 각 사용자가 가상 ​​방을 만들고 통화를 시작하는 데 가장 적게 사용된 인스턴스를 갖도록 할 수 있습니다.* **Jitsi** 오늘날 stateless API는 React의 Front와 모든 서버 목록을 얻기 위해 Prometheus에 요청하는 API(30초마다)로 구성됩니다. * 사용 가능 및 현재 CPU 사용량.Jitsi* 그런 다음 웹 애플리케이션은 서버를 선택합니다. * 사용 가능한 CPU가 가장 많고 사용자에게 URL을 반환합니다. 이 URL을 사용하여 사용자는 Jitsi 서버* *에 쉽게 연결하고 최적의 사운드 및 비디오 품질로 통화를 즐길 수 있습니다. 비디오 브리지.* **Jitsi** ## 대안을 제시하는 이유 *Jitsi* with *BigBlueButton*? ensemble.scaleway 화상 회의 솔루션은 2020년 7월 말까지 무료로 사용할 수 있습니다.Scaleway는 * 이번에 사용하는 Jitsi* **는** *BigBlueButton* **원래 원격 교육을 위해 개발된 화상 회의 시스템입니다. 웹 애플리케이션은 HTML5를 기반으로 하며 '소프트웨어 또는 플러그인 없음 ** 설치가 필요하지 않습니다. 사실상, **는** *BigBlueButton* **라이센스로 사용 가능** ** *오픈 소스*이며 Windows, MacOS, Linux, Android, iOS와 같은 클라이언트 장치에 추가로 설치할 필요가 없습니다. 우리는 또한 이 솔루션이 더 강력하고 가용성이 높다는 점에서 이 솔루션을 선택했습니다. 또한 다음과 같은 많은 협업 기능을 제공합니다. - 보드 - 슬라이드 리더 - 화면 공유 - 가상 말하기 요청 - 소회의실 생성 - 참가자 간의 비공개 채팅 * 대규모 그룹의 화상 회의 통화에 대해 보정되었습니다. 참가자 수를 제한하지 않고 종종 트래픽 피크가 높기 때문에 솔루션은 징후를 보이지 않습니다. 이 플랫폼은 BigBlueButton*과 같이 참가자 권한을 제어할 수 있는 옵션이 있는 다른 인기 있는 화상 회의 솔루션보다 안정적이고 사용하기 쉽다는 장점이 있습니다. 이 Scaleway 안정성을 보장하기 위해 **백엔드 인프라를 위해 여러 개의 작은 서버가 아닌 초대형 서버**를 선택했기 때문에 하이퍼바이저와 가상화 계층이 없는 하드웨어 구성의 강력한 BareMetal 서버를 선택했습니다. Scaleway에서 제공하는 BigBlueButton을 어떻게 구성했습니까?솔루션 * 물리적 서버에 직접 설치를 권장하므로 Bare Metal GP-BM1-M 서버 클러스터로 시작했습니다. 하드웨어 구성 측면에서 다음과 같은 이점이 있습니다. BigBlueButton* CPU:1àIntelî Xeon E3 1240v6 - 4C 8T - 3.7 GHz RAM:64 GB 스토리지:3ÃÂ1 TB 대역폭:500 Mbit/s 팀은 BigBlueButton이 자동으로 구성된 Ubuntu 이미지를 제공했습니다. 설치는 github에서 무료로 제공되는 스크립트를 사용하여 수행됩니다. ## 첫 번째 단계: Terraform 모듈 Terraform은 플랫폼에도 사용했던 인프라 도구입니다. *.선언적 패러다임(코드형 인프라)에서 모든 클라우드 리소스를 관리할 수 있습니다. 특히 Jitsi 클러스터의 각 전용 서버를 생성할 BareMetal 모듈입니다* *.플러그인은 매개변수 ID를 사용합니다. 행사를 위해 특별히 제작되었습니다.* **BigBlueButton** 리소스 "scaleway_baremetal_server_beta""bbb"{ for_each = 로컬. 인스턴스 영역 = "fr-par-2"제안 = "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(프로메테우스) ## 2단계: 방 배정 해결책은 * React에는 단일 인터페이스를 통해 내부 API에 접속하여 많은 서버 중 하나에 방을 생성할 수 있는 프런트엔드가 있습니다.Jitsi* ** 사용자 및 방 소유자 등록 메커니즘을 포함합니다. 각 사용자가 방을 만들거나 참여하기 위해 각 노드에 등록해야 하는 것을 피하기 위해 참가자에게 제공할 수 있는 두 가지 API 경로를 사용자에게 제공하여 이 부분을 투명하게 만들었습니다. 방 진행자로 연결하는 첫 번째 경로와 단순 참가자로 다른 경로를 연결합니다. 빅블루버튼** 앞서 언급했듯이 API는 주기적으로 각 서버를 쿼리합니다. * 회의실 및 참가자 수를 검색하여 cluster.BigBlueButton에 로드를 균등하게 분산할 수 있습니다.* ## 세 번째 단계: ensemble.scaleway.com 통합의 모든 이점을 되찾습니다. 기술 노트, 영어 Jitsi 및 Scaleway Elements *BigBlueButton.* **Scaleway Registry API 및 React의 프런트엔드는 두 개의 컨테이너에서 실행되며 둘 다 Scaleway 개인 레지스트리에서 호스팅됩니다. 일단 레지스트리에 저장되면 다음에서 제어하는 ​​도커 데몬을 통해 이미지를 인스턴스로 가져올 수 있습니다. 애플리케이션을 실행하기 위한 docker-compose. **Scaleway 로드 밸런서 로드 밸런서는 리소스 가용성에 따라 자동으로 API 서버에 요청을 전달합니다. 당사의 API 서버는 사용자가 가장 가용한 서버를 사용할 수 있도록 각 서버*의 로드 정보를 제공하는 서버입니다. BigBlueButton* **Scaleway Placements Groups 애플리케이션의 일부로 API 서버를 최대한 사용할 수 있는지 확인하려고 합니다. 따라서 모드를 활성화했습니다. max_availabilityScaleway 보안 그룹 API 인스턴스에서는 HTTPS 연결 및 SSH 원격 액세스 연결만 허용했습니다. BigBlueButton***BigBlueButton** **Scaleway Domains의 운영에 필요한 모든 하위 도메인에 대한 와일드카드 인증서를 생성했습니다. set-bbb.scaleway.com.각 서버 * HTTPS 연결을 관리하기 위해 Nginx 서버에서 사용하는 인증서를 받습니다.BigBlueButton* ## 다음 단계 Scaleway는 이 어려운 시기에 최대한 많은 사람들을 지원하기 위해 httpsensemble.scaleway.com/ 및 httpsensemble-bbb.scaleway.com/ 모두에서 적극적으로 계속 노력하고 있습니다. 자세히 알아보고 주저하지 말고 지금 Scaleway 솔루션으로 구동되는 BigBlueButton을 테스트하거나 이 주제에 대한 설명서를 읽거나 첫 BareMetal 서버를 만드십시오.