All posts tagged load balance

Salve galera,

Agora vamos conhecer os recursos de configuração da Farm. Aqui vale ressaltar uma coisa, o intuito dos artigos não é detalhar tudo o que podemos fazer, mas sim realizar a configuração de uma Farm simples que atenda a maioria dos casos. Então deste ponto em diante alguns itens não serão exemplificados até por que não atenderia a expectativa de todos. Caso se torne necessário podemos criar alguns artigos especificos para cada item.

Vamos lá,

Read more


Salve, salve galera.

Bom até agora já temos nossa “Server Farm” criada. Vamos partir do principio que não temos nenhum servidor adicionado na nossa farm e queremos adicionar um, lembrando que esse processo pode ser feito com a Farm no ar em produção o que garante que em casos de sobrecarga conseguimos dividir a carga sem problemas.

Para isso vamos até nossa farm , abaixo dela temos um item “Server”, basta clicarmos com o botão direito e clicar em “Add Server”.

Add Server

Read more


Salve, salve galera,

 

Hoje vamos ver como criar nosso “Server Farm”, lembrando que podemos entender uma “Server Farm” como um conjunto de servidores que vão trabalhar em conjunto para fazer esse balanceamento de carga. Aqui podemos ter servidores locais e remotos, trabalhando em portas diferentes com sistemas operacionais diferentes, desde que o que foi requisitado esteja com a mesma estrutura em todos (é interessante termos a mesma estrutura de aplicações, se possível, igual em todos os servidores, para facilitar a administração).

Tendo essa definição da Server Farm vamos por a mão na massar, para criarmos uma Farm basta clicarmos com o botão direito sobre “Server Farms” e depois clicar em “Create Server Farm”.

Create Server Farm

 

Read more


Salve galera,

Dando continuidade ao nosso problema, agora vamos ver o que precisaremos ter para podermos brincar com esse ambiente.

Vamos lá, temos um servidor que será a porta de entrada para todas as requisições (SERVCORPAPP). É exclusivamente nesse servidor que vamos mexer, partindo do principio que, nos outros servidores temos o IIS instalado e a ou as aplicações respondendo.

O primeiro passo é baixarmos o Web Plataform Installer (que salva a vida muitas vezes). Segue o Link para download.

Depois de instalado vamos procurar pelo Application Request Routing (ARR) que é a nossa feature que irá gerenciar as requisições.

ARR

 

Depois de instalado podemos observar que ele adiciona um item na estrutura original do IIS, como podermos observar abaixo. O ARR cria uma estrutura chamada Server Farms.

Server Farms

 

Podemos entender uma “Server Farm” como um conjunto de servidores que vão trabalhar em conjunto para fazer esse balanceamento de carga. Aqui podemos ter servidores locais e remotos, trabalhando em portas diferentes com sistemas operacionais diferentes, desde que o que foi requisitado esteja com a mesma estrutura em todos (é interessante termos a mesma estrutura de aplicações, se possível, igual em todos os servidores, para facilitar a administração).

Bom galera, por agora é só… nos próximos artigos iremos começar a configurar nosso ambiente.

 

Até a próxima.


Salve, salve galera.

Acredito que a maioria de nós já passou pela situação de ter uma aplicação rodando e o servidor nem sempre aguentar ou quando é preciso dar manutenção nele é um verdadeiro “parto”, temos janelas minusculas (quando elas existem) de manutenção e temos um over head administrativo muito grande. Vale ressaltar que estou falando aqui de ambientes corporativos que não possuem um cloud privada ou publica, nem componentes de infraestrutura para suportar tais recursos.

Nessa série de artigos vamos ver como montar uma Farm de servidores IIS para podermos fazer o balanceamento de carga entre eles dividindo nosso processamento, e apoiado nisso uma forma de podermos dar manutenção ou mesmo adicionar/remover servidores desse balanceamento sem que a disponibilidade da aplicação seja afetada.

O Ambiente

Nosso ambiente é composto hoje de um único servidor que atende as requisições externas vindas das mais diversas origens como por exemplo mais de 1000 vendedores que utilizam o sistema de força de vendas da empresa, aplicativos de integração com terceiros (operados logísticos, fornecedores, e clientes que tem acesso a uma área exclusiva deles). Todos os acessos são feitos através de webservices que disponibilizam as regras para cada acesso.

O servidor é único não havendo janela de manutenção para ele sem que, os aplicativos fiquem fora do ar. A empresa trabalha no formato 24×7 (uma industria por exemplo) e tem a necessidade de acessos constantes por parte de todos os usuários.

Por trás desse servidor temos toda uma infraestrutura de servidores de banco e tudo mais, porém nosso ponto de entrada é único e está começando a ficar “indisponível”.

Alguns irão dizer, que basta modificarmos a aplicação para apontar para outro IP ou criar uma parâmetro de configuração ou 100 outras possibilidades, mas vale lembrar que precisamos de um PROBLEMA. :D

O Problema

Nosso servidor começou a ficar carregado, não consegue mais gerenciar todas as requisições e além disso tivemos algumas mudanças administrativas que estão implicando em constantes atualizações de aplicações o que gera a indisponibilidade momentânea de aplicativos isolados durante todo o dia mas que geram certo desconforto para os usuários e certa desconfiança também, do tipo “será que a empresa esta preparada para suportar a carga de trabalho atual ?”. Além é claro da inclusão de aplicações novas, recursos novos (e geralmente muito acessados). Em resumo um ambiente que está em plena evolução.

A solução

Para minimizar esse problemas temos o recurso de Load Balance (balanceamento de carga) que não é exclusivo do ISS, mas sim da arquitetura de servidores. Existe N maneiras de fazermos load balance de aplicações, seja a nível de rede, nível de aplicação ou nível de sistema operacional.

A ideia aqui é termos uma distribuição na carga de processamento da aplicação dividida entre servidores, existem conceitos que dizem que o processamento pode ser feito um pouco em cada máquina, ou todo em uma máquina e se ela não aguentar desviamos o fluxo para outra, e etc.

Vamos fazer um laboratório bem simples, prático e funcional de load balance de servidores IIS a nível de aplicação utilizando o Application Request Routing (ARR), uma feature do próprio IIS.

No nosso caso, todas as requisições são disparadas contra o servidor SRVCORPAPP, esse servidor possui apenas o IIS configurado com o balanceamento de carga e por trás dele temos os outros servidores trabalhando para o processamento.

Por trás desse servidor teremos diversos servidores (que iremos construir com o tempo) para suportar as aplicações.

Resumindo

Temos um ambiente que não pode (ou não deveria) ficar parado, e que tem que atender a constantes evoluções e crescimento de maneira simples e que os aplicativos já existentes não tenham que ser modificados.

 

Pessoal nos próximos posts iremos fazer o passo-a-passo da configuração do nosso ambiente até deixa-lo funcional.

Até a próxima.