Usando o Application Request Routing para migrar sites para o IIS7 - parte 1
Vários de nossos clientes encontram dificuldades para migrar os seus servidores e aplicações do IIS5 ou IIS6 para novos servidores baseados no IIS7.x (ou do PHP rodando no Linux/Unix para o IIS7). O grande problema é a dificuldade de homologar divervas aplicações e colocá-las todas em produção em poucos dias. Na prática, para implementar tal solução é necessário ter um mecanismo que permita a homologação e migração gradual das aplicações para um novo ambiente de forma transparente para os seus usuários. Muitos desses clientes já possuem um equipamento capaz de realizar o balanceamento de carga na camada 3 (camada de rede), mas para atingir esse objetivo é necessário implementar um balanceamento na camada de aplicação (protocolo HTTP, camada 7) que seja capaz de interpretar os requests e redirecionar o tráfego para os servidores apropriados. Para atender felizmente contamos com um novo componente OOB do IIS7, o Application Request Routing (ARR) que é capaz cumprir esta tarefa. Lembrando que vamos usar o termo ARR mas na realidade estamos falando de um servidor Web IIS especializado (que não irá servir páginas diretamente, e sim fazer um “proxy-reverso” para outros servidores Web. Os servidores Web que hospedam o conteúdo podem ser de quaisquer versões ou plataformas (você pode ter até um Apache rodando em Linux e usar o ARR para fazer esse roteamento das aplicações). Vou descrever como montar esta solução nos meus próximos posts, e vamos começar pelo básico: a instalação do IIS e do ARR: Instalação do IIS Vamos começar com um laboratório onde instalamos dois servidores Windows 2008 R2 x64 em ambiente virtual (Hyper-V), para posterior configuração do Application Request Routing, chamados aqui de de ARR-1 e ARR-2. Note que recomendo que em um ambiente de produção real, sejam utilizados servidores físicos para esta função (afinal, quando é que você iria virtualizar os seus balanceadores de carga de hardware que possui hoje?) Os servidores IIS devem possuir os requisitos mínimos necessários. A instalação do IIS restringi-se somente aos componentes descritos conforme a listagem a seguir: · IIS-CommonHttpFeatures · IIS-StaticContent · IIS-DefaultDocument · IIS-HttpErrors · IIS-HttpRedirect · IIS-HealthAndDiagnostics · IIS-HttpLogging · IIS-LoggingLibraries · IIS-RequestMonitor · IIS-HttpTracing · IIS-Security · IIS-RequestFiltering · IIS-IPSecurity · IIS-Performance · IIS-HttpCompressionStatic · IIS-HttpCompressionDynamic
Para fazer a instalação do IIS 7.5 via prompt de comando, utilizamos o seguinte comando: start /w pkgmgr /l:log.etw /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-HttpErrors;IIS-HttpRedirect;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-HttpTracing;IIS-Security;IIS-IPSecurity;IIS-RequestFiltering;IIS-Performance;IIS-HttpCompressionStatic;IIS-HttpCompressionDynamic;IIS-WebServerManagementTools;IIS-ManagementScriptingTools;WAS-WindowsActivationService;WAS-ProcessModel;IIS-NetFxExtensibility;WAS-NetFxEnvironment;WAS-ConfigurationAPI;IIS-ManagementService
Para confirmar via prompt de comando se a instalação ocorreu conforme o esperado utilizamos o seguinte comando: Servermanagercmd.exe /query Além disso, foi necessário instalar o Feature “Desktop Experience”, requirido posteriormente para a configuração do recurso de Offline Files (depois explico por que isso é necessário). Para instalar este componente via prompt de comando, utilizamos o seguinte: start /w pkgmgr.exe /iu:Desktop-Experience Instalação do Application Request Routing (ARR). O Application Request Routing (ARR) é um component OOB (Out-of-Box) que deve ser baixado do site da Microsoft ou do IIS.NET. Para fazer download do mesmo, basta utilizar o seguinte endereço: https://www.iis.net/downloads/category/handle-requests No próximo post, vou continuar descrevendo como montarmos a estrutura necessária para migrar aplicações de um ambiente IIS5/6 para o IIS7 de forma transparente para o usuário final. Vejo vocês logo! Paulo.
UPDATE (09/02/2013): Links para download do ARR foram atualizados, algumas referências às versões RC dos pacotes citados anteriormente foram removidos. |
Comments
Anonymous
May 13, 2010
Paulo, Mto bom o seu artigo!! Parabéns! Semana que vem estarei no treinamento de IIS 7 Administration na Microsoft.. []sAnonymous
October 07, 2011
Paulo! Parabens pela palestra no TechEd. O conteúdo apresentado foi de extrema importância!