La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Buenas prácticas para migrar a IIS 6

Presentaciones similares


Presentación del tema: "Buenas prácticas para migrar a IIS 6"— Transcripción de la presentación:

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

2 Agenda IIS 6.0 – Introducción Consideraciones Recursos
Fiabilidad – un nuevo modelo de procesos Seguridad Rendimiento y escalabilidad Mejor administración Consideraciones Recursos Preguntas y respuestas TechEd 2002

3 Fiabilidad Una nueva arquitectura para W3SVC en IIS 6.0
Objetivo: permitir el aislamiento total de una aplicación del resto de las aplicaciones del Web y del sistema operativo del servidor. Funcionalidad de Web Service en INETINFO repartida entre: HTTP.sys: listener en modo kernel y enrutador de peticiones W3SVC: pasa a ser el gestor de configuración y procesado W3Core: donde se procesan las aplicaciones Web Carga de múltiples DLL W3Core dentro de archivos W3WP.exe Dos modos del modelo de procesos: [Default] modo de aislamiento de proceso de usuario (worker process) Modo de aislamiento de IIS 5.0 W3SVC W3Core Web app HTTP.SYS kernel TechEd 2002

4 Fiabilidad Repaso – Modelo de Proceso de IIS 5.0
DLLHOST.exe Pooled OOP Apps INETINFO.exe metabase ftp, smtp, nntp ASPNET_WP.exe DLLHOST.exe .Net App Domain W3SVC DLLHOST.exe .Net App Domain Isolated OOP App .Net App Domain DLLHOST.exe Isolated OOP App ASP.NET In-proc Apps Isolated OOP App ISAPI Filters User mode Kernel mode Winsock TechEd 2002

5 Fiabilidad Modo de aislamiento del proceso de trabajo en IIS6.0
Application Pool Application Pool Application Pool INETINFO.exe SVCHOST.exe W3WP.exe W3WP.exe W3WP.exe W3Core metabase W3SVC W3Core W3Core ASP.net Apps All Apps (no OOP) All Apps (no OOP) ftp, smtp, nntp .Net App Domain W3 Config Mgr W3 Process Mgr .Net App Domain .Net App Domain ISAPI Filters ISAPI Filters User mode Kernel mode HTTP.SYS TechEd 2002

6 Fiabilidad Agrupamientos de aplicaciones (“pools”)
Se pueden crear uno o más agrupamientos de aplicaciones Cada uno, servido por uno o más archivos W3WP.exe Cada W3WP.exe trabaja con un solo pool Peticiones encaminadas directamente al pool desde HTTP.sys Aislamiento de aplicaciones en base a: Site/Cliente Funcionalidad Fiabilidad TechEd 2002

7 Fiabilidad Reciclaje periódico del proceso
¿Qué es? Reinicio periódico de las aplicaciones en base a: Tiempo [Default] Número de peticiones Reinicios planificados Consumo de memoria Bajo demanda ¿Por qué hacerlo? Refrescar aplicaciones para garantizar su disponibilidad Previene que aplicaciones mal desarrolladas puedan colapsar el sistema Efecto en las aplicaciones Cambio de estado o pérdida de cache en el reciclado Posibles incidencias debidas a múltiples instancias. TechEd 2002

8 Fiabilidad Arquitectura auto contenida
Chequeo de “salud” (pinging) ¿Que es? Diseñado para detectar bloqueos en threads de W3WP.exe Puede engancharse si no hay threads en W3WP.exe disponibles para responder en la ventana de tiempo asignada. ¿Cómo funciona? W3SVC hará “ping” a cada W3WP.exe El proceso tiene un tiempo preconfigurado de respuesta Si no responde en ese periodo: Por defecto: mata el proceso, publica el evento y arranca un nuevo proceso. O puede configurarse para ejecutar otra acción o proceso => “Orphaning” ASP y ASP.NET utilizan el ping para solicitar un reciclaje si aparecen síntomas de error. TechEd 2002

9 Fiabilidad Detección de caídas y recuperación
W3SVC detecta la caída de W3WP.exe W3SVC arrancará un nuevo W3WP.exe si hay demanda Peticiones encoladas en HTTP.sys mientras arranca el nuevo W3WP Efecto neto: servicio no interrumpido Protección rápida frente a fallos Únicamente permite x caídas en y minutos Automáticamente para el pool si se excede ese valor – Devuelve error 503 a las peticiones a ese pool. TechEd 2002

10 Fiabilidad Consideraciones para las aplicaciones
Diseñar las aplicaciones pensando en su reciclaje Independizar los estados y cache del proceso del servidor Para ASP.NET, usar el servicio de estado de sesión externo o Microsoft® SQL Server™ para almacenar los estados. Cuidado con los problemas derivados de la multiinstancia Pueden aparecer durante: Reciclajes: se superponen por defecto, pero puede deshabilitarse el reciclaje con superposición o reciclarlos todos juntos. 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 agrupamiento. “IIS 5-ismos” – dependencias de comportamientos de IIS5.0 Ejecución con privilegios LocalSystem En el modelo de aislamiento de Proceso de Trabajo no se utiliza OOP de COM+ Filtros de datos globales. Si lo anterior no puede modificarse, ejecutar IIS6.0 en el modo de aislamiento de IIS5.0 Carga W3Core dentro de INETINFO, como hace OOP en IIS5.0 TechEd 2002

11 Seguridad en IIS 6.0 Seguridad en la instalación
Instalación limpia IIS no se instala en una instalación limpia por defecto. Utilizar el asistente Configure su Servidor para instalar el rol de servidor de aplicaciones. Instala: IIS 6.0 FPSE (deshabilitado) ASP.NET (deshabilitado) Actualizaciones W3SVC deshabilitado salvo que se instale URLScan antes de la actualización. TechEd 2002

12 Seguridad en IIS 6.0 Reducción de la superficie de ataque
Lista de Restricciones Sólo ejecuta peticiones para extensiones y CGIs permitidos. Por defecto no se permiten extensiones ni CGI Si se solicita una extensión o CGI no permitidos, se devuelve un error 404.2 Usar el nodo Web Service Extensions en MMC para permitir o prohibir extensiones y CGIs Extensiones de archivo conocidas Únicamente suministra peticiones definidas en MIMEMAP Error para peticiones no incluidas en MIMEMAP Consideraciones Si se usa Visual Studio .NET, definir los archivos .tmp en MIMEMAP Visual Studio .NET resuelve esto en SP1. TechEd 2002

13 Seguridad en IIS 6.0 Identidad del Proceso de Trabajo configurable
El Proceso de trabajo puede iniciarse como: Servicio Network (default) Local system Local service ID preconfigurado IIS_WPG Nuevo grupo de usuarios Recursos IIS puestos dentro de una ACL en este grupo Devuelve errores 503 si la cuenta configurada no forma parte de IIS_WPG Consideraciones El mapeo de Passport para Directorio Activo exige uso de LocalSystem Kerberos puede necesitar configuración adicional para este ID TechEd 2002

14 Seguridad en IIS 6.0 Cambios de seguridad desde IIS 5.0
Sub-autenticación no se instala por defecto en instalaciones limpias Efecto: las passwords pueden caducar para las cuentas IWAM y IUSR Solución: instalar SubAuth o resolverlo con un esquema de sincronización propio URLs restringidas a un máximo de 16Kb de longitud con un parsing más restrictivo No se admiten caracteres extraños, etc. El contenido en Inetpub se protege contra escritura Las herramientas de línea de comandos solo las pueden utilizar los administradores. TechEd 2002

15 Seguridad en IIS 6.0 Recomendaciones
Hacer una instalación limpia en lugar de actualización – más seguro por defecto No hay aún una herramienta de bloqueo para que IIS6.0 pueda gestionar las actualizaciones Ejecutar los archivos W3WP.exe de los pools de aplicaciones como Network Service (valor por defecto) Permitir solamente las extensiones que necesitan las aplicaciones. Prohibir todo lo demás para reducir la superficie de ataque Revisar los logs de visitas a IIS y el log HTTPERR Log de visitas de IIS: códigos de substatus guardados en formatos válidos para W3C y binarios. HTTPERR: detalles de los motivos para errores 503 y finalización de conexiones TechEd 2002

16 Rendimiento en IIS 6.0 Mejor rendimiento en el mundo real
Benchmarks de e-commerce de Doculabs. Medidas del rendimiento global de algunos escenarios comunes en entornos de comercio electrónico. Logon, visualización de elementos, búsquedas, operaciones de carrito de la compra y pagos Cache de archivos estáticos, operaciones de BBDD, gestión del estado de sesión. 1P: 49% 4P: 120% 8P: 170% Reqs/sec 1P - 4P: 3.3x 1P - 8P: 5.0x TechEd 2002

17 Rendimiento en IIS 6.0 Respuestas cacheadas en HTTP.SYS
Contenido dinámico cacheado, suministrado directamente desde HTTP.SYS Podría operar al doble de velocidad cuando se suministra desde el modo de transición del kernel – no usuario Sus aplicaciones no reciben las peticiones si se sirven desde la cache Archivos estáticos cacheados por defecto Cache inteligente: sólo se cachea contenido estático muy solicitado Rellamada al API de invalidación Se potencia también la cabecera “Expires” para establecer un timeout automático para las respuestas cacheadas. Consideraciones Utilizar en respuestas dinámicas si pueden mantenerse por un cierto periodo de tiempo Se reduce la carga en el servidor si la respuesta puede entregarse desde la cache ASP.NET -> usar la directiva OutputCache Location=“Server” para marcar una respuesta como cacheable. TechEd 2002 4

18 Rendimiento en IIS 6.0 traza del Capacity Planning
Se conecta en posiciones clave durante el tiempo de vida de la petición, desde el inicio de la misma hasta el envío definitivo de la respuesta: HTTP Start, Route, Cache Hit, End ISAPI Filter Start/Stop (nombre del filtro, notificación) ISAPI Extension Start/Stop ASP Start/Stop ASP.net Start/Stop Útil en depuración también - ¿dónde se bloquea la petición? Ejemplo de un cliente: MS.COM Utiliza esto para localizar páginas de alto consumo de CPU También se emplea para diagnosticar dónde se producen retrasos TechEd 2002 4

19 Rendimiento en IIS 6.0 Jardines Web y afinidad de procesador
Web Garden Application Pool Jardines web: Pools de aplicaciones con más de un proceso de trabajo Enrutamiento basado en conexión dentro del Jardín Afinidad de procesador Asignación de procesos de un pool de aplicaciones a una o más CPUs Configuración basada en máscaras Consideraciones Jardines Web Posibles incidencias en multi-instancia Reciclaje: posible todo a la vez Afinidad Crear silos virtuales de trabajo en grandes sistemas MP Asignar de acuerdo con la arquitectura MP (asignar a CPUs en el mismo bloque físico) W3WP.exe W3WP.exe SVCHOST.exe W3WP.exe W3Core W3Core W3Core W3SVC All Apps (no OOP) All Apps (no OOP) All Apps (no OOP) W3 Config Mgr W3 Process Mgr ISAPI Filters ISAPI Filters ISAPI Filters HTTP.SYS kernel TechEd 2002

20 Rendimiento en IIS 6.0 Tiempo de inactividad y arranque por demanda
Se detiene un proceso si está inactivo por encima de un periodo de tiempo prefijado Libera recursos para aplicaciones activas. Las aplicaciones siguen estando disponibles aun cuando el proceso de trabajo está inactivo y se ha detenido Arranque por demanda Sólo se inicia el proceso de trabajo si existe demanda para el pool de aplicaciones Consideraciones Usar el timeout por inactividad para liberar recursos para otras aplicaciones de uso más intensivo Valorar el desactivar la función de timeout si el arranque de la aplicación lleva mucho tiempo Nota: la finalización de un proceso inactivo causa: Pérdida de la cache en memoria TechEd 2002

21 Administración de IIS 6.0 Mejoras en la Metabase
Metabase en XML Metabase guardada en XML Autoversión: como un backup automático Editar mientras trabaja Se pueden hacer cambios directamente al archivo metabase.xml mientras IIS está ejecutándose. Se puede usar cualquier editor: Notepad, .NET, PERL, etc. Consideraciones Es más seguro usar ADSI o la UI para hacer cambios en la metabase Nota: Metabase.bin sigue existiendo, pero solo como un archivo de compromiso para las aplicaciones antiguas. ADSI UI Admin Base Objects Metabase.xml MBSchema.xml TechEd 2002

22 Administración de IIS 6.0 Mejoras en la metabase: Import/Export
Importación/exportación de la configuración de la metabase a/desde XML Opciones: Exportar/importar propiedades heredadas Exportar/importar un nodo solamente (o todo el subárbol) Fichero exportado cifrado con password. Uso con ASP.NET XCOPY para instalar aplicaciones Se exporta la configuración de la metabase de IIS6.0 para una aplicación .NET Se guarda en el directorio de aplicaciones .NET Se importa el archivo de configuración de la metabase después de XCOPY Admin Base Objects ADSI UI Metabase.xml MBSchema.xml TechEd 2002

23 Administración en IIS 6.0 Proveedor WMI y nuevas herramientas de línea de comandos
IIS WMI Provider Soporte para consultas Asociaciones Transformable en script Nuevas herramientas de línea de comandos Orientación a tareas Herramientas soportadas – actualmente en %windir%\system32 Basadas en WMI Provider Ejemplo: usar IISCNFG.vbs como parte de una estrategia de migración de aplicación .NET entre dos sistemas con IIS6.0 Command Line Tools ADSI WMI UI Admin Base Objects Metabase.xml MBSchema.xml TechEd 2002

24 Resumen IIS 6.0 se ha mejorado al hacer que las aplicaciones Web sean mas: Seguras Fiables Escalables Manejables TechEd 2002

25 Recursos Introducción a IIS 6.0 en TechNet:
Introducción técnica a IIS 6.0: TechEd 2002


Descargar ppt "Buenas prácticas para migrar a IIS 6"

Presentaciones similares


Anuncios Google