¿Quién es responsable de mantener IIS para aplicaciones web?


15

IIS / Web Applications ha sido un problema complicado en las tiendas en las que he trabajado con el tiempo.

Por un lado, IIS es un servicio integrado en el servidor (en general) y generalmente es responsabilidad de los administradores del servidor mantenerlo y configurarlo. Cuando surge un problema, saben lo que debe suceder, o al menos pueden diagnosticar hasta el punto en que dicen: "Algo está mal con la aplicación web" y hacen que el desarrollador depure su código.

Sin embargo, cada aplicación web en el servidor es única y tiene muchos matices que pueden ser complejos en función de los problemas en cuestión.

Por otro lado, cada aplicación web es única en muchos aspectos y tenía problemas específicos que deben abordarse y el desarrollador es la persona que más sabe sobre la aplicación. Si el archivo web.config necesita ser modificado para la depuración, o un IIS comienza a generar problemas a la aplicación web, el desarrollador debe saber dónde se encuentra el problema y solucionarlo en consecuencia, ya sea debido a IIS o la aplicación misma.

Sin embargo, permitir que un desarrollador entre y modifique IIS por su cuenta se convierte en un problema grave porque algunas configuraciones / optimizaciones pueden afectar seriamente el rendimiento y la estabilidad del servidor.

Entonces, ¿dónde está el equilibrio? ¿Deben los administradores del servidor ser gurús de IIS y manejar todos esos problemas y simplemente envío los archivos del sitio durante la implementación, o el desarrollador debe asumir la responsabilidad del servidor y los problemas de IIS y tratarlos en consecuencia?


Gran pregunta Esta es, en mi humilde opinión, una de las decisiones más importantes que enfrentará una empresa de aplicaciones web .NET de tamaño medio. ¿Quién se convierte en el gurú de IIS?
Portman el

También hemos recorrido este camino; Todavía no he encontrado una solución perfecta.
SqlACID

jaja, estaba escribiendo esta pregunta y pensé "no, es demasiado subjetivo". Me alegro de haberlo detenido ya que ya se lo han pedido
Aaron Powell

Respuestas:


5

Parece que lo que realmente necesita es alguien con experiencia en ambos lados de la cerca.


+1. Necesita un administrador de red que esté interesado en .NET o un ingeniero de software que esté interesado en el servidor.
Portman el

4

En mi experiencia (con empresas de menor tamaño), el personal de TI / administrador del sistema no tiene el tiempo, el interés o el conocimiento específico de la aplicación web para mantener adecuadamente las configuraciones de IIS. Llevarán las cosas hasta el sistema operativo y me entregarán IIS, el desarrollador.

Obviamente, necesito ser "más que un simple codificador" para que esto funcione correctamente; Tengo que estar al tanto de los problemas a nivel del sistema (seguridad y demás). He estado haciendo administración de sistemas de bajo nivel durante años, así que estoy seguro de este tipo de tarea (de hecho, he enseñado algunas cosas a administradores de sistemas profesionales a lo largo de los años). Sin embargo, no todos los desarrolladores tienen esta capacidad.

Aún así, por lo que he visto, hay más desarrolladores con habilidades de sysadmin que hay sysadmin con habilidades de desarrollo (webapp).

Como siempre, YMMV.


3

Personalmente, no quiero que un desarrollador juegue con IIS, especialmente si eso significa que podría causar problemas con otra aplicación con otro desarrollador que tiene que solucionar problemas, una y otra vez.

Si hay problemas con IIS, haga que el SysAdmin lo revise, y si hay un problema con una aplicación en particular, envíelo de vuelta al desarrollador. Si el desarrollador tiene un problema, comuníqueselo al SysAdmin, quien puede intentar tomar una decisión informada sobre si hacer algún cambio y descubrir cómo afectará a todos.


3

Nosotros (los administradores de sistemas) tratamos a nuestros desarrolladores de la misma forma que lo haríamos con un proveedor externo: cuando quieren que implementemos una aplicación, tienen que proporcionar documentación si esperan que sea compatible. Esto incluye rutinas comunes de solución de problemas y una ruta de escalado de soporte (requisitos de tiempo de actividad combinados con una responsabilidad documentada del desarrollador en el caso de una interrupción inaceptable).

Obviamente no es en blanco y negro, pero se ha hecho mucho para aliviar la tensión entre desarrolladores y administradores. Los desarrolladores ahora se dan cuenta de que tienen que proporcionar un software de una calidad inversamente proporcional a su disposición a ser buscados después de horas, y los desarrolladores ahora tienen herramientas y documentos para pasar sin sentirse en el gancho de herramientas que no crearon.

Entonces, en su escenario, eso significaría que los desarrolladores crean su aplicación en su propio servidor IIS y luego proporcionan el software y la documentación para que los administradores los instalen en el servidor de producción.


¿"los desarrolladores ahora tienen herramientas y documentos para revisar sin sentirse enganchados por las herramientas que no crearon"?
motor en serie el

3

¿Deben los administradores del servidor ser gurús de IIS y manejar todos esos problemas y simplemente envío los archivos del sitio durante la implementación, o el desarrollador debe asumir la responsabilidad del servidor y los problemas de IIS y tratarlos en consecuencia?

Respuesta: encuentre a una persona y únala "WSA" (Administrador del servidor web) . Podrían ser un administrador o un desarrollador; Realmente no importa. Pero deben sumergirse en ambos aspectos del trabajo, y el resto del equipo (en ambos lados) debe respetar su experiencia.

No es diferente de cómo los DBA se ubican en la línea entre IT / dev. Dada la importancia de los servidores web en una organización con un producto basado en la web, creo que este es un rol crítico, y a menudo pasado por alto.

Dado que la web todavía es joven (en comparación con las bases de datos), es difícil reclutar a este individuo. Lo más probable es que necesites hacer crecer / preparar a alguien para el puesto.


0

Con nuevas utilidades como la Herramienta de implementación web (que se convertirá en la forma estándar de publicar una aplicación web a partir de Visual Studio 2010), Microsoft parece estar encaminado a permitir que los desarrolladores o al menos los ingenieros de instalación elijan cosas como la configuración de IIS ( certs, configuración del grupo de aplicaciones, etc.). Se integran en el paquete de instalación de msdeploy y se aplican automáticamente al servidor IIS cuando el paquete se implementa en los servidores.

Parece un compromiso razonable. Los desarrolladores no anulan manualmente la configuración en los servidores de producción en vivo, y los administradores del sistema no tienen que tener el conocimiento específico de la aplicación web. Y, sin embargo, la configuración de IIS deseada es claramente visible para los administradores de sistemas que desean comprender lo que sucederá antes de instalar el paquete.


Buen punto. Incluso hoy, la configuración de <system.webserver> en IIS7 difumina la línea tradicional: los desarrolladores pueden tomar decisiones de tipo "sysadmin" en su web.config.
Portman
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.