DevSecOpsARTIGO

Torne o seu aplicativo elástico no Bluemix

O complemento Bluemix Auto-Scaling proporciona a capacidade de ajustar dinamicamente a capacidade de um aplicativo no ambiente de destino.

O ajuste automático de escala ajuda a gerenciar automaticamente a capacidade do seu aplicativo no ambiente de destino. O ajuste automático de escala é adequado para aplicativos que operam com cargas de trabalho extremamente pesadas ao longo de um período de tempo.

O complemento Bluemix Auto-Scaling proporciona a capacidade de ajustar dinamicamente a capacidade de um aplicativo no ambiente de destino. O complemento Auto-Scaling afeta somente o aplicativo; ele não tem a capacidade de escalar instâncias de serviços como o SQLDB.

Com o complemento, é possível ajustar a escala dos seus aplicativos (reduzindo ou aumentando) com base nas alocações de recurso (uso da CPU e da memória, por exemplo) usadas mais frequentemente.

“Com o Auto-Scaling, é possível ajustar a escala das suas instâncias de aplicativo de forma integrada durante os horários de pico, para manipular cargas de trabalho maiores e, em seguida, diminuir as instâncias do aplicativo automaticamente depois do horário de pico para manter uma capacidade razoável e minimizar os custos”.

Para mostrar como o complemento Bluemix Auto-Scaling funciona, começamos com um aplicativo Java simples, baseado na web, que simula a utilização alta da CPU ao calcular a quantidade de números primos em 1.000. O aplicativo executa no tempo de execução Liberty for Java do Bluemix. Em seguida, configuramos uma política de ajuste automático de escala que inclui um limite superior e um inferior, e usa a ferramenta Jmeter para aumentar a carga de trabalho do aplicativo. A partir do painel do ajuste automático de escala, podemos monitorar o aumento da utilização da CPU. Quando o valor atinge o limite superior especificado na política, uma instância é incluída (com base no conjunto de regras da política). O aplicativo ajusta a escala para duas instâncias, e a carga de trabalho é balanceada entre a instância antiga e a nova. O aplicativo executa em segurança com a carga de trabalho maior.

Siga estas instruções passo a passo para implementar o complemento Bluemix Auto-Scaling a fim de deixar o seu aplicativo mais flexível.

O que será necessário para o seu aplicativo
  1. Um ID do Bluemix.
  2. O arquivo de amostra Sample4AutoScaling.war (disponível para download a partir do IBM DevOps Service).
Etapa 1. Comece
  1. Familiarize-se com o painel do Bluemix.
  2. Instale a ferramenta de linha de comando (CLI) do Cloud Foundry e aprenda a usá-la.
Etapa 2. Realize o push do aplicativo de amostra para o Bluemix
  1. Efetue login no Bluemix usando a CLI:
    cf api https://api.ng.bluemix.net/
    cf login -u <user name> -p <password>
  2. Abra uma janela de comando e mude o diretório para a pasta que contém o aplicativo de amostra sample4autoscaling.war.
  3. Realize o push do aplicativo usando a linha de comando do cf push:
    cf push <app name> -m 512m -p sample4autoscaling.war

    Observação: <app name> é um nome do aplicativo exclusivo. O nome sample4autoscaling é usado como nome do aplicativo de amostra. Use outro nome para o seu push para evitar receber a mensagem host name is taken or the URL was not available.

    Certifique-se de que a sua organização tenha pelo menos 1 GB de memória restante para as instâncias do aplicativo de amostra.

  4. Após a conclusão da Etapa 3, efetue login no painel do Bluemix. Localize o aplicativo e confirme que o status dele seja running. Acesse o aplicativo de amostra clicando na URL mostrada no painel.

bluemix-1

Observação: O recurso de ajuste automático de escala no Bluemix suporta o tempo de execução Liberty for Java, aplicativos em Node, aplicativos em Ruby e os seus próprios aplicativos (por exemplo, .NET ou Go). Para suportar tipos de aplicativo adicionais, forneça um link para o pacote de criação customizado ao realizar a etapa do cf push.

Etapa 3. Ative o aplicativo com o recurso de ajuste automático de escala

1. Acesse a página Overview do seu aplicativo. Clique em CONNECT AN ADD_ON.

bluemix-2

2. Clique em Auto-Scaling na lista Add-On .

bluemix-3

3. Leia as instruções e os termos de licença. Depois de aceitar os termos, clique em CREATE.

bluemix-4

4. Depois de concluir a conexão, você recebe a solicitação de preparar o aplicativo novamente. Clique em OK para preparar novamente.

5. Neste ponto, o complemento Auto-Scaling deve estar listado sob o seu aplicativo.

Etapa 4. Crie uma política de ajuste automático de escala

1. Clique em CREATE AUTO SCALING POLICY na guia Policy Configuration .
bluemix-5
2. Especifique o valor adequado para cada campo e salve a política. Esses campos são explicados nos documentos do Bluemix. No aplicativo de amostra, use as configurações a seguir:

  • Em Metric Type: especifique CPU.
  • Em Scale Out: especifique um limite superior a 60%.
  • Em Scale In: especifique um limite inferior a 10%.
  • Em Statistic Window eBreach Duration: especifique 30 segundos (o menor valor) para aplicar o nível mais alto de sensibilidade à decisão de escalar ou não o aplicativo.
  • Em Cooldown period para ajustar a escala horizontal ou verticalmente: especifique 300 segundos.

bluemix-6

Dicas para configurar a política de ajuste de escala:

  • Se a carga de trabalho do seu aplicativo aumenta muito rapidamente em pouco tempo, configure Breach Duration com um valor pequeno para permitir que o seu aplicativo ajuste a escala antes que o limite de CPU ou memória seja excedido e o aplicativo trave.
  • Se o Metric Type que você selecionou (CPU, Memory ou Heap) aumentar e diminuir em um curto período de tempo, especifique um valor mais alto para Statistic Window. Para determinar se o aplicativo da CPU do seu aplicativo excede o limite superior ou inferior, o ajuste automático de escala considera os dados de medida dentro do intervalo de tempo (o valor especificado no parâmetro Statistic Window ) e calcula a média. Quando maior o valor especificado para a Statistic Window, mais amplo é o intervalo de dados que ele seleciona para calcular se o aplicativo atinge o limite superior ou inferior.
  • Após a conclusão do primeiro ajuste de escalabilidade horizontal, o segundo só é acionado depois que o período de tempo de Cooldown passa. Essa prática dá tempo suficiente para que o status do aplicativo fique estável. Especifique um período de tempo curto em Cooldown para fins de demonstração e use um período mais longo para o ambiente de produção.

3. Clique em Save Para salvar a sua política. Para concluir o processo de edição e visualizar o resumo da política, clique em Back na guia Policy Configuration .

bluemix-7

4. Para verificar o uso de recursos em tempo real referente ao seu aplicativo e ver o limite configurado na política de ajuste de escala, clique na guia Metrics Statistics .

bluemix-8

Etapa 5. Aumente a carga de trabalho do aplicativo de amostra e monitore o uso de recursos

1. Faça o download da ferramenta Jmeter versão 2.11 (ou superior).

2. Descompacte o arquivo e execute o jmeter.bat se estiver no Windows ou o jmeter.sh se estiver no Linux.Observação: Instale o JRE na máquina que está executando o Jmeter.

3. Crie um arquivo local chamado Script4AutoScaling.jmx e copie o conteúdo do arquivo de configuração do parâmetro Jmeter Script4AutoScaling.jmx para o seu arquivo local.

4. Abra a ferramenta Jmeter. Clique em File > Open Sample4AutoScaling.jmx (transferido por download na etapa anterior). Edite HTTP Request e altere Server Name or IP desample4autoscaling.mybluemix.net para <your app name>.mybluemix.net.

bluemix-9

5. Para abrir o Aggregate Report para ver o status da solicitação, clique em Run > Start.

bluemix-10

6. No Bluemix, abra o painel do ajuste automático de escala e alterne para a guia Metrics Statistics. Observe que a utilização da CPU aumenta conforme o Jmeter aumenta o número de solicitações simultâneas para o aplicativo. Quando a utilização da CPU atinge 60% (o limite superior) por mais de 30 segundos (a duração da violação), uma nova instância é criada e o número de total de instâncias se torna 2.

bluemix-11bluemix-12

7. Clique na guia Scaling History agora para verificar o registro da sua atividade de ajuste de escala.

bluemix-13

Conclusão

Agora você sabe como implementar um aplicativo e ativá-lo com o recurso de ajuste automático de escala no Bluemix. Esperamos que seja fácil usar o complemento Auto-Scaling, que ajuda a melhorar a elasticidade do aplicativo e reduz o custo geral ao trabalhar no Bluemix.

botão-ibm***

Artigo feito em conjunto com Ying Liu, engenheira de software na IBM que trabalha diretamente com o Bluemix.

Yan ShiAutor

É engenheira de software na IBM e trabalha diretamente com o Bluemix.

Ver perfil