2009-06-04 9 views
12

Al desarrollar una aplicación web para terceros, es una buena idea utilizar varios entornos para realizar pruebas. Sin embargo, los diferentes equipos de desarrollo tienen diferentes definiciones para el significado de cada entorno.¿Cuál es la definición de un entorno de etapas cuando se desarrollan aplicaciones web?

Actualmente, me gusta mantenerlo simple, y tengo un entorno de desarrollo (mi máquina local), un entorno de preparación (alguien antes de implementar mi aplicación en el mundo), y luego a la producción. Aunque puede haber valor en más entornos, voy a seguir con estos tres por ahora.

Mi pregunta principal es:

¿Qué propiedades sería apropiado cuando se define un entorno de ensayo?

Sin embargo, he aquí algunas preguntas relacionadas:

  • ¿El servidor web tiene que ser en una máquina física separada de la base de datos?
  • ¿La base de datos tiene que ser exactamente idéntica a la base de datos de producción?
  • ¿Puede el entorno de transición bajar para mantenimiento?
  • ¿Se puede utilizar el entorno de ensayo para probar nuevas características (es decir, un entorno de prueba beta)?
+2

Gran pregunta: me parece que hay mucha información sobre el desarrollo, pero poco sobre la implementación y la configuración de un entorno. – harpo

Respuesta

10

Le sugiero que su entorno de ensayo se asemeje lo más posible a su entorno de producción.

Si utiliza servidores distintos para la base de datos y el servidor Web, trate de mantener que en la organización, así, si se utiliza un equilibrador de carga, intente configurarlo para la puesta en escena, así, etc.

En mi experiencia, sin embargo, este no fue el caso, y nuestro entorno de ensayo siempre fue menos poderoso en términos de hardware que el entorno de producción. El problema con esto es que no puede probar todas las funciones y asegurarse de que la producción funcione de la misma manera.

En cuanto a sus otras preguntas:

  • estadificación por lo general puede ir hacia abajo cuando es necesario, puede tener un horario más flexible para que, al instalar nuevas versiones.
  • Tuvimos casos en los que instalamos más de una instancia de la aplicación en etapas. Uno parecido a la versión en producción y otro con nuevas características para que el cliente lo pruebe.
10

Para mí, la implicación en "puesta en escena" es que está a punto de implementarse en producción, por lo que necesita un entorno que imite lo más posible el entorno de producción para minimizar cualquier problema que pueda surgir como resultado directo de diferentes ambientes. Por ejemplo, los entornos de desarrollo y prueba pueden tener ciertas utilidades que el entorno de producción no tiene, o el entorno de producción puede tener permisos más estrictos y autenticación que podrían causar problemas con su aplicación.

Como tal, un entorno de ensayo ideal es aquel que es un clon exacto del entorno de producción (aunque sin acceso público). Si está utilizando servidores virtualizados, esto debería ser casi trivial.De lo contrario, el entorno debería imitar lo más posible el entorno de producción (la aplicación debe implementarse en la misma ruta, los permisos deben ser idénticos, los archivos de configuración deben ser copias de la producción, etc.). Para responder a sus preguntas:

  • ¿El servidor web debe estar en una máquina física aparte de la base de datos? Si así es como está en producción.
  • ¿La base de datos tiene que ser exactamente idéntica a la base de datos de producción? Estructura exacta, se puede completar con valores ficticios.
  • ¿Puede el entorno de transición bajar para mantenimiento? Sí.
  • ¿Se puede usar el entorno de ensayo para probar nuevas características (es decir, un entorno de prueba beta)? No, para eso usaría un entorno de desarrollo o prueba. La estadificación debe ser para las características que entrarán inmediatamente en producción (es decir, un entorno "candidato de lanzamiento").
2

"¿Qué propiedades serían adecuadas al definir un entorno intermedio?"

La pila de tecnología debe ser la misma. De hecho, debería ser capaz de clonar etapas para reconstruir la producción.

"¿El servidor web tiene que estar en una máquina física aparte de la base de datos?"

Para la puesta en escena? No necesariamente. Si su gestión de configuración es sólida como la roca, entonces tendrá todas las configuraciones necesarias. parámetros en etapas y corregirlos correctamente al pasar a producción.

Si su CM no es sólido como una roca, necesitará organizar para tener la misma arquitectura física que la producción para que pueda realizar cambios en la configuración.

"¿La base de datos tiene que ser exactamente idéntica a la base de datos de producción?"

Depende del caso de uso. Si está actualizando la base de datos, entonces no pueden ser idénticos.

Si no está actualizando la base de datos, serán idénticos.

"¿Se puede reducir el entorno de ensayo por mantenimiento?"

¿Por qué no?

"¿Se puede usar el entorno de ensayo para probar nuevas características (es decir, un entorno de prueba beta)?"

Tiene que ser utilizado para esto. ¿De qué otra manera haces una actualización?

0

Un entorno de escenario o escenario es un entorno de prueba que se asemeja exactamente al entorno de producción. En otras palabras, es una copia completa pero independiente del entorno de producción, incluida la base de datos. La estadificación proporciona una base real para las pruebas de control de calidad, ya que reproduce con precisión lo que está en producción. Un entorno de estadificación bien implementado permite definir los estándares importantes y probarlos con precisión.

Ahora, considere un equipo de prueba que ejecuta todas sus pruebas en un entorno de no producción. Por ejemplo, en la mayoría de las organizaciones de desarrollo de software, existen múltiples entornos para la codificación de desarrollo y las pruebas de control de calidad en el camino hacia una versión de producción. Sin embargo, ni el desarrollo ni el entorno de prueba QA tienen exactamente lo que hace el entorno de producción. Necesita ayuda, por favor visite nuestro Custom Web Application Development Services

Cuestiones relacionadas