Entrega 7: Monitoreo y logs

Siendo este el ultimo post de nuestra experiencia en el desarrollo de el sitio web BuenosPlanes para la materia Electiva I “entregas continuas”, deja como enseñanza las dificultades y ventajas de un trabajo en equipo, además la cantidad de herramientas que son útiles en cada proceso de desarrollo de un proyecto, y las buenas prácticas que se pueden adoptar al utilizar este tipo de herramientas.

Gracias a esto, se ha aprendido a ser un desarrollador más limpio, mas organizado, y más atento, para tener un mayor control sobre los que desarrollemos.

En esta última entrega realizamos las mayor parte de correcciones y cambiamos muchas cosas de la parte gráfica de nuestra página: como por ejemplo filtrar la búsqueda de planes en categorías como salir a comer, dar un paseo, beber algo, sitios de interés, tomar un respiro; todo lo anterior por ciudades. La cual orientamos a un entorno visual moderno, fácil de usar y más organizado.

Filtrado por categorias y ciudad de planes

Utilizamos herramientas como Materialize que nos ayudó bastante en la parte visual, librerías como JQuery, Ajax las cuales nos permitieron realizar una estructura en desarrollo orientada a servicios.

Diagrama de despliegue buenos planes

Realizamos un desacople entre varios servidores, en donde un servidor se encargaba de alojar la base de datos, otro de alojar los servicios web, y otro de alojar los archivos JavaScript y HTML que serán los que se mostraran del lado del usuario.

Diagrama de componentes buenos planes

Con el fin de modularizar la página web se ha venido pasando todo el frontend a html y js y el back end a web service, lo cual js y html se parece mucho a lo que se hace en Android con java y xml a mi parecer, y es mucho más cómodo usar js en vez de php.

Y algo que es raro que no hagan en otras páginas donde toca llenar muchos campos, es lo que añadimos para los nuevos planes, que con la API de google maps con solo las coordenadas nos devuelve mucha información de la cual sacamos la ciudad de donde están las coordenadas y con esto asigna el lugar del plan. Con esto hasta el código postal se podría llenar con tan solo oprimir un botón se ahorraría parte del proceso tedioso de estar llenando los mismos campos siempre.

Para esta nueva entrega, a pesar de que se hicieron cosas pequeñas, como el monitoreo el cual con la primera herramienta que se probó, “DataDog” resulto ser mucho más compleja y con más funciones de lo que se necesitaba, esta herramienta es muy completa monitorea casi cualquier cosa desde casi cualquier lado (AWS, Azura, apache, MySQL…) lo cual para solo saber si nuestra página estaba online no era apropiado, muchos de los demás servicios pedían en la suscripción una tarjeta, la cual ni con un generador dejaba pasar… Pero http://www.freesitestatus.com no pide mucho para la cuenta, tiene más cositas como ver la latencia de otros lugares y se puede realizar el monitoreo de un servidor y pagina web desde 1 minuto en adelante, sin cobrar y hasta el momento sin límite.

En esta última entrega se requiere de monitorización de la aplicación por si habían errores dentro de la misma y se les notificara a los desarrolladores, para esto se utiliza la herramienta online http://www.freesitestatus.com/es/. El cual monitorea la pagina cada 5 minutos en busca de anormalidades en la aplicación.

Se ingresa en esta página , y se ingresa la dirección de aplicación web que estamos desarrollando:

Herramienta online de monitorización

Además se ingresa un nombre y correo al cual se le enviara por parte de esta herramienta los errores encontrados, si es que los hay

Inicio de registro

Se enviará un código de verificación al correo del desarrollador para darle de alta

Verificación de correo

Se completa un registro, en la parte de abajo esta las preferencias de envío de correo de los resultados del monitoreo.

Registro usuario

A continuación se elige el tipo de test, en este caso elegimos el de monitorizar la pagina web

Elección de tipo de test

Se llena el siguiente formulario en el que se elige el tiempo de intervalo de monitorización:

Fin de registro

Esta herramienta tiene el inconveniente que solo se permite hacer la monitorización de la aplicación por una persona del equipo de trabajo

Mensaje de error aplicación