Guilherme Cardoso - IIS
All posts in IIS
You are here: Home / All posts in IIS
Alta disponibilidade de ambientes de aplicação IIS – Parte 5 – Configurações da Farm
Categories: .NET, Dicas, IIS, Servidores, WEB
Tags: alta disponibilidade, application request routing, ARR, balanceamento de carga, corporativo, iis, load balance, servidor
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.
Alta disponibilidade de ambientes de aplicação IIS – Parte 4 – Adicionando Servidores
Categories: .NET, IIS, Servidores, WEB
Tags: alta disponibilidade, application request routing, ARR, balanceamento de carga, corporativo, iis, load balance, sevidor, web, web farm
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".
Alta disponibilidade de ambientes de aplicação IIS – Parte 3 – Server Farm
Tags: alta disponibilidade, application request routing, ARR, balanceamento de carga, corporativo, iis, load balance, servidor, web
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".
Alta disponibilidade de ambientes de aplicação IIS – Parte 2- Requisitos
Categories: .NET, IIS, WEB
Tags: alta disponibilidade, aplicação, application request routing, ARR, balanceamento de carga, corporativo, iis, load balance, servidor, web
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.
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.
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.
Alta disponibilidade de ambientes de aplicação IIS – Parte 1- O Problema
Categories: .NET, IIS
Tags: alta disponibilidade, aplication request routing, aplicativos, ARR, corporação, corporativo, iis, load balance, webservices
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.
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.
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.
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.
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.