buenas prácticas para migrar a iis 6.0 desde versiones anteriores bill staples group program...

25
Buenas prácticas Buenas prácticas para migrar a IIS para migrar a IIS 6.0 desde versiones 6.0 desde versiones anteriores anteriores Bill Staples Bill Staples Group Program Manager Group Program Manager IIS IIS Microsoft Corporation Microsoft Corporation

Upload: alejandra-arvelo

Post on 16-Feb-2015

20 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Buenas prácticas para migrar a IIS 6.0 desde versiones anteriores Bill Staples Group Program Manager IIS Microsoft Corporation

Buenas prácticas para Buenas prácticas para migrar a IIS 6.0 desde migrar a IIS 6.0 desde versiones anterioresversiones anteriores

Bill StaplesBill StaplesGroup Program ManagerGroup Program ManagerIISIISMicrosoft CorporationMicrosoft Corporation

Page 2: Buenas prácticas para migrar a IIS 6.0 desde versiones anteriores Bill Staples Group Program Manager IIS Microsoft Corporation

AgendaAgenda

IIS 6.0 – IntroducciónIIS 6.0 – Introducción Fiabilidad – un nuevo modelo de procesosFiabilidad – un nuevo modelo de procesos SeguridadSeguridad Rendimiento y escalabilidadRendimiento y escalabilidad Mejor administraciónMejor administración

ConsideracionesConsideraciones RecursosRecursos Preguntas y respuestasPreguntas y respuestas

Page 3: Buenas prácticas para migrar a IIS 6.0 desde versiones anteriores Bill Staples Group Program Manager IIS Microsoft Corporation

FiabilidadFiabilidad Una nueva arquitectura para W3SVC en IIS 6.0Una nueva arquitectura para W3SVC en IIS 6.0

Objetivo: permitir el aislamiento Objetivo: permitir el aislamiento total de una aplicación del resto total de una aplicación del resto de las aplicaciones del Web y del de las aplicaciones del Web y del sistema operativo del servidor. sistema operativo del servidor.

Funcionalidad de Web Service en Funcionalidad de Web Service en INETINFO repartida entre:INETINFO repartida entre: HTTP.sys: listener en modo HTTP.sys: listener en modo

kernel y enrutador de peticioneskernel y enrutador de peticiones W3SVC: pasa a ser el gestor de W3SVC: pasa a ser el gestor de

configuración y procesadoconfiguración y procesado W3Core: donde se procesan las W3Core: donde se procesan las

aplicaciones Webaplicaciones Web Carga de múltiples DLL W3Core Carga de múltiples DLL W3Core

dentro de archivos W3WP.exedentro de archivos W3WP.exe Dos modos del modelo de Dos modos del modelo de

procesos: procesos: [Default] modo de aislamiento de [Default] modo de aislamiento de

proceso de usuario (worker proceso de usuario (worker process)process)

Modo de aislamiento de IIS 5.0Modo de aislamiento de IIS 5.0

HTTP.SYSHTTP.SYSke

rnel

kern

el

W3SVCW3SVC W3CoreW3Core

WebWebappapp

Page 4: Buenas prácticas para migrar a IIS 6.0 desde versiones anteriores Bill Staples Group Program Manager IIS Microsoft Corporation

FiabilidadFiabilidad Repaso – Modelo de Proceso de IIS 5.0Repaso – Modelo de Proceso de IIS 5.0

INETINFO.exeINETINFO.exe

metabasemetabase ftp, smtp, ftp, smtp, nntpnntp

W3SVCW3SVC

WinsockWinsock

ISAPI FiltersISAPI Filters

In-procIn-proc

AppsApps

ASP.NETASP.NET

.Net App .Net App DomainDomain

.Net App .Net App DomainDomain

.Net App .Net App DomainDomain

ASPNET_WP.exeASPNET_WP.exe

Pooled Pooled OOP AppsOOP Apps

DLLHOST.exeDLLHOST.exe

Isolated Isolated OOP AppOOP App

DLLHOST.exeDLLHOST.exe

Isolated Isolated OOP AppOOP App

DLLHOST.exeDLLHOST.exe

Isolated Isolated OOP AppOOP App

DLLHOST.exeDLLHOST.exe

User mode

Kernel mode

Page 5: Buenas prácticas para migrar a IIS 6.0 desde versiones anteriores Bill Staples Group Program Manager IIS Microsoft Corporation

FiabilidadFiabilidad Modo de aislamiento del proceso de trabajo en IIS6.0Modo de aislamiento del proceso de trabajo en IIS6.0

INETINFO.exeINETINFO.exe

metabasemetabase

ftp, smtp, ftp, smtp, nntpnntp

User mode

Kernel mode

HTTP.SYSHTTP.SYS

W3SVCW3SVC

SVCHOST.exeSVCHOST.exe

W3

Co

nfi

g M

gr

W3

Co

nfi

g M

gr

W3

Pro

ce

ss

Mg

rW

3 P

roc

es

s M

gr

W3CoreW3Core

ISAPI FiltersISAPI Filters

W3WP.exeW3WP.exe

All AppsAll Apps

(no OOP)(no OOP)

Application PoolApplication Pool

W3CoreW3Core

ISAPI FiltersISAPI Filters

W3WP.exeW3WP.exe

All AppsAll Apps

(no OOP)(no OOP)

Application PoolApplication Pool

W3CoreW3Core

W3WP.exeW3WP.exe

Application PoolApplication Pool

ASP.net AppsASP.net Apps

.Net App .Net App DomainDomain

.Net App .Net App DomainDomain

.Net App .Net App DomainDomain

Page 6: Buenas prácticas para migrar a IIS 6.0 desde versiones anteriores Bill Staples Group Program Manager IIS Microsoft Corporation

FiabilidadFiabilidadAgrupamientos de aplicaciones (“pools”) Agrupamientos de aplicaciones (“pools”)

Se pueden crear uno o Se pueden crear uno o más agrupamientos de más agrupamientos de aplicacionesaplicaciones Cada uno, servido por uno Cada uno, servido por uno

o más archivos W3WP.exeo más archivos W3WP.exe Cada W3WP.exe trabaja Cada W3WP.exe trabaja

con un solo poolcon un solo pool Peticiones encaminadas Peticiones encaminadas

directamente al pool desde directamente al pool desde HTTP.sysHTTP.sys

Aislamiento de Aislamiento de aplicaciones en base a: aplicaciones en base a: Site/ClienteSite/Cliente FuncionalidadFuncionalidad FiabilidadFiabilidad

Page 7: Buenas prácticas para migrar a IIS 6.0 desde versiones anteriores Bill Staples Group Program Manager IIS Microsoft Corporation

FiabilidadFiabilidadReciclaje periódico del procesoReciclaje periódico del proceso

¿Qué es?¿Qué es? Reinicio periódico de las Reinicio periódico de las

aplicaciones en base a:aplicaciones en base a: Tiempo [Default]Tiempo [Default] Número de peticionesNúmero de peticiones Reinicios planificadosReinicios planificados Consumo de memoriaConsumo de memoria Bajo demandaBajo demanda

¿Por qué hacerlo?¿Por qué hacerlo? Refrescar aplicaciones para Refrescar aplicaciones para

garantizar su disponibilidadgarantizar su disponibilidad Previene que aplicaciones Previene que aplicaciones

mal desarrolladas puedan mal desarrolladas puedan colapsar el sistemacolapsar el sistema

Efecto en las aplicacionesEfecto en las aplicaciones Cambio de estado o pérdida Cambio de estado o pérdida

de cache en el recicladode cache en el reciclado Posibles incidencias debidas Posibles incidencias debidas

a múltiples instancias.a múltiples instancias.

Page 8: Buenas prácticas para migrar a IIS 6.0 desde versiones anteriores Bill Staples Group Program Manager IIS Microsoft Corporation

FiabilidadFiabilidadArquitectura auto contenidaArquitectura auto contenida Chequeo de “salud” (pinging) Chequeo de “salud” (pinging)

¿Que es?¿Que es? Diseñado para detectar bloqueos Diseñado para detectar bloqueos

en threads de W3WP.exeen threads de W3WP.exe Puede engancharse si no hay Puede engancharse si no hay

threads en W3WP.exe threads en W3WP.exe disponibles para responder en la disponibles para responder en la ventana de tiempo asignada.ventana de tiempo asignada.

¿Cómo funciona?¿Cómo funciona? W3SVC hará “ping” a cada W3SVC hará “ping” a cada

W3WP.exeW3WP.exe El proceso tiene un tiempo El proceso tiene un tiempo

preconfigurado de respuestapreconfigurado de respuesta Si no responde en ese periodo:Si no responde en ese periodo:

Por defecto: mata el proceso, Por defecto: mata el proceso, publica el evento y arranca publica el evento y arranca un nuevo proceso.un nuevo proceso.

O puede configurarse para O puede configurarse para ejecutar otra acción o ejecutar otra acción o proceso => “Orphaning”proceso => “Orphaning”

ASP y ASP.NET utilizan el ping ASP y ASP.NET utilizan el ping para solicitar un reciclaje si para solicitar un reciclaje si aparecen síntomas de error.aparecen síntomas de error.

Page 9: Buenas prácticas para migrar a IIS 6.0 desde versiones anteriores Bill Staples Group Program Manager IIS Microsoft Corporation

FiabilidadFiabilidadDetección de caídas y recuperaciónDetección de caídas y recuperación Detección de caídasDetección de caídas

W3SVC detecta la caída de W3SVC detecta la caída de W3WP.exeW3WP.exe

W3SVC arrancará un W3SVC arrancará un nuevo W3WP.exe si hay nuevo W3WP.exe si hay demandademanda

Peticiones encoladas en Peticiones encoladas en HTTP.sys mientras HTTP.sys mientras arranca el nuevo W3WP arranca el nuevo W3WP

Efecto neto: servicio no Efecto neto: servicio no interrumpido interrumpido

Protección rápida frente a Protección rápida frente a fallosfallos Únicamente permite x Únicamente permite x

caídas en y minutoscaídas en y minutos Automáticamente para el Automáticamente para el

pool si se excede ese pool si se excede ese valor – Devuelve error 503 valor – Devuelve error 503 a las peticiones a ese a las peticiones a ese pool.pool.

Page 10: Buenas prácticas para migrar a IIS 6.0 desde versiones anteriores Bill Staples Group Program Manager IIS Microsoft Corporation

FiabilidadFiabilidadConsideraciones para las aplicacionesConsideraciones para las aplicaciones Diseñar las aplicaciones pensando en su reciclajeDiseñar las aplicaciones pensando en su reciclaje

Independizar los estados y cache del proceso del servidorIndependizar los estados y cache del proceso del servidor Para ASP.NET, usar el servicio de estado de sesión externo o Para ASP.NET, usar el servicio de estado de sesión externo o

Microsoft® SQL Server™ para almacenar los estados.Microsoft® SQL Server™ para almacenar los estados. Cuidado con los problemas derivados de la multiinstanciaCuidado con los problemas derivados de la multiinstancia

Pueden aparecer durante:Pueden aparecer durante: Reciclajes: se superponen por defecto, pero puede deshabilitarse el Reciclajes: se superponen por defecto, pero puede deshabilitarse el

reciclaje con superposición o reciclarlos todos juntos.reciclaje con superposición o reciclarlos todos juntos. Dos pools de aplicaciones cargando el mismo código de aplicación.Dos pools de aplicaciones cargando el mismo código de aplicación.

Si no se puede cambiar el código, asignar todos los URL al mismo Si no se puede cambiar el código, asignar todos los URL al mismo agrupamiento.agrupamiento.

““IIS 5-ismos” – dependencias de comportamientos de IIS5.0IIS 5-ismos” – dependencias de comportamientos de IIS5.0 Ejecución con privilegios LocalSystemEjecución con privilegios LocalSystem En el modelo de aislamiento de Proceso de Trabajo no se utiliza En el modelo de aislamiento de Proceso de Trabajo no se utiliza

OOP de COM+OOP de COM+ Filtros de datos globales.Filtros de datos globales. Si lo anterior no puede modificarse, ejecutar IIS6.0 en el modo de Si lo anterior no puede modificarse, ejecutar IIS6.0 en el modo de

aislamiento de IIS5.0aislamiento de IIS5.0 Carga W3Core dentro de INETINFO, como hace OOP en IIS5.0Carga W3Core dentro de INETINFO, como hace OOP en IIS5.0

Page 11: Buenas prácticas para migrar a IIS 6.0 desde versiones anteriores Bill Staples Group Program Manager IIS Microsoft Corporation

Seguridad en IIS 6.0Seguridad en IIS 6.0Seguridad en la instalaciónSeguridad en la instalación

Instalación limpiaInstalación limpia IIS no se instala en una IIS no se instala en una

instalación limpia por instalación limpia por defecto.defecto.

Utilizar el asistente Utilizar el asistente Configure su Servidor Configure su Servidor para instalar el rol de para instalar el rol de servidor de aplicaciones. servidor de aplicaciones. Instala:Instala: IIS 6.0IIS 6.0 FPSE (deshabilitado)FPSE (deshabilitado) ASP.NET (deshabilitado)ASP.NET (deshabilitado)

ActualizacionesActualizaciones W3SVC deshabilitado W3SVC deshabilitado

salvo que se instale salvo que se instale URLScan antes de la URLScan antes de la actualización.actualización.

Page 12: Buenas prácticas para migrar a IIS 6.0 desde versiones anteriores Bill Staples Group Program Manager IIS Microsoft Corporation

Seguridad en IIS 6.0Seguridad en IIS 6.0Reducción de la superficie de ataqueReducción de la superficie de ataque

Lista de RestriccionesLista de Restricciones

Sólo ejecuta peticiones para Sólo ejecuta peticiones para extensiones y CGIs permitidos.extensiones y CGIs permitidos.

Por defecto no se permiten Por defecto no se permiten extensiones ni CGIextensiones ni CGI

Si se solicita una extensión o CGI Si se solicita una extensión o CGI no permitidos, se devuelve un no permitidos, se devuelve un error 404.2error 404.2

Usar el nodo Usar el nodo Web Service Web Service ExtensionsExtensions en MMC para permitir o en MMC para permitir o prohibir extensiones y CGIsprohibir extensiones y CGIs

Extensiones de archivo conocidasExtensiones de archivo conocidas Únicamente suministra peticiones Únicamente suministra peticiones

definidas en MIMEMAPdefinidas en MIMEMAP Error 4.403 para peticiones no Error 4.403 para peticiones no

incluidas en MIMEMAPincluidas en MIMEMAP ConsideracionesConsideraciones

Si se usa Visual Studio .NET, Si se usa Visual Studio .NET, definir los archivos .tmp en definir los archivos .tmp en MIMEMAPMIMEMAP

Visual Studio .NET resuelve esto Visual Studio .NET resuelve esto en SP1.en SP1.

Page 13: Buenas prácticas para migrar a IIS 6.0 desde versiones anteriores Bill Staples Group Program Manager IIS Microsoft Corporation

Seguridad en IIS 6.0 Seguridad en IIS 6.0 Identidad del Proceso de Trabajo configurableIdentidad del Proceso de Trabajo configurable El Proceso de trabajo puede El Proceso de trabajo puede

iniciarse como:iniciarse como: Servicio Network (default)Servicio Network (default) Local systemLocal system Local serviceLocal service ID preconfiguradoID preconfigurado

IIS_WPGIIS_WPG Nuevo grupo de usuarios Nuevo grupo de usuarios Recursos IIS puestos Recursos IIS puestos

dentro de una ACL en este dentro de una ACL en este grupogrupo

Devuelve errores 503 si la Devuelve errores 503 si la cuenta configurada no cuenta configurada no forma parte de IIS_WPGforma parte de IIS_WPG

ConsideracionesConsideraciones El mapeo de Passport para El mapeo de Passport para

Directorio Activo exige uso Directorio Activo exige uso de LocalSystemde LocalSystem

Kerberos puede necesitar Kerberos puede necesitar configuración adicional configuración adicional para este IDpara este ID

Page 14: Buenas prácticas para migrar a IIS 6.0 desde versiones anteriores Bill Staples Group Program Manager IIS Microsoft Corporation

Seguridad en IIS 6.0Seguridad en IIS 6.0 Cambios de seguridad desde IIS 5.0Cambios de seguridad desde IIS 5.0

Sub-autenticación no se instala por defecto en Sub-autenticación no se instala por defecto en instalaciones limpiasinstalaciones limpias Efecto: las passwords pueden caducar para las cuentas Efecto: las passwords pueden caducar para las cuentas

IWAM y IUSRIWAM y IUSR Solución: instalar SubAuth o resolverlo con un esquema Solución: instalar SubAuth o resolverlo con un esquema

de sincronización propiode sincronización propio

URLs restringidas a un máximo de 16Kb de URLs restringidas a un máximo de 16Kb de longitud con un parsing más restrictivolongitud con un parsing más restrictivo No se admiten caracteres extraños, etc.No se admiten caracteres extraños, etc.

El contenido en Inetpub se protege contra escrituraEl contenido en Inetpub se protege contra escritura Las herramientas de línea de comandos solo las Las herramientas de línea de comandos solo las

pueden utilizar los administradores.pueden utilizar los administradores.

Page 15: Buenas prácticas para migrar a IIS 6.0 desde versiones anteriores Bill Staples Group Program Manager IIS Microsoft Corporation

Seguridad en IIS 6.0 Seguridad en IIS 6.0 RecomendacionesRecomendaciones

Hacer una instalación limpia en lugar de Hacer una instalación limpia en lugar de actualización – más seguro por defectoactualización – más seguro por defecto No hay aún una herramienta de bloqueo para que IIS6.0 No hay aún una herramienta de bloqueo para que IIS6.0

pueda gestionar las actualizacionespueda gestionar las actualizaciones Ejecutar los archivos W3WP.exe de los pools de Ejecutar los archivos W3WP.exe de los pools de

aplicaciones como Network Service (valor por aplicaciones como Network Service (valor por defecto)defecto)

Permitir solamente las extensiones que necesitan Permitir solamente las extensiones que necesitan las aplicaciones.las aplicaciones. Prohibir todo lo demás para reducir la superficie de Prohibir todo lo demás para reducir la superficie de

ataqueataque Revisar los logs de visitas a IIS y el log HTTPERRRevisar los logs de visitas a IIS y el log HTTPERR

Log de visitas de IIS: códigos de substatus guardados en Log de visitas de IIS: códigos de substatus guardados en formatos válidos para W3C y binarios.formatos válidos para W3C y binarios.

HTTPERR: detalles de los motivos para errores 503 y HTTPERR: detalles de los motivos para errores 503 y finalización de conexionesfinalización de conexiones

Page 16: Buenas prácticas para migrar a IIS 6.0 desde versiones anteriores Bill Staples Group Program Manager IIS Microsoft Corporation

Rendimiento en IIS 6Rendimiento en IIS 6.0.0Mejor rendimiento en el mundo realMejor rendimiento en el mundo real Benchmarks de e-commerce de Doculabs. Medidas del rendimiento global de Benchmarks de e-commerce de Doculabs. Medidas del rendimiento global de

algunos escenarios comunes en entornos de comercio electrónico.algunos escenarios comunes en entornos de comercio electrónico. Logon, visualización de elementos, búsquedas, operaciones de carrito de la compra y Logon, visualización de elementos, búsquedas, operaciones de carrito de la compra y

pagospagos Cache de archivos estáticos, operaciones de BBDD, gestión del estado de sesión.Cache de archivos estáticos, operaciones de BBDD, gestión del estado de sesión.

1P 4P 8P

Win2K

Win.NET

Req

s/se

cR

eqs/

sec

1P: 49%1P: 49%4P: 120%4P: 120%8P: 170%8P: 170%

1P - 4P: 3.3x1P - 4P: 3.3x1P - 8P: 5.0x1P - 8P: 5.0x

Page 17: Buenas prácticas para migrar a IIS 6.0 desde versiones anteriores Bill Staples Group Program Manager IIS Microsoft Corporation

Rendimiento en IIS 6.0Rendimiento en IIS 6.0Respuestas cacheadas en HTTP.SYSRespuestas cacheadas en HTTP.SYS

Contenido dinámico cacheado, suministrado directamente desde Contenido dinámico cacheado, suministrado directamente desde HTTP.SYSHTTP.SYS Podría operar al doble de velocidad cuando se suministra desde el Podría operar al doble de velocidad cuando se suministra desde el

modo de transición del kernel – no usuariomodo de transición del kernel – no usuario Sus aplicaciones no reciben las peticiones si se sirven desde la cacheSus aplicaciones no reciben las peticiones si se sirven desde la cache Archivos estáticos cacheados por defectoArchivos estáticos cacheados por defecto

Cache inteligente: sólo se cachea contenido estático muy solicitadoCache inteligente: sólo se cachea contenido estático muy solicitado Rellamada al API de invalidaciónRellamada al API de invalidación Se potencia también la cabecera “Expires” para establecer un Se potencia también la cabecera “Expires” para establecer un

timeout automático para las respuestas cacheadas.timeout automático para las respuestas cacheadas. ConsideracionesConsideraciones

Utilizar en respuestas dinámicas si pueden mantenerse por un cierto Utilizar en respuestas dinámicas si pueden mantenerse por un cierto periodo de tiempoperiodo de tiempo

Se reduce la carga en el servidor si la respuesta puede entregarse desde la Se reduce la carga en el servidor si la respuesta puede entregarse desde la cachecache

ASP.NET -> usar la directiva ASP.NET -> usar la directiva OutputCache Location=“Server”OutputCache Location=“Server” para para marcar una respuesta como cacheable.marcar una respuesta como cacheable.

Page 18: Buenas prácticas para migrar a IIS 6.0 desde versiones anteriores Bill Staples Group Program Manager IIS Microsoft Corporation

Rendimiento en IIS 6.0Rendimiento en IIS 6.0traza del Capacity Planningtraza del Capacity Planning

Se conecta en posiciones clave durante el tiempo de Se conecta en posiciones clave durante el tiempo de vida de la petición, desde el inicio de la misma hasta el vida de la petición, desde el inicio de la misma hasta el envío definitivo de la respuesta:envío definitivo de la respuesta: HTTP Start, Route, Cache Hit, EndHTTP Start, Route, Cache Hit, End ISAPI Filter Start/Stop (nombre del filtro, notificación)ISAPI Filter Start/Stop (nombre del filtro, notificación) ISAPI Extension Start/StopISAPI Extension Start/Stop ASP Start/StopASP Start/Stop ASP.net Start/StopASP.net Start/Stop

Útil en depuración también - ¿dónde se bloquea la Útil en depuración también - ¿dónde se bloquea la petición?petición?

Ejemplo de un cliente: MS.COMEjemplo de un cliente: MS.COM Utiliza esto para localizar páginas de alto consumo de CPUUtiliza esto para localizar páginas de alto consumo de CPU También se emplea para diagnosticar dónde se producen También se emplea para diagnosticar dónde se producen

retrasosretrasos

Page 19: Buenas prácticas para migrar a IIS 6.0 desde versiones anteriores Bill Staples Group Program Manager IIS Microsoft Corporation

W3CoreW3Core

ISAPI FiltersISAPI Filters

W3WP.exeW3WP.exe

All AppsAll Apps

(no OOP)(no OOP)

W3CoreW3Core

ISAPI FiltersISAPI Filters

W3WP.exeW3WP.exe

All AppsAll Apps

(no OOP)(no OOP)

Rendimiento en IIS 6.0Rendimiento en IIS 6.0Jardines Web y afinidad de procesadorJardines Web y afinidad de procesador

Jardines web:Jardines web: Pools de aplicaciones con más de Pools de aplicaciones con más de

un proceso de trabajoun proceso de trabajo Enrutamiento basado en conexión Enrutamiento basado en conexión

dentro del Jardíndentro del Jardín Afinidad de procesadorAfinidad de procesador

Asignación de procesos de un Asignación de procesos de un pool de aplicaciones a una o más pool de aplicaciones a una o más CPUsCPUs

Configuración basada en Configuración basada en máscarasmáscaras

ConsideracionesConsideraciones Jardines WebJardines Web

Posibles incidencias en multi-Posibles incidencias en multi-instanciainstancia

Reciclaje: posible todo a la vezReciclaje: posible todo a la vez AfinidadAfinidad

Crear silos virtuales de trabajo en Crear silos virtuales de trabajo en grandes sistemas MPgrandes sistemas MP

Asignar de acuerdo con la Asignar de acuerdo con la arquitectura MP (asignar a CPUs arquitectura MP (asignar a CPUs en el mismo bloque físico) en el mismo bloque físico)

W3SVCW3SVC

SVCHOST.exeSVCHOST.exe

W3

Co

nfi

g M

gr

W3

Co

nfi

g M

gr

W3

Pro

ce

ss

Mg

rW

3 P

roc

es

s M

gr

W3CoreW3Core

ISAPI FiltersISAPI Filters

W3WP.exeW3WP.exe

All AppsAll Apps

(no OOP)(no OOP)

Web GardenWeb Garden

Application PoolApplication Pool

HTTP.SYSHTTP.SYS

kern

elke

rnel

Page 20: Buenas prácticas para migrar a IIS 6.0 desde versiones anteriores Bill Staples Group Program Manager IIS Microsoft Corporation

Rendimiento en IIS 6.0Rendimiento en IIS 6.0Tiempo de inactividad y arranque por demandaTiempo de inactividad y arranque por demanda Tiempo de inactividadTiempo de inactividad

Se detiene un proceso si está inactivo por encima de un Se detiene un proceso si está inactivo por encima de un periodo de tiempo prefijadoperiodo de tiempo prefijado

Libera recursos para aplicaciones activas.Libera recursos para aplicaciones activas. Las aplicaciones siguen estando disponibles aun cuando el Las aplicaciones siguen estando disponibles aun cuando el

proceso de trabajo está inactivo y se ha detenidoproceso de trabajo está inactivo y se ha detenido Arranque por demandaArranque por demanda

Sólo se inicia el proceso de trabajo si existe demanda para Sólo se inicia el proceso de trabajo si existe demanda para el pool de aplicacionesel pool de aplicaciones

ConsideracionesConsideraciones Usar el timeout por inactividad para liberar recursos para Usar el timeout por inactividad para liberar recursos para

otras aplicaciones de uso más intensivootras aplicaciones de uso más intensivo Valorar el desactivar la función de timeout si el arranque de Valorar el desactivar la función de timeout si el arranque de

la aplicación lleva mucho tiempola aplicación lleva mucho tiempo Nota: la finalización de un proceso inactivo causa:Nota: la finalización de un proceso inactivo causa:

Pérdida de la cache en memoriaPérdida de la cache en memoria

Page 21: Buenas prácticas para migrar a IIS 6.0 desde versiones anteriores Bill Staples Group Program Manager IIS Microsoft Corporation

Administración de IIS 6.0Administración de IIS 6.0Mejoras en la MetabaseMejoras en la Metabase

Metabase en XMLMetabase en XML Metabase guardada en XMLMetabase guardada en XML Autoversión: como un backup Autoversión: como un backup

automáticoautomático Editar mientras trabajaEditar mientras trabaja

Se pueden hacer cambios Se pueden hacer cambios directamente al archivo directamente al archivo metabase.xml metabase.xml mientras IIS mientras IIS está ejecutándoseestá ejecutándose..

Se puede usar cualquier Se puede usar cualquier editor: Notepad, .NET, PERL, editor: Notepad, .NET, PERL, etc.etc.

ConsideracionesConsideraciones Es más seguro usar ADSI o la Es más seguro usar ADSI o la

UI para hacer cambios en la UI para hacer cambios en la metabasemetabase

Nota: Metabase.bin sigue Nota: Metabase.bin sigue existiendo, pero solo como existiendo, pero solo como un archivo de compromiso un archivo de compromiso para las aplicaciones para las aplicaciones antiguas.antiguas.

Admin Base ObjectsAdmin Base Objects

ADSIADSI UIUI

Metabase.xmlMetabase.xml MBSchema.xmlMBSchema.xml

Page 22: Buenas prácticas para migrar a IIS 6.0 desde versiones anteriores Bill Staples Group Program Manager IIS Microsoft Corporation

Administración de IIS 6.0Administración de IIS 6.0Mejoras en la metabase: Import/ExportMejoras en la metabase: Import/Export

Importación/exportación de la Importación/exportación de la configuración de la metabase configuración de la metabase a/desde XMLa/desde XML

Opciones:Opciones: Exportar/importar propiedades Exportar/importar propiedades

heredadasheredadas Exportar/importar un nodo Exportar/importar un nodo

solamente (o todo el subárbol)solamente (o todo el subárbol) Fichero exportado cifrado con Fichero exportado cifrado con

password.password. Uso con ASP.NET XCOPY para Uso con ASP.NET XCOPY para

instalar aplicacionesinstalar aplicaciones1.1. Se exporta la configuración de Se exporta la configuración de

la metabase de IIS6.0 para una la metabase de IIS6.0 para una aplicación .NETaplicación .NET

2.2. Se guarda en el directorio de Se guarda en el directorio de aplicaciones .NETaplicaciones .NET

3.3. Se importa el archivo de Se importa el archivo de configuración de la metabase configuración de la metabase después de XCOPYdespués de XCOPY

Admin Base ObjectsAdmin Base Objects

ADSIADSI UIUI

Metabase.xmlMetabase.xml MBSchema.xmlMBSchema.xml

Page 23: Buenas prácticas para migrar a IIS 6.0 desde versiones anteriores Bill Staples Group Program Manager IIS Microsoft Corporation

Administración en IIS 6.0Administración en IIS 6.0Proveedor WMI y nuevas herramientas de línea Proveedor WMI y nuevas herramientas de línea de comandosde comandos

IIS WMI ProviderIIS WMI Provider Soporte para consultasSoporte para consultas AsociacionesAsociaciones Transformable en scriptTransformable en script

Nuevas herramientas de Nuevas herramientas de línea de comandoslínea de comandos Orientación a tareasOrientación a tareas Herramientas soportadas Herramientas soportadas

– actualmente en %windir– actualmente en %windir%\system32%\system32

Basadas en WMI ProviderBasadas en WMI Provider Ejemplo: usar Ejemplo: usar

IISCNFG.vbs como parte IISCNFG.vbs como parte de una estrategia de de una estrategia de migración de migración de aplicación .NET entre dos aplicación .NET entre dos sistemas con IIS6.0sistemas con IIS6.0

Admin Base ObjectsAdmin Base Objects

ADSIADSI UIUIWMIWMI

Metabase.xmlMetabase.xml MBSchema.xmlMBSchema.xml

Command Command Line ToolsLine Tools

Page 24: Buenas prácticas para migrar a IIS 6.0 desde versiones anteriores Bill Staples Group Program Manager IIS Microsoft Corporation

ResumenResumen

IIS 6.0 se ha mejorado al hacer que las IIS 6.0 se ha mejorado al hacer que las aplicaciones Web sean mas:aplicaciones Web sean mas: SegurasSeguras FiablesFiables EscalablesEscalables ManejablesManejables

Page 25: Buenas prácticas para migrar a IIS 6.0 desde versiones anteriores Bill Staples Group Program Manager IIS Microsoft Corporation

RecursosRecursos

Introducción a IIS 6.0 en TechNet: Introducción a IIS 6.0 en TechNet:

http://www.microsoft.com/windows.netserver/evaluation/overview/technologies/ihttp://www.microsoft.com/windows.netserver/evaluation/overview/technologies/iis.mspxis.mspx

Introducción técnica a IIS 6.0:Introducción técnica a IIS 6.0:http://www.microsoft.com/windows.netserver/docs/IISOverview.dochttp://www.microsoft.com/windows.netserver/docs/IISOverview.doc