Após o sucesso do projeto Ensemble baseado na solução de videoconferência *, as equipes da Scaleway queriam ir além em termos de funcionalidade com uma nova solução de videoconferência Jitsi*. Essa nova solução, completa e menos dependente da plataforma do cliente, é instalada diretamente em nossos servidores BareMetal físicos.* **BigBlueButton** ## O que foi alcançado com *Jitsi* As plataformas de videoconferência tornaram-se essenciais para manter contato com seus entes queridos e garantir o trabalho remoto. Pensando nisso e assim que o confinamento foi anunciado, a Scaleway colocou à disposição da comunidade a solução de videoconferência open source e soberana, *, enquanto durar a crise do Covid-19.Jitsi* Videoconferência gratuita, de código aberto e soberana * powered by Scaleway visa fornecer Jitsi* *servidores capazes de lidar com uma carga pesada de solicitações de ponte de vídeo. carregar. Isso nos permite garantir que cada usuário tenha a instância menos usada para criar uma sala virtual e iniciar uma chamada.* **Jitsi** Hoje, a API stateless é composta por um Front in React e uma API que faz uma requisição a um Prometheus (a cada 30 segundos) para obter a lista de todos os servidores * disponível e seu uso atual de CPU.Jitsi* O aplicativo da web seleciona o servidor * que tem a CPU mais disponível e retorna a URL para o usuário. Usando esta URL, o usuário pode se conectar facilmente ao servidor Jitsi * *e começar a desfrutar da chamada com ótima qualidade de som e vídeo. Todos os servidores* **Jitsi** *são implantados em instâncias Scaleway Elements que podem conter um grande número de pontes de vídeo.* **Jitsi** ## Por que propor uma alternativa para *Jitsi* com *BigBlueButton*?A solução de videoconferência ensemble.scaleway permanece disponível e gratuita até o final de julho de 2020.Scaleway procurou uma alternativa para * aproveitando desta vez, Jitsi* **que** *BigBlueButton* **é um sistema de videoconferência desenvolvido originalmente para ensino a distância. O aplicativo da web é baseado em HTML5 e não requer a instalação de 'nenhum software ou plug-in ** Com efeito, **está** *BigBlueButton* **disponível como uma licença** ** *código aberto* e não requer nenhuma instalação adicional em dispositivos clientes como Windows, MacOS, Linux, Android, iOS. Também optámos por esta solução por se revelar mais robusta e mais disponível. Ele também oferece muitos recursos colaborativos, como: - O quadro - O leitor de slides - Compartilhamento de tela - O pedido de fala virtual - A criação de sub-sala de reunião - Bate-papo privado entre os participantes * é calibrado para chamadas de videoconferência em grandes grupos. Por não limitar o número de participantes e com picos de tráfego muitas vezes elevados, a solução não dá sinais de. A plataforma tem a vantagem de ser tão estável e simples de usar quanto outras soluções populares de videoconferência com opções para controlar as permissões dos participantes, por exemplo.BigBlueButton* A fim de garantir esta estabilidade Scaleway **escolhemos servidores muito grandes para sua infraestrutura de back-end** em vez de vários pequenos e, portanto, optamos por servidores BareMetal poderosos com uma configuração de hardware sem um hipervisor e sem uma camada de virtualização Como configuramos o BigBlueButton com tecnologia Scaleway?A solução * recomenda a instalação direta em um servidor físico, então começamos com um cluster de servidor Bare Metal GP-BM1-M. Isso tem as seguintes vantagens em termos de configuração de hardware: BigBlueButton* CPU:1ÂÂ Intel® Xeon E3 1240v6 - 4C 8T - 3,7 GHz RAM:64 GB Armazenamento:3ÂÂ1 TB Largura de banda:500 Mbit/s A equipe disponibilizou uma imagem do Ubuntu com o BigBlueButton configurado automaticamente. A instalação é feita usando um script disponível gratuitamente no github ## Primeira etapa: O módulo Terraform Terraform é uma ferramenta de infraestrutura que também usamos para a plataforma *.Permite gerir todos os recursos da cloud num paradigma declarativo (infra-estrutura como código).É em particular o módulo BareMetal que virá criar cada servidor dedicado do cluster Jitsi* *.O plugin terá como parâmetro o ID dos criados especialmente para a ocasião.* **BigBlueButton** recurso "scaleway_baremetal_server_beta""bbb"{ for_each = local. instâncias 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 , data.scaleway_account_ssh_key.user3.id, ] } O restante da infraestrutura Ensemble-bbb.scaleway consiste em instâncias de computação: - 2 x DEV1-L (NGINX, interface React, proxy BigBlueButton) - 1 x DEV1-L (Prometeu) ## Segundo passo: A distribuição dos quartos Quanto à solução * temos um frontend em React que permite através de uma única interface entrar em contato com uma API interna para criar uma sala em um dos muitos servidores.Jitsi* ** incorpora um mecanismo de registro do usuário e do proprietário da sala. Para evitar que cada usuário tenha que se registrar em cada nó para criar ou ingressar em uma sala, tornamos essa parte transparente, fornecendo ao usuário duas rotas de API que ele pode fornecer aos seus participantes. Uma primeira rota para se conectar como moderador de sala e a outra como simples participante. BigBlueButton** Conforme mencionado anteriormente, a API consulta periodicamente cada servidor * para recuperar o número de salas e participantes, o que permite uma distribuição igual de carga no cluster.BigBlueButton* ## Terceira etapa: Recupere todas as vantagens da integração ensemble.scaleway.com Uma nota técnica, em inglês Construindo uma solução de videoconferência escalável em um único dia, usando Jitsi e Scaleway Elements *BigBlueButton.* **Scaleway Registry API e frontend em React executados em dois contêineres e ambos hospedados em um registro privado Scaleway. Depois de armazenadas no registro, as imagens podem ser inseridas na instância por meio de um daemon docker controlado por docker-compose para executar o aplicativo. **Balanceador de carga Scaleway Os balanceadores de carga encaminharão automaticamente as solicitações para nossos servidores de API com base na disponibilidade de recursos. Nossos servidores de API são os que fornecem informações de carga de cada servidor* para garantir que o usuário tenha o servidor mais disponível. BigBlueButton* **Scaleway Placements Groups Como parte de nosso aplicativo, queremos garantir que os servidores de API estejam o mais disponíveis possível. Portanto, ativamos o modo max_availabilityScaleway Security Groups Em instâncias de API, permitimos apenas conexão HTTPS e conexão de acesso remoto SSH. necessário para a operação de BigBlueButton***BigBlueButton** **Scaleway Domains Geramos um certificado curinga para todos os subdomínios de set-bbb.scaleway.com.Cada servidor * recebe seu certificado que é usado por seu servidor Nginx para gerenciar conexões HTTPS.BigBlueButton* ## Os próximos passos A Scaleway continua trabalhando ativamente em httpsensemble.scaleway.com/ e httpsensemble-bbb.scaleway.com/ para apoiar o maior número possível de pessoas durante esse período difícil. Para saber mais, não hesite em testar hoje mesmo a solução BigBlueButton powered by Scaleway, para ler nossa documentação sobre o assunto ou para criar seu primeiro servidor BareMetal.