Pregunta

Supuesto: la aplicación web en vivo / producción suprime los errores que se muestran a los usuarios finales.

Suponga que su equipo de soporte técnico desea ver datos en vivo pero a través de los ojos del lado del desarrollo de la aplicación (tal vez quiera ver qué errores están ocurriendo o ver cuándo tiene un problema solucionado usando un datos del usuario final).

En este momento tenemos una base de datos que sirve tanto a los cuadros de desarrollo como a los en vivo (no es mi idea, sé que es asqueroso).

Ideas?

Editar : ¿Las mejores / prácticas herramientas para implementar su sugerencia?

¿Fue útil?

Solución

Repetimos los datos a una base de datos diferente. Sí, hay un retraso, pero mantiene a las personas fuera de los servidores de producción. Esto también nos permite & Quot; ocultar & Quot; información que el soporte técnico (y otras personas) no deben ver.

Otros consejos

Además de replicar los datos, en producción, vemos quién inició sesión en la aplicación y, si es miembro de la compañía, envíalos a la página de error real en lugar del gatito feliz jugando con una bola de hilo disculpándose. / p>

Realice copias de seguridad y restaure de live a dev de forma regular (una vez, dos veces al día). No es necesario que sea en tiempo real (ya que de todos modos podría estar ingresando datos desde el lado del desarrollador, lo que podría causar problemas).

Si tiene datos PCI o HIPAA, asegúrese de no ponerlos en su entorno de desarrollo, ya que eso podría infringir las leyes.

Generalmente me gusta tener un sistema de 3 niveles para el desarrollo web:
Desarrollo
Prueba
En vivo

La mayoría de las veces la prueba es una copia exacta del sistema en vivo, excepto que los errores están activados, cuando una nueva versión está a punto de ser movida en vivo, se reemplaza con la nueva versión ANTES de en vivo, para detectar problemas de actualización.

El desarrollo está completamente separado de live, para permitir cambios importantes en cosas como la base de datos o cambios en el entorno de producción.

En primer lugar, cometería errores que se envían por correo electrónico a alguien con detalles de cómo llegó el usuario o, como mínimo, se registra para que pueda ver el registro de errores mientras realiza acciones similares para ver si recibe los mismos mensajes en el registro.

Y sí, copiar la base de datos en el servidor / sitio de desarrollo es probablemente su única opción. No desea que el equipo de desarrollo realice ningún cambio en los datos en vivo y probablemente también tendrá cambios que no funcionarán con la base de datos de producción en algún momento.

No recomendaría hacer una copia nocturna ya que un desarrollador podría estar en medio de alguna nueva característica en la que agregaron datos y luego se borraron esa noche. Usualmente copio la (s) base (s) de datos de producción cada vez que se lanza una versión principal. Esto también me permite hacer pruebas de velocidad con muchos datos en vivo. En algunos sistemas, también cambio la contraseña de todos a una predeterminada para poder iniciar sesión fácilmente como cualquier usuario.

Si su configuración lo permite:

a. Agregue una función de registro (si aún no existe) para escribir mensajes de interés en un archivo de registro.

b. Ejecute el comando unix

cola -f < logfile.txt

que transmitirá el archivo de registro creciente a su consola.

http://www.monkey.org/cgi-bin/man2html?tail

Si tiene Windows, puede probar esto:

http://tailforwin32.sourceforge.net/

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top