7 votos

¿Qué necesita un desarrollador saber acerca de Windows Server?

Soy un desarrollador certificado y hacer un montón de desarrollo de Sharepoint en el trabajo. Agregar/editar/eliminar usuarios requiere el uso de AD y por supuesto, nada que ver con la estructura del sitio en Sharepoint tiene una relación con IIS.

Como desarrollador, ¿qué necesito saber acerca de IIS y Active Directory y Windows Server como un todo? Una de las cosas que me pregunto es ¿cómo puedo hacer que un usuario incluirse en varios grupos?

Gracias

6voto

Laura Thomas Puntos 2340

La comprensión de Active Directory: Cualquier usuario puede en muchos grupos de ANUNCIOS, el problema es cómo llegar allí. Hacerlo a través de programación es posible y bastante fácil, pero la pregunta es ¿su política de seguridad permiten ese tipo de cosas? Quién controla el ANUNCIO en el que está la aplicación que se va a implementar y la fuerza con que tiene más que ver con ese tipo de cosas de la técnica real los detalles de la adición de personas a los grupos. Estas son las grandes preguntas a empezar a hacer antes de llegar a las pruebas de la fase.

Lo mismo va para IIS. Las cuestiones políticas son casi siempre mayores que los de carácter técnico. De hacer lo que puede y no puede hacer sin levantar un escándalo, es un gran comienzo. El uso de los directorios virtuales y sitios virtuales es otra buena cosa para conseguir su cabeza alrededor.

Y mientras usted está pidiendo, aquí hay un par de cosas más que me gustaría que más desarrolladores se han interesado en la comprensión.

Un servidor no es permanente e inmutable de la entidad, el hardware se sustituye, ISPs cambio, las unidades de relleno.. no codificar cosas como absoluta archivo de rutas, direcciones IP y nombres de servidor.

Otro grande es saber lo que su aplicación necesita para funcionar. En un servidor que nadie quiere tener que instalar todas las campanas y silbidos que nunca, porque el desarrollador no puede decir que lo que están llamando. Una App que vive en la memoria, para mí, es uno donde terminé de instalar MSSQL Server 2005 en un servidor web sólo porque el código no funcionaría sin él. Con el tiempo (meses y horas de trabajo más tarde) nos dimos cuenta de lo que estaba pasando y cómo evitar que. Si no hubiera sido tan importante de una aplicación con la influencia detrás de ella me hubiera empujó hacia atrás y dijo: "absolutamente no, porque eso es un ENORME riesgo para la seguridad"

Ese tipo de cosas causan un sin fin de solucionar problemas de dolores de cabeza en la parte final. "Funciona en mi máquina" sólo son de gran ayuda, porque es probable que tenga un montón más herramientas en su máquina que queremos instalar en un servidor. También un entorno de prueba debe estar tan cerca como sea posible de la producción para eliminar este tipo de problemas.

5voto

Adam Brand Puntos 4827

Desde mi experiencia, estas son las áreas que desean que los devs nuevo más acerca de:

IIS. Especialmente importante para ASP.Net apps. Algunas áreas clave para buscar en:

  1. Enlace de IP y los Encabezados de Host. Cuando se crea un nuevo sitio de IIS, asegurándose de que usted sabe cómo configurar la IP y los encabezados de host correctamente.

  2. Configuración Del Grupo De Aplicaciones. Hay un número de opciones que el impacto de su aplicación, incluyendo los valores de tiempo de espera y el reciclaje. Asegúrese de entender cómo éstas pueden incidir en sus sesiones.

  3. La Habilitación De Los Métodos. Si usted está haciendo una API REST, saber cómo habilitar métodos adicionales como PONER.

  4. Los Certificados SSL. Entender cómo instalar un certificado SSL y cómo el proceso de obtención de un certificado de obras.

  5. Ajustes De Rendimiento. Asegúrese de saber cómo habilitar GZIP, deshabilitar e-etiquetas, configurar la caducidad del contenido, y establecer los encabezados de caché. Usar Fiddler para ver cómo IIS está respondiendo a las solicitudes. Usted puede mejorar dramáticamente el rendimiento de la aplicación con unos pocos cambios simples.

WCAT. Relacionados con IIS, pero entender cómo configurar WCAT y establecer las pruebas de carga para su aplicación. De esa manera usted puede tener datos duros sobre la aplicación del tiempo de respuesta y limitaciones.

Los permisos. Entender qué permisos necesita estar en lo de las carpetas en su aplicación. Por ejemplo, si su aplicación se escribe en una carpeta, haga usted necesita dar NETWORK_SERVICE acceso a esa carpeta?

Firewall De Windows. Parece básico, pero especialmente para Windows Server 2008, entender cómo agregar una entrada para el servidor de seguridad, configure el puerto, establecer el ámbito de aplicación, etc.

Servidor SMTP. Entender cómo instalar, configurar y solucionar problemas de Windows del Servidor SMTP. Usted también puede desear mirar en HMailServer como una alternativa al uso con sus aplicaciones. También, lee sobre el filtrado de SPAM y la forma correcta de crear mensajes de correo electrónico (adecuada de, para, mensajes concatenados, etc).

SQL Server IP y Puerto de la Unión. No directamente relacionados a Windows Server, pero no es mucho. Entender cómo configurar SQL Server para enlazar a una IP y puerto específico. Saber la diferencia entre la dinámica y la estática de los puertos, cómo configurar y conectar a los puertos no estándar, cómo construir las cadenas de conexión utilizando los nombres de instancia y puertos personalizados.

Muchos de los artículos en la lista de arriba están en el dominio de los Administradores de Servidor, pero puede hacerse mucho más valioso si usted puede entender y solucionar los problemas de estas áreas.

1voto

Kara Marfia Puntos 6914

Hmm, esto podría ser en realidad una stackoverflow.com pregunta (para obtener respuestas de otros programadores). Si usted se está preguntando lo que un sysadmin posible que desee a los programadores saben, yo diría que:

  • Supervisión del rendimiento - el más fácil su código se encuentra en el hardware, el mejor

  • Entender (y documento) cómo el código interactúa con diferentes versiones de IIS y Sharepoint

En cuanto a su pertenencia al grupo pregunta, yo uso la interfaz gráfica de usuario o DSADD - pero usted está probablemente en busca de código? Podemos obtener esta pregunta se migran al sitio de la hermana si realmente estaban buscando programador de entrada.

1voto

Zan Lynx Puntos 23100

Me gustaría recomendar a sabiendas de 32-bits y 64-bits y la cantidad de memoria de tus aplicaciones (web, a través de IIS o winforms) puede consumir. También me gustaría mirar en IIS7 específicamente para todas las interfaces, eventos y en general, el acceso a la canalización de procesamiento que puede tomar ventaja de los servicios de windows.

Active Directory (AD) conocimiento general es sin duda útil si su aplicación requiere para la autenticación. Ser consciente de las cuentas y los permisos de las aplicaciones web y winforms o general, todas las aplicaciones tienen que ejecutarse bajo una cuenta de active directory. IIS todos los procesos que se ejecutan bajo *IUSR_machinename* y recursos compartidos de archivos también están obligados por la seguridad de los derechos. Puede parecer intrascendente durante el desarrollo, ya que nadie puede pensar en el tema, pero los dominios de Windows están atados por AD y sus permisos/Acl afectan a todo el interior del dominio. Sólo algo para hacer una nota de. Nota: También las políticas de ANUNCIOS puede afectar a las aplicaciones.

También me gustaría recomendar el trabajo con la EventLogging (por los errores y la aplicación de mensajes) dentro de el .NETO de la plataforma como algunas de las aplicaciones que he trabajado tuvimos que crear nuestro propio (error) sistema de registro de todo el tiempo que hemos tenido el visor de Sucesos de Windows disponibles para nosotros. No le fue difícil en la creación de un sistema de registro, pero ¿por qué hacer más trabajo cuando el Registro ya está disponible?

También desde una perspectiva de aplicación, me gustaría mirar en Microsoft Message Queue server (MSMQ). Si tu aplicación/sitio tiene una gran cantidad de datos que se barajan a través de la base de datos y servidores web o necesita enviar datos a otros sistemas o aplicaciones, las colas es una técnica útil y MSMQ es libre y construido en Windows Server. MSMQ es una transaccional basado en el sistema de mensajería puede ser muy útil para aplicaciones que han dinámica de las necesidades de datos. Siento ser vago, pero para ir en MSMQ iba a tener un montón de esfuerzo y puede ser un exceso. Me gustaría recomendar la lectura acerca de MSMQ y el concepto general de la misma en MSDN o Wikipedia para empezar.

Espero que esto ayude!

Edit: me gustaría pedir a la pregunta específica sobre la adición de un usuario (supongo vía .NET) para los diferentes grupos en Stackoverflow, pero pensé que la pregunta general acerca de AD y Windows era apropiado para Serverfault.

1voto

Karg Puntos 585

Depende mucho de cuál es su papel.

Si usted tiene un Arquitecto / Desarrollador principal función, entonces usted necesita saber cómo el sistema va a trabajar en la producción.

Si usted está haciendo cualquier implementación que usted también necesita saber sobre las plataformas que se va a instalar.

Si usted es un desarrollador que acaba de llegar de tareas, como "escribir una función que hace x", usted no necesita saber mucho.

Lo interesante aquí es que el valor de mercado de un desarrollador que comprende las operaciones de lado, es mucho más que algunos que es sólo un desarrollador.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: