Implantações globais
As implantações GO-Global em grande escala geralmente vão muito além dos Farm Hosts e Farm Managers. Em ambientes corporativos, elas normalmente operam junto com vários sistemas de suporte projetados para melhorar o desempenho, a confiabilidade e a segurança. Esses sistemas - incluindo firewalls, balanceadores de carga, firewalls de aplicativos da Web (WAFs), proxies reversos e ferramentas de monitoramento - garantem que os aplicativos GO-Global permaneçam acessíveis, resilientes e em conformidade com os padrões organizacionais.
Este artigo fornece orientações detalhadas sobre como configurar o GO-Global para funcionar de forma eficaz em infraestruturas de TI complexas que incluem esses componentes. Ele explica como o GO-Global interage com cada sistema, descreve as melhores práticas de configuração e destaca as principais considerações para os administradores que gerenciam implantações em larga escala ou baseadas na nuvem.

Firewall de perímetro
Quando uma implantação da GO-Global é acessível pela Internet, um firewall de perímetro é geralmente a primeira linha de defesa contra invasões. Os firewalls de perímetro são normalmente configurados para permitir conexões de entrada na porta TCP 443, que é a porta padrão para tráfego HTTPS/TLS seguro.
Como a porta 443 é a porta padrão para tráfego seguro e é a porta que está aberta na maioria dos firewalls corporativos (cliente), os clientes da GO-Global que se conectam pela Internet são normalmente configurados para se conectarem à porta 443 em vez da porta padrão da GO-Global, 491. Isso é feito adicionando a porta na URL (por exemplo, &port=443) ou especificando a porta na página logon.html da GO-Global.
Firewall de aplicativos da Web (WAF)
Um Web Application Firewall (WAF) analisa as solicitações HTTP de entrada para identificar e bloquear solicitações mal-intencionadas. Os WAFs também podem rotear o tráfego para diferentes servidores de back-end com base nas informações das solicitações HTTP, mas essa não é sua função principal. Sua função principal é fornecer segurança e proteção contra ataques, como ataques de negação de serviço distribuído (DDoS).
Exemplos de WAFs incluem o Cloudflare WAF, o AWS WAF (Amazon Web Services), o Azure Web Application Firewall, o F5 Advanced WAF, o Imperva WAF, o Akamai Kona Site Defender, o Fortinet FortiWeb, o Barracuda WAF e o Radware WAF.
Para analisar o tráfego HTTPS, os WAFs devem encerrar o TLS para que possam descriptografar as solicitações. Quando o TLS é encerrado por um WAF, o parâmetrotls da GO-Global deve ser adicionado à URL do cliente ou deve ser especificado na página logon.html da GO-Global.
Outra consideração sobre o tráfego da GO-Global é que os WAFs não podem analisar o protocolo RXP proprietário da GO-Global. Portanto, quando a comunicação entre um cliente e um host da GO-Global passa por um WAF, ela deve ser agrupada em solicitações HTTP, configurando a GO-Global para usar um Websocket, ou os recursos de análise de dados do WAF devem ser desativados para o tráfego da GO-Global.
Todos os clientes GO-Global da versão 6.3.3 e posteriores suportam WebSockets. Nas versões 6.3.2 e anteriores da GO-Global, no entanto, apenas o GO-Global Web App suporta WebSockets. O AppController, cliente nativo da GO-Global, não suporta WebSockets na versão 6.3.2 e anteriores.
Se o AppController versão 6.3.2 ou anterior for usado com um WAF, o ambiente deverá ser configurado para que o WAF não inspecione o tráfego do AppController. Isso pode ser feito, por exemplo, fornecendo outro ponto de extremidade (endereço público) para conexões do AppController que não usam o WAF, ou configurando o AppController para se conectar em uma porta diferente e configurando o WAF para passar o tráfego nessa porta sem inspecioná-lo.
Proxy reverso
Assim como os WAFs, os proxies reversos analisam as solicitações HTTP de entrada. Os proxies reversos têm alguns recursos de segurança, mas, diferentemente dos WAFs, a principal função dos proxies reversos é o gerenciamento de tráfego, não a segurança. Por exemplo, os proxies reversos são usados com frequência quando vários aplicativos e serviços da Web são fornecidos pelo mesmo endpoint público. Eles encaminham as solicitações de entrada de diferentes aplicativos para seus respectivos servidores de aplicativos. Eles também podem ser usados como um balanceador de carga para Farm Hosts GO-Global.
Exemplos de proxies reversos incluem o Nginx, o Apache HTTP Server, o HAProxy, o Traefik e o Cloudflare. O AWS Application Load Balancer e o Azure Application Gateway têm várias funções, uma das quais inclui servir como proxy reverso.
Assim como os WAFs, os proxies reversos devem encerrar o TLS para que possam analisar as solicitações HTTP de entrada. Assim como acontece com os WAFs, quando o TLS é encerrado por um proxy reverso, o parâmetrotls da GO-Global deve ser adicionado à URL do cliente ou especificado na página logon.html da GO-Global.
Assim como os WAFs, os proxies reversos não podem analisar o RapidX Protocol (RXP), de propriedade da GO-Global. Portanto, assim como no caso de um WAF, quando a comunicação entre um cliente e um host da GO-Global passa por um proxy reverso, ela deve ser agrupada em solicitações HTTP, configurando a GO-Global para usar um WebSocket, ou os recursos de análise de dados do proxy reverso devem ser desativados para o tráfego da GO-Global.
E, assim como ocorre com um WAF, se o AppController versão 6.3.2 ou anterior for usado com um proxy reverso, o ambiente deverá ser configurado para que o WAF não inspecione o tráfego do AppController. Isso pode ser feito, por exemplo, fornecendo outro ponto de extremidade (endereço público) para conexões do AppController que não usam o proxy reverso, ou configurando o AppController para se conectar em uma porta diferente e configurando o proxy reverso para passar o tráfego nessa porta sem inspecioná-lo.
Servidor Web
Os GO-Global Hosts possuem um servidor web integrado que pode hospedar o GO-Global Web App e seus arquivos HTML e JavaScript de suporte. Quando o servidor web integrado da GO-Global é usado, as solicitações HTTP para os arquivos web da GO-Global são encaminhadas para os Farm Hosts da GO-Global na rede interna.
Em implantações na Internet, no entanto, há benefícios de segurança em hospedar os arquivos da Web da GO-Global em um servidor da Web de terceiros localizado na DMZ. Exemplos de servidores da Web de terceiros incluem o Apache HTTP Server, o Nginx e o Microsoft IIS (Internet Information Services).
Quando um servidor da Web de terceiros é usado, o aplicativo Web da GO-Global e os arquivos associados devem ser instalados no servidor da Web, seja por meio do instalador do Host ou copiando o conteúdo do diretório Web da GO-Global para o servidor da Web.
Embora a maioria dos servidores web de terceiros tenha a funcionalidade de lidar com conexões WebSocket, as conexões WebSocket geralmente são tratadas por um balanceador de carga dedicado ou proxy reverso. Os administradores podem configurar WAFs e proxies reversos para rotear as solicitações HTTP da GO-Global para um servidor da Web e para rotear conexões WebSocket para Farm Hosts da GO-Global ou para um balanceador de carga.
Como alternativa, quando um WAF ou proxy reverso não é usado, os administradores podem criar um ponto de extremidade diferente (endereço ou porta) para as conexões WebSocket da GO-Global e especificar esse ponto de extremidade por meio dos parâmetros dehost e/ou porta na URL do cliente ou na página logon.html da GO-Global.
Balanceador de carga de rede
Quando é necessário mais de um Farm Host, é necessário um balanceador de carga para distribuir as conexões de usuário entre os hosts. O balanceador de carga pode ser um proxy reverso ou um balanceador de carga de rede.
Em ambientes em que vários aplicativos são acessados por meio de um único endpoint de Internet, o firewall de perímetro normalmente encaminha as conexões para um proxy reverso (opcionalmente por meio de um WAF). O proxy reverso pode então encaminhar as conexões diretamente para os Farm Hosts (equilibrando a carga) ou pode encaminhar as conexões indiretamente para os hosts por meio de um balanceador de carga de rede.
Como alternativa, em ambientes em que o GO-Global é o único aplicativo acessado pelo ponto de extremidade da Internet, o firewall de perímetro pode encaminhar conexões na porta 443 diretamente para um balanceador de carga de rede. A partir daí, o balanceador de carga seleciona um Farm Host e encaminha a conexão para o Farm Host na porta especificada no Admin Console.
Ao contrário dos proxies reversos, os balanceadores de carga de rede não inspecionam o tráfego e o roteiam com base no conteúdo dos dados. Em geral, eles roteiam o tráfego com base em variáveis como a porta de destino e o endereço IP de origem. Exemplos de balanceadores de carga que podem operar na camada 4 e rotear conexões TCP (o TLS é encerrado nos hosts da GO-Global) são o HAProxy, o balanceador de carga do Azure e o AWS Network Load Balancer.
Alguns balanceadores de carga de rede podem encerrar o TLS no balanceador de carga. Se o balanceador de carga estiver configurado para encerrar o TLS, o parâmetrotls da GO-Global deverá ser adicionado à URL do cliente ou especificado na página logon.html da GO-Global.
Quando um balanceador de carga encerra o TLS, ele pode, opcionalmente, criptografar novamente os dados que transmite aos Farm Hosts. Se os Farm Hosts estiverem configurados para usar o protocolo TLS, o balanceador de carga deverá ser configurado para criptografar novamente os dados que envia aos Farm Hosts. Por outro lado, se o balanceador de carga não criptografar novamente os dados, o Protocolo do GO-Global deverá ser definido como TCP e a Criptografia deverá ser definida como Nenhum.
Quando um balanceador de carga de rede não encerra o TLS, ele passa os dados para os Farm Hosts sem descriptografá-los e criptografá-los novamente. Nessa configuração, o protocolo TLS deve estar ativado nos Farm Hosts, e o parâmetrotls não deve ser especificado na URL do cliente ou na página logon.html.
Firewall de back-end
Um firewall de back-end pode ser usado para limitar o acesso aos Farm Hosts a sistemas de front-end específicos. Por exemplo, se proxies reversos forem usados para rotear conexões para Farm Hosts, um firewall de back-end pode ser configurado para permitir que apenas proxies reversos se conectem aos Farm Hosts. Nesse exemplo, o firewall de back-end deve ser configurado para permitir que os proxies reversos se conectem aos Farm Hosts na porta especificada no Admin Console em Ferramentas | Opções do host | Segurança | Porta (491, por padrão), e o tráfego deve ser permitido em ambas as direções.
Se os aplicativos em execução nos Farm Hosts precisarem acessar a Internet, o firewall de back-end deverá ser configurado para permitir esse acesso.
Os Farm Hosts GO-Global não requerem acesso à Internet. Se, no entanto, o GO-Global for ativado usando uma licença de nuvem, o APS nos Farm Managers deverá ser capaz de se conectar a portal.graphon.com e cloud.graphon.com na porta 443.
Controlador de domínio
Na maioria das implantações, os Farm Hosts são membros de um domínio do Microsoft Active Directory (AD). Nesse ambiente, é essencial que os Farm Hosts mantenham comunicação com seus controladores de domínio. Essa conectividade permite que eles autentiquem contas, recuperem informações e configurações do usuário, carreguem perfis de roaming e apliquem políticas de grupo. Nas implantações do OpenID Connect, os clientes geralmente precisam configurar a delegação restrita nos objetos de computador do AD dos Farm Hosts.
Administração Firewall
Um firewall de administração pode ser usado para limitar a capacidade dos usuários de acessar sistemas de administração, como controladores de domínio e gerentes de fazenda, a partir de Farm Hosts. Por exemplo, um firewall de administração pode ser usado para impedir que os usuários que executam aplicativos nos Farm Hosts tentem se conectar aos controladores de domínio e aos Farm Managers usando a Área de Trabalho Remota.
Se houver um firewall de administração entre os Farm Hosts e os Farm Managers, o firewall deverá permitir que os Farm Hosts se conectem aos Farm Managers na porta especificada no Admin Console em Ferramentas | Opções do host | Segurança | Porta (491, por padrão), e o tráfego deverá ser permitido em ambas as direções.
Se houver um firewall de administração entre os Farm Hosts e os controladores de domínio, o firewall deverá ser configurado para toda a comunicação nas portas que o Windows usa para se comunicar entre os controladores de domínio e os membros do domínio. Consulte a documentação da Microsoft para obter essas informações.
Provedor de identidade
Quando a autenticação do OpenID Connect é usada, os Farm Hosts devem ser capazes de abrir conexões com o provedor de identidade por meio do URL do token especificado no Admin Console em Ferramentas | Opções do host | Autenticação | Configurar definições do OpenID Connect | URL do token.
Infraestrutura de dimensionamento automático
Os provedores de serviços em nuvem (CSPs), como Amazon Web Services (AWS), Microsoft Azure, Oracle Cloud e Google Cloud (GCP), oferecem recursos que podem ser usados para iniciar e parar automaticamente os Farm Hosts à medida que a carga aumenta e diminui. Ao usar esses recursos, os administradores geralmente criam uma imagem básica ("gold") de um Farm Host que pode ser replicada conforme necessário para dar suporte aos usuários que se conectam ao sistema.
As imagens do Farm Host têm o GO-Global instalado e configurado, bem como todos os aplicativos que os usuários executarão nos Farm Hosts. Os administradores normalmente automatizam a criação dessas imagens usando uma combinação de scripts do PowerShell e código de infraestrutura desenvolvido usando uma ferramenta de Infraestrutura como código (IaC), como o Terraform.
Consulte Automatização da configuração do GO-Global para saber como o GO-Global pode ser instalado e configurado de forma programática.
As imagens do Farm Host geralmente têm os endereços do Farm Manager e do Failover Farm Manager armazenados na imagem. Isso torna o dimensionamento (adição de hosts a um farm) simples. Quando novas instâncias de host são iniciadas, elas se conectam automaticamente ao Farm Manager, e o recurso de dimensionamento automático do CSP geralmente se encarrega de adicionar a nova instância ao grupo de destino do balanceador de carga.
Os Farm Hosts obtêm licenças de seus gerentes de farm, portanto, nenhuma configuração de licenciamento é necessária quando uma nova instância do Farm Host é iniciada. Quando as sessões são iniciadas em um Farm Host, o host verifica os assentos de licença do Farm Manager. Geralmente, um assento é consumido para cada sessão simultânea.
O escalonamento (remoção de hosts de um farm) geralmente é um pouco mais complicado do que o escalonamento. Isso ocorre porque geralmente é desejável esperar para encerrar uma instância do Farm Host até que todas as sessões em execução nela tenham sido fechadas. A seção Colocar um Farm Host off-line descreve como fazer isso.
Quando um Farm Host é interrompido, a conexão do host com o Farm Manager é interrompida. Quando isso acontece, o Farm Manager libera automaticamente todos os assentos que estavam em uso no host. Dessa forma, não há risco de que as licenças sejam consumidas por hosts que não existem mais. Nada precisa ser feito para limpar os hosts que foram desligados; isso é feito automaticamente.
Com o GO-Global, a melhor métrica para controlar o dimensionamento automático é geralmente o número de sessões em execução. O número de sessões em execução em um host ou farm pode ser obtido, respectivamente, de um Farm Host ou Farm Manager por meio dos Performance Counters da GO-Global ou da função Get-GGSessions PowerShell da GO-Global.
Zonas e regiões de disponibilidade
Para oferecer alta disponibilidade, os provedores de serviços em nuvem (CSPs) oferecem suporte a implementações de vários data centers por meio de zonas e regiões de disponibilidade. As zonas de disponibilidade são um ou mais data centers localizados na mesma região geográfica. As regiões do CSP são áreas geográficas que contêm uma ou mais zonas de disponibilidade. Os CSP Fault Domains, também conhecidos como grupos de disponibilidade, são recursos tolerantes a falhas localizados em partes fisicamente separadas de um único data center.
A GO-Global suporta implantações em várias zonas de disponibilidade. As zonas de disponibilidade nas quais a GO-Global é implantada podem estar localizadas na mesma região do CSP ou em regiões diferentes do CSP.
Em uma região de CSP, a GO-Global geralmente é implantada em pelo menos duas zonas de disponibilidade, com o Farm Manager principal sendo executado em uma zona de disponibilidade e o Farm Manager de failover sendo executado em uma zona de disponibilidade diferente. Os Farm Hosts podem ser executados em qualquer número de zonas de disponibilidade dentro da região, mas devem ser capazes de se conectar ao Farm Manager principal e ao Farm Manager de failover.
Quando for necessária uma alta disponibilidade entre as regiões do CSP ou quando os usuários estiverem localizados em todo o mundo, o GO-Global poderá ser implantado em várias regiões do CSP com um balanceador de carga de DNS, como o Route 53 da AWS, que roteia as conexões de clientes entre as regiões. O balanceador de carga de DNS pode então ser configurado para suportar failover ativo-ativo ou ativo-passivo, conforme necessário.
Ferramentas de monitoramento e observabilidade
As ferramentas de monitoramento e observabilidade são usadas para monitorar a integridade das implantações da GO-Global e gerar alertas quando surgem problemas. A GO-Global fornece vários recursos que essas ferramentas podem usar para monitorar a GO-Global.
A maioria das ferramentas de observabilidade tem recursos para a ingestão de arquivos de registro. Os arquivos de registro da GO-Global estão no formato HTML, por padrão, que não é suportado pela maioria das ferramentas de observabilidade. Portanto, a GO-Global geralmente deve ser configurada para registrar seus arquivos de log em formato de texto quando seus logs forem ingeridos por uma ferramenta de observabilidade.
Além de seus arquivos de log, o GO-Global registra eventos no log do aplicativo do Windows. Os eventos que o GO-Global registra no log do Aplicativo do Windows incluem inícios e paradas de sessões, logins de usuários e inícios e paradas de aplicativos.
Para dar suporte ao monitoramento de Farm Hosts e Farm Managers, a GO-Global fornece uma solicitação healthCheck. A solicitação healthCheck pode ser usada para determinar se o Application Publishing Service está sendo executado em um Farm Host ou Farm Manager e, opcionalmente, se o sistema é capaz de criar uma sessão. Os balanceadores de carga, por exemplo, podem usar a solicitação healthCheck para verificar a integridade dos Farm Hosts em seu grupo de destino.
Os sistemas que enviam solicitações de healthCheck devem ser registrados em cada Farm Host ou Farm Manager de destino. Especificamente, o endereço IP do sistema que envia a solicitação deve ser listado no formato CIDR na propriedade APIWhiteList no arquivo HostProperties.xml do sistema de destino.
Além dessas ferramentas, a API PowerShell da GO-Global pode ser usada para obter informações detalhadas de tempo de execução dos Farm Hosts e Farm Managers. Por exemplo, a função Get-GGSessions retorna informações sobre as sessões em execução em um Farm Host ou Farm Manager.
Conclusão
A implantação do GO-Global em um ambiente de grande escala ou integrado à nuvem exige uma coordenação cuidadosa entre vários componentes da infraestrutura. Ao configurar corretamente elementos como firewalls, balanceadores de carga, proxies reversos e sistemas de monitoramento, os administradores podem obter um ambiente GO-Global seguro, escalável e de alto desempenho que ofereça uma experiência de usuário perfeita.
Independentemente de ser implementado no local, na nuvem ou em arquiteturas híbridas, os princípios descritos neste artigo garantem que a GO-Global opere com eficiência nas redes corporativas modernas, mantendo a confiabilidade, a flexibilidade e o controle em todas as camadas da implantação.
Você é um ISV que está explorando o fornecimento de aplicativos baseados em nuvem? Entre em contato conosco para saber como a GO-Global pode ajudá-lo a simplificar o acesso ao software para seus usuários finais. Ou faça o download de uma avaliação gratuita para testá-la você mesmo.
