Migrando Apps para IIS 7.5SRV302
Paulo TeixeiraPremier Field EngineerMicrosoft
Objetivos da Sessão:
Definir um processo para migraçãoConhecer os principais problemasDescrever uma arquitetura de infra para migração “transparente”
Agenda
Sites antes e agoraComo migrar?Inventário, Priorização, TestesProblemas conhecidosE agora? Migração “Zero Impacto”Perguntas
Web sites no passado…
32 BitsIIS 5 e 6
ASP.NET 1.1 e 2.0
ASP Clássico e COM+
Agora com IIS 7.5
32 e 64 bits
IIS 7.5
ASP.NET 2, 3.5, 4
ASP Clássico e COM+
Como migrar?
Priorização
O que é prioridade?
Testar,Testar, Testar!!!!
Como fazer testes?
Inventário
O que temos?
Inventário
Identificar todas as aplicaçõesSMEs
Que informações coletar?Código-fonte, configurações do IIS, dumps, logs de requisições, traces, etcApps owners: Tecnologias usadas, componentes, bibliotecas, etc
Priorização
Não é possível testar todas as appsEstratégia:
agrupar similares em categoriasTestar algumas de cada categoria
Ex: ASP & COM, ASP.NET 2.0, etcDefinir prioridade com base no impacto
Excel: Organize-se!!!!
Testar, Testar, Testar !!!
Montar ambiente de testes com Windows 2008 R2 (Virtual Machines)Resolver problemas conhecidosTestar funcionalidade
Por categoriasDocumentar problemas identificadosAlteração de código será necessária em alguns casos
Problemas conhecidos
Componentes incompatíveisMS Office (Excel, etc) - KB257757MS Access - KB299973Permissões, níveis de acessoPáginas ASP – incompatibilidadeWeb.config – incompatibilidadeetc
Problemas conhecidos (2)
ASP.NET 1.1: não suportado no Windows 2008 R2Se necessário usar Windows 2008 SP1
ASP.NET 2.0Instalar ASP.NET 3.5 SP1
web.config IHttpHandler ou IHttpModuleAjax
E agora?
Grandes ambientes com inúmeras aplicações não são migrados rapidamenteNecessário escolher a estratégia
Criar um novo portal/siteMigrar tudo de uma vez e “ver no que dá”Migração “Zero Impacto”
Migração “Zero Impacto”
Manter ambientes em paraleloMigrar aplicação “transparente”Usar solução de roteamento:
Application Request Routing (zero cost)Outros (F5, ACE, etc)
(quase)
Arquitetura de migração
SWITCH / LOAD BALANCER
www.meusite.com.br(Windows 2000/2003)
www.meusite.com.br(Windows 2008 R2)
ARR
demo
Infra de migração com ARR
Paulo TeixeiraPremier Field Engineer
Melhores práticas
Isolamento em application poolsOtimizar pipelineAdotar novas políticas:
Debug OFFPadronizar
64-bitsBibliotecas/componentes
Disponibilidade
Melhores práticas (2)
Controle de sessão adequadoEvitar gargalos:
DiscoRegistroetc
Usar cache, compressão<compilation debug=“false” />
Palestras RelacionadasWEB301 - Plataforma Web Microsoft: Infinitas possibilidades.
WCL304 - Migração e Compatibilidade de aplicações para IE8, IE9 e IE10
WEB309 - Técnicas e recursos para desenvolvimento Web em cenários de grande escala.
WEB308 - Defendendo minhas aplicações ASP.NET Web Forms e MVC contra hackers
Recursos
Recursos para IT Pros
Recursos para Desenvolvedores
http://technet.microsoft.com/pt-br
http://msdn.microsoft.com/pt-br
Getthefreemobileappforyourphonehttp://gettag.mobi
Getthefreemobileappforyourphonehttp://gettag.mobi
Não esqueça de preencher sua
avaliação onlinewww.teched.com.br/
avaliacao
Getthefreemobileappforyourphonehttp://gettag.mobi
© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after
the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Listar configuração IIS5 / IIS6CD \INETPUB\ADMINSCRIPTSCSCRIPT ADSUTIL.VBS ENUM W3SVC
Listar componentes COM/COM+
Listar Assemblies ASP.NET## List_Assemblies.ps1 (powershell)#PARAM(
[string] $path = "") # List assemblies & References "Assemblies and References" $files = dir -recurse -path $path -include "*.dll", "*.exe" foreach($file in $files) { try { $assembly = [System.Reflection.Assembly]::LoadFile($file); $version = $assembly.ImageRuntimeVersion; $references = $assembly.GetReferencedAssemblies(); foreach ( $ref in $references ) { $file.FullName.ToLower().Replace($path.ToLower(),'') + " | " + $debug + " | " + $version + " | " + $ref.ToString().Replace(',','|').Replace('Version=','').Replace('Culture=','').Replace('PublicKeyToken=',''); } } catch [System.Management.Automation.MethodInvocationException] { # ERROR HANDLING HERE! } }
Top Related