Escenario: Configurar un entorno de ensayo para la implementación web

por Jason Lee

En este tema se describe un escenario típico de implementación web para un entorno de ensayo y se explican las tareas que debe completar para configurar un entorno similar.

Muchas organizaciones usan entornos de ensayo para obtener una vista previa de las actualizaciones de aplicaciones web o sitios web. Esto ofrece a las personas de la organización la oportunidad de explorar y revisar nuevas funcionalidades o contenido antes de que el sitio "se active", o en otras palabras, se implemente en un entorno de producción. El entorno de ensayo está diseñado para replicar el entorno de producción lo más cerca posible, con el fin de proporcionar una vista previa realista. Este tipo de entorno de ensayo suele tener estas características:

  • El entorno consta de varios servidores web con equilibrio de carga y uno o varios servidores de bases de datos, a menudo con clústeres de conmutación por error y creación de reflejo de la base de datos.
  • Un equipo de desarrollo puede implementar las aplicaciones manualmente, o de manera automática mediante un servidor de Team Build.
  • Es poco probable que los usuarios o las cuentas de proceso que implementan las aplicaciones tengan privilegios de administrador en los servidores de ensayo.
  • En las aplicaciones se implementan cambios con frecuencia, por lo que el entorno debe admitir implementaciones de un solo paso o automatizadas.

Nota:

El escalado horizontal de una implementación de base de datos en varios servidores está fuera del ámbito de este tutorial. Para más información sobre esta área, vea Libros en pantalla de SQL Server.

Por ejemplo, en el escenario del tutorial, Team Foundation Server (TFS) administra la solución Contact Manager. El administrador de TFS, Rob Walters, ha creado una definición de compilación que permite a los desarrolladores desencadenar una implementación en el entorno de ensayo según sea necesario.

The TFS administrator, Rob Walters, has created a build definition that lets developers trigger a deployment to the staging environment as required.

Tenga en cuenta que, en la mayoría de los casos, no querrá implementar necesariamente la compilación más reciente en el entorno de ensayo. En su lugar, es mucho más probable que quiera implementar una compilación específica que ya se haya sometido a validación y comprobación en el entorno de prueba.

Información general de la solución

En este escenario, puede deducir estos hechos a partir de un análisis de los requisitos de implementación:

  • La cuenta de usuario o proceso que realiza la implementación no tendrá privilegios de administrador en los servidores de ensayo, por lo que los servidores web de ensayo deben admitir la implementación realizada por un usuario que no sea administrador. Por tanto, deberá configurar los servidores web de ensayo para usar el controlador de Web Deploy en lugar del agente remoto.
  • El entorno de ensayo incluye varios servidores web, pero debe admitir una implementación automatizada o con un solo clic, por lo que deberá usar el marco de granja de servidores web (WFF) para crear una granja de servidores. Con este enfoque, puede implementar una aplicación en un servidor web (el servidor principal) y WFF replicará la implementación en todos los demás servidores web del entorno de ensayo.
  • La cuenta de usuario o proceso que realiza la implementación debe tener permisos para crear bases de datos. Por tanto, deberá agregar la cuenta al rol de servidor dbcreator en el servidor de bases de datos, además de configurar el servidor de bases de datos para admitir el acceso remoto y la implementación.

En estos temas se proporciona toda la información que necesita para completar estas tareas:

Lecturas adicionales

Para obtener instrucciones sobre cómo configurar un entorno de ensayo típico, vea Escenario: Configuración de un entorno de ensayo para la implementación web. Para obtener instrucciones sobre cómo configurar un entorno de producción típico, vea Escenario: Configuración de un entorno de producción para la implementación web.