Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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. 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. Para fazer download do mesmo, basta utilizar o seguinte endereço:
O pacote acima contém os seguintes componentes:
§ Application Request Routing v.2.0
§ URLRewrite v.2.0 RC2
§ Microsoft Web Farm Framework v.1.0 for IIS7
§ Microsoft External Cache v.1.0 for IIS7
Após instalar o ARR e demais pacotes, atualizamos o URLRewrite para a versão final (RTW), disponível no seguinte endereço:
https://go.microsoft.com/?linkid=9722532
Para instalar o URLRewrite v.2.0 RTW, também foi necessário parar o serviço WAS, com o seguinte comando:
net stop WAS
Este comando também para o serviço W3SVC (World Wide Web Publishing Service). Após completar a instalação, para reiniciar o WAS e o W3SVC, executamos o seguinte comando:
net start W3SVC
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.