Analisis experimentos - Sprint 3

Implementación de redundancia pasiva

Análisis

El sistema de alta disponibilidad de Heroku permite tener redudancia pasiva de forma automatica, sin tener que realizar ajustes al codigo del sistema, lo que significa que se pueden obtener mejores niveles de uptime (sin garantia de Heroku).

Costos

Los planes que incluyen el sistema de alta disponibilidad son el Enterprise y Premium, lo que significa que los dynos deben tener un costo minimo de $25 dolares por instancia. Actualmente el sistema funciona con uno en web y uno en worker, por lo que dicho sistema costaría $50 dolares mensuales.

Implementación monitoreo de componentes de software

Análisis

Para la prueba 1 se puede evidenciar en los logs, que una vez la aplicación pierde la conexión con RabbitMQ, procede a intentar recuperarla, en este punto, los mensajes que estaban encolados, y las nuevas solicitudes son enviadas a través de JMS.

En la prueba 2, para efectos del experimento, no se estaba ejecutando la instancia Worker, por esta razón todos los reportes estaban encolados en RabbitMQ, esperando a ser procesados. Una vez se perdió la conexión con la cola, la aplicación recuperó los mensajes que no fueron enviados utilizando el caché en Redis, y los envió a través de JMS. Las nuevas solicitudes de reportes, también fueron enviadas a través de JMS, ya que la aplicación aún no había recuperado la conexión con RabbitMQ.

Costos

No habría un costo asociado a dicha implementación, puesto que la cola adicional de JMS se debe correr sobre el mismo dyno existente para la aplicación web.

Implementación monitoreo de componentes de hardware

Análisis

Se pudo comprobar que el sistema de HappyApps es capaz de avisarle a los interesados acerca de fallas de disponibilidad en la aplicación web de CCT, por lo que será posible conocer el estado de RabbitMQ, Redis y de los servidores sin necesidad de estar monitoreandolos manualmente. El intervalo de chequeo de las aplicaciones es de 5 minutos, por lo que en el peor caso se podría tener una demora de 4:59 segundos para detectar un fallo (sumandole lo que le tomaria al ingeniero arreglarlo) lo que podría significar 5 de los 21.56 minutos que el sistema puede estar fuera de linea en un mes.

Costos

Con el fin de no comprometer la disponibilidad del sistema se recomienda adquirir el plan básico de HappyApps, mediante el cual se podrá tener monitoreo cada minuto lo que reduciria sustancialmente el tiempo de detección de errores para así responder oportunamente. Se considera que el costo de $10 dolares mensuales podría ser facilmente cubierto por CCT.

Implementación revisión de calidad del software

Análisis

SonarQube detectó 3 vulnerabilidad criticas al comienzo del Sprint relacionadas con el manejo de excepciones (lo que podría comprometer la disponibilidad) estas fueron arregladas para mejorar el uptime del software. Adicionalmente, se arreglaron 36 bad smells (malas practicas) con lo que se mejoró la calidad del codigo y la deuda técnica del sistema. Finalmente, Sonar no encontró bugs desde la implementación inicial, por lo que no tuvimos que arreglar errores sobre los mismos.

Costos

No habría un costo asociado a este implementación, puesto que SonarQube es software open source que puede ser corrido localmente.

results matching ""

    No results matching ""