Usando o WebSphere DataPower Option for Application Optimization para demonstrar o autobalanceamento em diversos dispositivos DataPower e a distribuição de carga inteligente em servidores backend.

Neste tutorial, você aprenderá dois recursos-chave do WebSphere® DataPower Option for Application Optimization: autobalanceamento e distribuição inteligente de carga. O tutorial mostra como usar o recurso de autobalanceamento para distribuir cargas por diversos dispositivos DataPower sem a complexidade de um balanceador de carga externo. Ele também mostra a distribuição inteligente de cargas de trabalho em instâncias de backend do WebSphere Application Server.

Sudhir Mohith, Advisory Software Engineer, IBM

Photo of Sudhir MohithSudhir Mohith é engenheiro de software consultor da organização WW WebSphere Business Partner – Technical Professionals. Ele tem mais de 15 anos de experiência no segmento de TI, tem inúmeras publicações sob a sua responsabilidade e tem se apresentado em diversas conferências técnicas. Ele passou a fazer parte da IBM vindo da Transarc no ano 2.000 como engenheiro de suporte técnico e desenvolvedor do DCE/DFS e Encina. Pelos últimos 5 anos, Sudhir tem se especializado em dispositivos WebSphere DataPower e computação em nuvem. Ele é bacharel em Ciência da Computação pela Universidade Nacional da Austrália e possui mestrado em Visão de Computação no Instituto de Ciência e Tecnologia da Universidade de Manchester.



06/Ago/2012

Antes de Iniciar

O IBM WebSphere DataPower Option for Application Optimization (AO) foi projetado para fornecer funções de balanceamento dinâmico de carga para os casos mais exigentes. Para uma distribuição uniforme de carga por dispositivos WebSphere DataPower e, em seguida, direcionar de forma inteligente o tráfego para servidores backend selecionados com base na disponibilidade do aplicativo, o AO pode melhorar o tempo de atividade, o tempo de resposta do usuário e a utilização do servidor de aplicativos.

Os principais benefícios do AO incluem:

  • Distribuição de carga por diversos dispositivos sem a necessidade de um balanceador de carga externo.
  • Balanceamento de carga de forma inteligente em servidores backend com base em metadados de servidores de aplicativos.
  • Integração com o IBM z/OS® Communications Server Sysplex Distributor, que pode balancear carga de trabalho em dispositivos DataPower.
  • Suporte a atualizações de aplicativos backend sem interrupção por meio de suporte ao gerenciamento de edição de aplicativo. É possível implantar novas edições de um aplicativo usando atualizações de grupo ou automáticas.

O AO é um recurso de software licenciado que vem como padrão no WebSphere DataPower Edge Appliance XE82 e está disponível na hora do pedido inicial e como uma opção atualizável em campo do WebSphere DataPower Integration Appliance XI52, do dispositivo WebSphere DataPower Service Gateway XG45, do WebSphere DataPower Integration Blade XI50B e do WebSphere DataPower Integration Appliance for zEnterprise XI50z. Ao escolher a opção atualizável, depois do pedido ser atendido, você receberá uma carta de Download de recurso autorizado junto com uma Chave de acesso controlado para fazer o download da atualização de firmware do AO.

Objetivos

Neste tutorial, você aprenderá como configurar e demonstrar os recursos de autobalanceamento (SB) e distribuição inteligente de carga (ILD) da opção licenciada do Application Optimization (AO) do WebSphere DataPower.

A primeira parte do tutorial fornece instruções passo a passo sobre como configurar e testar serviços para tirar proveito da funcionalidade backend SB do WebSphere DataPower como substituto de balanceadores de carga de rede.

A segunda parte do tutorial concentra-se no componente ILD da opção do AO. São fornecidas instruções sobre como configurar objetos de balanceadores de carga para que distribuam dinamicamente a carga entre um cluster de membros do WebSphere Application Server (daqui em diante chamados de Application Server).

Pré-requisitos

Conhecer bem a família de produtos IBM WebSphere DataPower do ponto de vista administrativo é útil. Alguma experiência com a configuração e implementação dos serviços no dispositivo é também benéfica. Além disso, o conhecimento do IBM WebSphere Application Server, incluindo a terminologia e o armazenamento em cluster do Network Deployment (ND), e a capacidade de implementar e monitorar aplicativos da web, são importantes para entender completamente o recurso AO.

Requisitos do sistema

Será necessário o acesso de usuário privilegiado a dois dispositivos WebSphere DataPower das famílias XI52, XG45, XI50B/z ou XE82 no nível de firmware 3.8.1 ou superior (4.0.2+ no XG45 e 1.0.0+ no XE82). Cada dispositivo precisa ser licenciado para a opção do AO. Além disso, será necessário acesso administrativo de sistema a uma célula WebSphere Application Server Network Deployment (ND), na Versão 6.1 ou superior, com um Gerenciador de Implementação e um nó federado. Em vez disso, você também pode usar o WebSphere Application Server Virtual Enterprise.

Você também precisará fazer o download de algumas ferramentas de software livre para chamar alguns testes de uma estação de trabalho do cliente, a saber:

  • cURL é uma ferramenta de linha de comando para enviar e receber arquivos usando a sintaxe de URL por uma ampla variedade de protocolos da Internet.
  • A ferramenta ApacheBench (ab) vem empacotada com a distribuição de código fonte do Apache padrão.

Duração

Planeje alocar pelo menos quatro (4) horas para concluir o tutorial. Pode ser necessário um tempo adicional, se não estiver familiarizado com certas tarefas ou requisitos adicionais, como parâmetros de configuração de rede ou binários de produto que não estão prontamente disponíveis.


Parte 1. Configurar o dispositivo para autobalanceamento

Para que os dispositivos DataPower participem do balanceamento de front-end, eles precisam estar licenciados. Para verificar o licenciamento de AO, execute as seguintes etapas, uma vez para cada dispositivo:

  1. Efetue login na WebGUI do WebSphere DataPower como usuário privilegiado e navegue até Status > System > Device Features. Também é possível acessar esse item de menu simplesmente digitando device features na caixa de Procura.
  2. Certifique-se de que Option for Application Optimization support está ativado e disponível, como mostrado na Figura 1.
    Figura 1. Recursos do dispositivo
    Recursos do dispositivo

    Para cada dispositivo, é necessário escolher uma interface de rede a ser configurada para o autobalanceamento. É prática comum escolher o mesmo nome da interface, como eth11, em cada dispositivo.

  3. Iniciando com o primeiro dispositivo, navegue até Network > Interface > Ethernet Interface e selecione uma interface de rede ativa que gostaria de ativar para o autobalanceamento.
  4. Alterne para a guia Standby Control e clique em Add.
    1. Especifique um Group Number exclusivo que não esteja atualmente em uso na sua rede e com um valor superior a 20 para evitar conflito com os roteadores e comutadores de rede. Essas informações estão, normalmente, disponíveis de seu administrador da rede e precisam ser as mesmas em ambos os dispositivos.
    2. O Virtual IP Address (VIP) que você fornece age como um IP virtual abstrato para prestar serviço de tráfego a todos os dispositivos dentro do grupo de espera. Observe que o VIP precisa existir na mesma sub-rede como o endereço IP real do dispositivo e precisa ser o mesmo para ambos os dispositivos.
    3. O campo Priority decide qual dispositivo assumirá a função de controlador ou distribuidor do cluster. Aquele com a mais alta prioridade torna-se o primário, e o com a classificação menor é eleito em caso de falha do primário. Portanto, deixe esse campo no valor padrão de 100 para o dispositivo que você escolhe como o primário e configure-o como 90 para o outro.
    4. Configure o sinalizador Enable/Disable Self-Balancing para em e clique em Apply, conforme mostra a Figura 2.
      Figura 2. Standby control
      Standby control
    5. Repita as etapas 3 e 4 acima para o segundo dispositivo.

    Se você configurar Log Level como "debug" no domínio padrão do dispositivo, verá mensagens que mostram a função de autobalanceamento em ação. O exemplo na Figura 3 mostra o dispositivo secundário fazendo verificações de funcionamento no dispositivo primário a cada dois segundos para verificar se ele ainda está ativo.

    Figura 3. Logs de depuração do autobalanceamento
    Logs de depuração do autobalanceamento

Implementar um serviço para demonstrar o autobalanceamento

Para demonstrar a operação de autobalanceamento nos dispositivos DataPower, configure um serviço de firewall XML em cada dispositivo para receber as solicitações recebidas no endereço IP virtual definido anteriormente e em uma porta especificada por você. O distribuidor primário ou controlador cuida do balanceamento de carga das solicitações nos dispositivos de uma maneira similar a um IP sprayer.

Em cada dispositivo, execute as seguintes etapas:

  1. Efetue login como usuário privilegiado no domínio padrão e navegue até Administration > Configuration > Application Domain Para criar um domínio de aplicativo chamado de "AO" no qual você configurará o serviço.
  2. Alterne para AO domain e navegue até Control Panel > XML Firewall e clique em Add Wizard.
  3. Selecione Pass Thru (somente teste) e clique em Next.
  4. Para o Firewall Name, insira SB_XMLFW.
  5. Selecione loopback-proxy para o Firewall Type.
  6. Digite o endereço IP virtual definido anteriormente no campo Device Address e use uma porta não designada no campo Device Port . Use os mesmos valores de VIP e porta em cada dispositivo.

    Dica: é possível consultar Status > IP-Network > TCP Port Status para localizar uma porta não utilizada no dispositivo.

  7. Confirme as alterações feitas e clique em Done.
  8. Clique no serviço de firewall de XML SB_XMLFW , altere o Request Type para XML e clique em Apply (consulte a Figura 4).

    Observe que é possível criar o serviço de firewall XML no dispositivo primário e exportar a configuração para o segundo dispositivo.

    Figura 4. Firewall XML de autobalanceamento
    Firewall XML de autobalanceamento
  9. Configure o Log Level para "depurar" o domínio do AO e ver as mensagens recebidas nos logs. Clique em Save Config para salvar suas configurações.

    Alterne para a estação de trabalho do cliente onde você fez o download e instalou as ferramentas de software anteriormente.

  10. Execute o seguinte comando do ApacheBench "ab" com 10 solicitações POST concorrentes, substituindo a cadeia de caracteres 172.20.0.59:4000 pelo VIP e porta definidos para seu firewall XML (consulte a Figura 5). O arquivo xycohr.html referenciado está disponível na seção Download deste tutorial.
    ab –n 10 –c 10 –p xycohr.html http://172.20.0.59:4000/
    Figura 5. Ferramenta ApacheBench
    Ferramenta ApacheBench
  11. Verifique o serviço de firewall XML de cada dispositivo nos logs do sistema. Você vê uma distribuição uniforme de cinco transações em cada um. Talvez você queira filtrar os logs por "multistep" para que sejam exibidas apenas as informações relevantes, como mostrado na Figura 6
    Figura 6. Logs do firewall XML logs
    Logs do firewall XML logs
  12. De volta ao domínio padrão do dispositivo primário, navegue até Network > Interface > Ethernet Interface para desativar a interface Ethernet no grupo de controle de espera, simulando uma falha do dispositivo. Se ainda tiver o log de depuração ativado no domínio padrão, observe o dispositivo secundário detectando o primário como desativado e automaticamente se promovendo a distribuidor ou controlador, conforme mostrado na Figura 7.
    Figura 7. Logs de depuração de failover do autobalanceamento
    Logs de depuração de failover do autobalanceamento
  13. Execute novamente o comando do ApacheBench a partir da estação de trabalho do cliente. Observe que todas as dez transações estão sendo recebidas pelo dispositivo secundário, conforme mostrado na Figura 8.
    Figura 8. Logs de failover do firewall XML
    Logs de failover do firewall XML
  14. Reative a interface Ethernet do dispositivo primário no grupo de controle de espera e verifique nos logs de depuração do domínio padrão que ele reassume a função de distribuidor ou controlador. Ainda, se estiver interessado, execute novamente o comando ApacheBench para verificar a difusão uniforme de cinco transações em cada dispositivo.

Part 2. Configure a distribuição inteligente de carga

Para demonstrar o recurso de distribuição inteligente de carga (ILD) do AO Option, é necessário uma célula do WebSphere Application Server ND com o DefaultApplication implementado em um cluster e com dois membros ativos.

Se você configurou sua célula do WebSphere para ter um Gerenciador de Implementação e um nó federado, o DefaultApplication já deve estar implementado no servidor independente, server1. Verifique se o Gerenciador de Implementação e o Agente do Nó estão iniciados em seus diretórios bin de perfil respectivos.

Para promover este aplicativo em um novo membro de cluster, execute as seguintes etapas:

  1. Efetue login no console do administrador do Application Server.
  2. Expanda Servers > Clusters > WebSphere application server clusters e clique em New.
  3. Especifique WASCluster para o Cluster name e clique em Next.
  4. Para o Member name, insira server1 e escolha a opção para Create the member using an existing application server as template e selecione a entrada server1 .
  5. Crie um membro adicional, chame-o de server2 e o inclua no cluster. Clique em Next.
  6. Clique em Finish e Save sua configuração.
  7. Inicie o WASCluster.
  8. Verifique se é possível acessar o servlet "snoop" do DefaultApplication via cada membro do cluster. Talvez seja necessário consultar a porta WC_defaulthost de cada membro do cluster primeiro e substituir isso com o valor de porta mostrado abaixo. Da mesma forma, é necessário substituir o endereço IP por o do Agente do Nó.
    http://172.20.1.51:9080/snoop
    http://172.20.1.51:9081/snoop

    Agora que você definiu o cluster do Application Server com o DefaultApplication implementado nele, é necessário instalar o aplicativo WebSphere OnDemand Configuration (ODCInfo) no Gerenciador de Implementação da célula WebSphere. O aplicativo ODCInfo fornece distribuição inteligente de carga por meio da recuperação de informações de gerenciamento de carga de trabalho da célula. O pacote ODCInfo é parte do ResourceKit. É possível fazer o seu download no mesmo local do IBM Fix Central como as atualizações de firmware do WebSphere DataPower.

    Tendo feito o download e extraído, siga as instruções passo a passo no WebSphere DataPower Information Center para instalar e iniciar o aplicativo ODCInfo. Procure "Ativando a recuperação das informações de gerenciamento de carga de trabalho" para chegar ao código fonte correto.

    Dica: Escolha a versão mais recente do arquivo WAR fornecido, mesmo que ele não corresponda exatamente à versão do Application Server instalada em seu sistema.

    Se ainda não foi feito, no console do administrador do Application Server, siga a trilha Environment > Virtual hosts > default_host > Host Aliases para criar uma entrada na tabela de alias de host virtual para a porta 9060 para todos (*) os nomes do host, como mostrado na Figura 9.

    Figura 9. Alias de host virtual
    Alias de host virtual
  9. Verifique se é possível recuperar as informações de cluster do Application Server via o aplicativo ODCInfo substituindo 172.20.1.51 pelo endereço IP de seu sistema Deployment Manager e WASCluster com o nome do cluster que você definiu.
    http://172.20.1.51:9060/ODCInfo/ODCInfo?c=WASCluster

    Se tudo estiver bem, você verá algo similar ao que está mostrado na Figura 10.

    Figura 10. Status da célula ODCInfo
    Status da célula ODCInfo

    Se não, você poderá ter de reiniciar a célula WebSphere depois de instalado o aplicativo.

Implementar um serviço para demonstrar a distribuição inteligente de carga

Para a finalidade deste tutorial, apenas um dispositivo DataPower é usado para demonstrar o recurso ILD da Option for AO. No entanto, em um cenário da vida real, você usa mais de um para evitar um ponto único de falha.

  1. Efetue login novamente na WebGUI do WebSphere DataPower como usuário privilegiado. No domínio do AO, e navegue até Objects > Network Settings > Load Balancer Group. Clique em Add.
  2. Para o Name, insira WASLoadBalancer.
  3. Alterne o botão de opções de Retrieve Workload Management Information para "on".
  4. Clique no botão mais (+) ao lado do campo WebSphere Cell para criar um novo objeto de definição de célula.
  5. Na janela Configure WebSphere Cell , insira as seguintes informações, substituindo 172.20.1.51 pelo endereço IP de seu host do Gerenciador de Implementação e 9060 pela porta na qual você está recebendo:
    1. Name: WASCell
    2. Deployment Manager Host: 172.20.1.51
    3. Deployment Manager Port number: 9060
  6. Para Workload Management Group Name, insira WASCluster.
  7. De volta à janela principal, clique em Apply e depois Save Config.

    A sua nova configuração de objeto de grupo do balanceador de carga é similar à configuração mostrada na Figura 11.

    Figura 11. Grupo do balanceador de carga
    Grupo do balanceador de carga

    Observação: No exemplo acima, estamos usando um simples algoritmo Round Robin para balancear a carga de nossas solicitações. Na realidade, use um algoritmo Weighted Round Robin ou Weighted Least Connection, pois os servidores backend podem não ser similares em recursos de hardware. Isso é mais importante para um ambiente Virtual Enterprise, em que os pesos mudam dinamicamente sob demanda.

  8. Navegue até Status > IP Network > Load Balancer Status e verifique se o dispositivo DataPower pode consultar o aplicativo ODCInfo com êxito para retornar as informações do membro de cluster (Figura 12).
    Figura 12. Status do balanceador de carga
    Status do balanceador de carga

    Observe como o aplicativo ODCInfo está retornando o nome do host curto (nome completo do domínio, FQDN, no caso do WebSphere Virtual Enterprise), Windows-XP-Prof. Para que o dispositivo WebSphere DataPower resolva esse nome do host, ele precisa estar listado no DNS ou estaticamente definido no dispositivo.

  9. Alterne para o domínio padrão e expanda Network > Interface > DNS Settings. Clique na guia Static Hosts e inclua um host ou uma entrada de mapeamento IP para Windows-XP-Prof.
  10. Clique em Save Config para salvar sua configuração.

    É possível usar TCP Connection Test do Painel de resolução de problemas para verificar se o host estático DNS está resolvendo corretamente, como mostrado na Figura 13.

    Figura 13. Teste de conexão TCP
    Teste de conexão TCP
  11. Alterne para o domínio AO e navegue até Control Panel > XML Firewall e clique em Add Wizard.
  12. Selecione Pass Thru (somente teste) e clique em Next.
  13. Para Firewall Name, insira ILD_XMLFW.
  14. Selecione o padrão static-backend para o Firewall Type.
  15. Insira WASLoadBalancer para o Server Address e 9080 no campo Server Port . Clique em Next.
  16. Para o manipulador de frontside, deixe o valor padrão 0.0.0.0 para Device Address e insira uma porta não designada no campo Device Port . Clique em Next.
  17. Confirme as alterações feitas e clique em Done.
  18. Clique no serviço de firewall XML ILD_XMLFW seguido da guia Advanced .
  19. Configure o campo Disallow GET (and HEAD) para "off" e o Process Messages Whose Body is Empty para "on".
  20. Volte à guia General .
  21. Clique no botão mais (+) ao lado do campo XML Manager .
  22. Para Name, insira WAS_ILD_XMLMgr.
  23. Na lista suspensa Load Balancer Groups , selecione WASLoadBalancer e pressione Add.
  24. Clique em Apply para retornar à página principal do Firewall XML e clique em Apply uma vez mais para aplicar todas as alterações. Clique em Save Config para salvar sua configuração (consulte a Figura 14).
    Figura 14. Firewall XML de distribuição inteligente de carga
    Firewall XML de distribuição inteligente de carga

    Você agora está pronto para enviar algumas solicitações para o serviço de Firewall XML ILD_XMLFW para que ele manipule de forma inteligente a distribuição de carga no cluster de membros do servidor de aplicativos no sistema backend.

    Alterne para a estação de trabalho do cliente onde você fez o download e instalou as ferramentas de software anteriormente.

  25. Em uma janela de comando, execute o utilitário "cURL" um número de vezes, substituindo 172.20.0.60 pelo endereço IP de seu dispositivo DataPower primário, e 4010 pela porta do manipulador de frontside definida para o serviço ILD_XMLFW (consulte a Figura 15):
    curl http://172.20.0.60:4010/snoop
    Figura 15. Ferramenta cURL
    Ferramenta cURL

    Cada vez que você chama o utilitário cURL, você vê a porta se alternar entre 9080 e 9081 (ou qualquer que seja as portas em que os membros do cluster do Application Server estão recebendo). Isso mostra que a carga está sendo distribuída pelos dois membros do cluster.

    Agora, se um novo servidor for incluído no cluster, o aplicativo ODCInfo realiza o pull dos dados atualizados dos servidores de aplicativos na célula. A configuração de célula do WebSphere no dispositivo DataPower, por sua vez, recupera essas informações do ODCInfo e atualiza os dados no grupo do balanceador de carga. Esse último, então, usa esses dados para se adaptar às condições de tráfego em mudança e aos recursos do servidor de aplicativos para distribuir o tráfego de forma ideal entre os servidores de aplicativos na célula.

  26. Alterne para o console do administrador do Application Server, inclua um novo membro no WASCluster e inicie-o, como mostrado na Figura 16.
    Figura 16. Incluir um novo membro de cluster
    Incluir um novo membro de cluster
  27. De volta à WebGUI do DataPower, navegue até Status > IP Network > Load Balancer Status e verifique se as informações do membro de cluster foram atualizadas para incluir o novo membro, como mostrado na Figura 17.
    Figura 17. Status do novo balanceador de carga
    Status do novo balanceador de carga

    Agora, quando você chama o utilitário cURL em relação ao serviço de firewall ILD_XMLFW XML no dispositivo DataPower primário, você vê a carga sendo distribuída uniformemente pelos três membros de cluster, por exemplo, entre as portas 9080, 9081e 9082, como mostra a Figura 18.

    Figura 18. Nova ferramenta cURL
    Nova ferramenta cURL

Como exercício, é possível alterar os pesos dos diferentes membros de cluster do Application Server. Por exemplo, é possível designar um peso de 2 ao server1, e um peso de 1 ao server2 e server3, para que server1 receba duas vezes mais solicitações do que server2 ou server3. É possível então alterar o algoritmo do grupo do balanceador de carga WASLoadBalancer para que use "Weighted Round Robin" ou "Weighted Least Connections" a fim de experimentar e verificar que você está obtendo os resultados esperados.


Conclusão

Este tutorial apresentou os dois componentes principais do Option for Application Optimization, a saber, autobalanceamento e distribuição inteligente de carga. Você aprendeu como usar o recurso de autobalanceamento para distribuir cargas por diversos dispositivos DataPower sem a complexidade e os problemas extras de um balanceador de carga externo. Ao mesmo tempo, você usou o recurso de distribuição inteligente de carga para balancear a carga do tráfego de forma inteligente e dinâmica nos servidores backend, com base no feedback dos servidores de aplicativos.


Download

DescriçãoNomeTamanho
Code sampledownload.zip1KB

Recursos

Aprender

Discutir

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=WebSphere
ArticleID=829004
ArticleTitle=Usando o WebSphere DataPower Option for Application Optimization para demonstrar o autobalanceamento em diversos dispositivos DataPower e a distribuição de carga inteligente em servidores backend.
publish-date=08062012