Como criar serviços do Blackboard altamente disponíveis e escaláveis

PUBLICADO EM 24 de setembro de 2019

O que é o Blackboard?

O Blackboard é um aplicativo do setor educacional desenvolvido por uma empresa com o mesmo nome, cujo objetivo é fornecer conteúdo educativo editado por professores e de fácil acesso para os alunos.

Este aplicativo contém ferramentas importantes para os alunos, como ferramentas de exame, videoconferências com professores ou aulas do curso. Como esse tipo de aplicativo espera um número elevado de usuários simultâneos, problemas devido à sobrecarga do servidor de aplicativos podem enfrentar todos os dias.

Para mitigar isso, é altamente recomendável implantar a aplicação web utilizando um modelo de alta disponibilidade para garantir que os alunos possam acessar simultaneamente os recursos educativos sem problemas de conectividade e atendendo a aplicação sempre com a máxima disponibilidade.

Ambiente de alta disponibilidade do quadro-negro

O ambiente do quadro-negro contém dois tipos de servidores:

Servidores de aplicativos que gerenciam a lógica do aplicativo e os perfis de usuário.
Servidores colaborativos usados ​​por algumas ferramentas como ponto de encontro entre usuários ou recursos de bate-papo. De fato, este é um servidor de aplicativos com algumas configurações especiais.

O ambiente escalável e altamente disponível de destino de uma implantação do Blackboard é mostrado no desenho abaixo.

Para alcançá-lo, recomendamos configurar um HTTP farm para servidores de aplicativos no modo ativo-ativo, em que um conjunto de servidores é adicionado sob demanda.

Por outro lado, recomendamos um L4xNAT farm para servidores colaborativos usando todas as portas e todos os protocolos, pois eles podem usar o tráfego TCP e UDP para os serviços interativos e de colaboração. De acordo com a Blackboard, esses serviços só podem ser configurados no modo ativo-passivo, portanto, levaremos isso em consideração durante a configuração do serviço virtual.

Em nosso exemplo, o serviço de aplicativo Blackboard está sendo publicado no IP 10.0.1.2 que resolve para o domínio blackboard.domain.org no DNS e usando as portas TCP 443 e 80 (redirecionando para a porta 443).

Os serviços colaborativos são acessíveis através do IP 10.0.1.3 que resolve com o domínio collab.blackboard.domain.org de todas as portas e protocolos.

Todos os aplicativos e servidores colaborativos estão no mesmo segmento de rede 10.0.7.0/24.

Configuração de balanceamento de carga do quadro-negro

Requisitos

Primeiro, prepare o aplicativo para ser configurado em alta disponibilidade e em alguns utilitários do balanceador de carga.

Configuração do quadro-negro para alta disponibilidade

O aplicativo e a configuração colaborativa dos servidores Blackboard para alta disponibilidade são explicados com detalhes no seguinte artigo:

https://help.blackboard.com/es-es/Learn/Administrator/Hosting/Performance_Optimization/Load_Balancing

Siga as instruções do DNS e outras configurações necessárias para garantir que a implantação do Blackboard esteja pronta para HA.

Configuração de rede do serviço virtual do quadro-negro

Os serviços virtuais serão publicados em duas interfaces virtuais diferentes na mesma NIC física; essas interfaces serão compartilhadas entre o cluster do Zevenet Load Balancer. Em casos de alta taxa de transferência e para reduzir a latência, os serviços virtuais podem usar NICs físicas diferentes.

As interfaces virtuais são criadas em uma interface de rede física existente, portanto, é necessário ter uma interface de NIC, ligação ou VLAN na mesma rede que o endereço IP da interface virtual. Nesse caso, uma interface NIC é criada, clicando no menu esquerdo Rede> NIC e editando uma das NICs da lista.

Neste exemplo, os serviços serão publicados em duas interfaces, uma chamada eth1: quadro-negro usando o IP 10.0.1.2 e outro chamado eth1: collab e usando o IP 10.0.1.3.

Para criar uma interface virtual, clique na opção da barra de menus à esquerda Rede> Interfaces virtuais> Criar e preencha o formulário conforme mostrado abaixo.

Da mesma maneira, crie a interface virtual para o serviço virtual colaborativo.

Monitoramento de verificação de integridade do quadro-negro

O Blackboard já fornece uma página da web dedicada a solicitar o status de integridade do servidor de aplicativos, portanto, recomendamos usá-lo nas verificações avançadas de integridade configuradas no balanceador de carga. A seguinte verificação personalizada do FarmGuardian será usada para saber o status do aplicativo Blackboard.

Clicando na opção da barra de menus esquerda Monitoramento> Guardiões da Fazenda, pressione Criar Farmguardian e escolha a opção Copiar de “check_http”, como mostrado abaixo.

Os novos parâmetros de verificação de integridade para os servidores de aplicativos Blackboard são:

Nome: check_blackboard
Intervalo: 61 seg
Command: check_http -I HOST -p PORTA -e 200 -t 20 -u “http://blackboard.domain.org/webapps/portal/healthCheck”

Essa verificação Farmguardian é ajustada para back-ends 4 ou menos, se houver mais de back-ends 4 no pool de servidores de aplicativos, defina o parâmetro interval de acordo com a equação intervalo = * 20 + 1.

Agora que configuramos a configuração necessária, vamos configurar os serviços virtuais para cada serviço necessário no Blackboard HA.

Configuração de serviço virtual dos Blackboard Application Servers

Dois serviços virtuais HTTP diferentes serão configurados, um para HTTPS seguro e outro com redirecionamento de HTTP para HTTPS. Vamos ver como fazer isso.

Serviço virtual HTTPS do servidor de aplicativos

Crie um novo farm de perfis HTTP LSLB clicando na opção da barra de menus à esquerda LSLB> Fazendas e então o botão Criar fazenda.

Os seguintes parâmetros serão modificados para obter o melhor desempenho:

Ouvinte:
HTTPS
Certificados habilitados. Aqui, é recomendável escolher um certificado assinado previamente carregado na opção da barra de menus esquerda LSLB> Certificados SSL, Clique no Carregar Certificado botão.

O aplicativo Blackboard precisa apenas de um serviço no serviço virtual HTTPS. Crie-o clicando no Serviços guia e, em seguida, o Novo serviço botão. Os parâmetros para configurar nos serviços são:

Back-ends HTTPS: habilitado
Inserção de cookie: habilitado
Nome do cookie: ZENSESSIONID
Cookie TTL: 10860, (3h, 1min)
Caminho do bolinho: /
Farmguardian: check_blackboard (criado anteriormente)

Uma vez modificado, é necessário pressionar o Enviar botão.

Por fim, adicione os servidores de aplicativos na seção de back-end clicando em Adicionar back-end. Para cada back-end é necessário configurar o Endereço IP e a Porta. Quando todos os back-end forem adicionados, pressione o farm Reiniciar botão.

Serviço de redirecionamento HTTP para HTTPS do servidor de aplicativos

O objetivo deste farm HTTP é redirecionar as solicitações HTTP para o farm HTTP criado anteriormente com o nome aplicação de quadro-negro para forçar todos os clientes a passar pelo serviço criptografado. Como exemplo, crie um novo farm LSLB chamado quadro-redirecionar-ssl e defina os seguintes parâmetros para este farm:

Nome: quadro-redirecionar-ssl
Perfil: HTTP
IP virtual: 10.0.1.2 (é igual ao serviço na porta 443)
Porta virtual: 80

Depois que o farm for criado, clique na guia Serviços e o botão Novo serviço. Selecione um serviço nome, redirecionar neste exemplo e edite-o com os seguintes parâmetros:

Redirecionar: ativado
URL de redirecionamento: https://blackboard.domain.org (este é o nome do servidor de nomes de serviço usado no DNS)
Tipo de redirecionamento: Padrão
Código de redirecionamento: 301

Por fim, pressione Enviar e reinicie o farm para aplicar as alterações.

Configuração do serviço virtual dos Servidores Colaborativos da Blackboard

Conforme explicado no início do artigo, os servidores colaborativos não podem ter balanceamento de carga de acordo com o Blackboard, mas podem ser configurados em alta disponibilidade.

A primeira etapa é definir o serviço virtual criando um novo farm L4xNAT através da seção LSLB> Fazendas> Criar Fazenda. Recomenda-se configurar este serviço virtual com todas as portas, definidas por *e através TODOS protocolos recomendados pela Blackboard para habilitar TCP pelos serviços e alguns UDP portas para melhorar o desempenho do tráfego interativo.

Nenhum algoritmo especial ou persistência é necessário, pois este serviço será configurado no modo ativo-passivo, mas vamos adicionar os back-ends Endereços IP (sem Porta) com diferentes Prioridade para gerar o failover automático quando o servidor de colaboração ativo for detectado como inativo. Mais de back-ends 2 podem ser configurados sem nenhum problema.

Por fim, é recomendável configurar uma verificação de integridade para este serviço. Como nenhuma porta específica é usada no serviço virtual e back-ends, usaremos um simples check_ping para saber se o servidor de colaboração está acessível e responde corretamente a um pacote ICMP.

Resumo dos serviços virtuais do quadro-negro

Aqui você tem o resumo do serviço virtual que criamos para aprimorar a disponibilidade do Blackboard.

Cluster do balanceador de carga do quadro-negro

Para evitar um único ponto único de falha, é necessário um cluster do balanceador de carga. Essa prática permite configurar todo o ambiente em diferentes data centers ou nós físicos.

Para obter mais informações sobre o cluster, consulte https://www.zevenet.com/knowledge-base/howtos/configure-zevenet-cluster/

Segurança aprimorada dos serviços virtuais do quadro-negro

O Zevenet Load Balancer inclui um sistema de prevenção e detecção de intrusões que inclui listas negras, proteção DDoS, listas negras de DNS em tempo real do DNS e firewall de aplicativos da Web. Recomendamos tirar proveito desses sistemas de segurança para sua implementação de HA do Blackboard.

Compartilhar no:

Documentação sob os termos da Licença de Documentação Livre GNU.

Esse artigo foi útil?

Artigos Relacionados