Experimentos de Arquitectura - dfgoUniandes/proyecto-final-uniandes-grupo-02 GitHub Wiki

Experimento 1 - Disponibilidad

Propósito del experimento.

Comprobar y verificar el funcionamiento de la táctica de arquitectura para la detección de fallas, Monitor; enfocada en disponibilidad de la comunicación asíncrona .

Resultados esperados.

Se espera que con el experimento se pueda verificar el estado de vida de los componentes el 100% de las veces

Recursos requeridos.

Servidor de aplicación (Despliegue de Microservicios), Flask.

Elementos de arquitectura involucrados.

  • Monitor, verificar el estado de los componentes.
  • Microservicios. Se encuentran en la vista funcional.

Modelos DermoApp - Vistas-Información drawio

Como elementos involucrados en la arquitectura del experimento propuesto, mediante la vista de información como mecanismo para expresar las decisiones de diseño, de esta forma se pueden buscar los componentes que pueden comprometer la disponibilidad del sistema.

API Gateway, Servir como punto único de superficie de entrada al sistema que por medio del patrón de fachada ocultar los microservicios al mismo tiempo que aloja el componente monitor.

Monitor, verificar el estado de los componentes por medio de la táctica de ping - echo.

Microservicios, al hacer uso de microservicios se busca favorecer la disponibilidad de cada microservicio y del sistema en general ya que al presentarse una falla en uno no debería afectar el comportamiento de los demás.

Esfuerzo estimado

60 Horas

Distribución de esfuerzo

Integrante Tareas a realizar Esfuerzo estimado
Diego F. Garcia O Realización de tareas relacionadas a la creación, integración e implementación de microservicio Sincronizador. Apoyo transversal. 15 Horas
Jorge E. Pacheco R. Realización de tareas relacionadas a la creación, integración e implementación de microservicio de instancia de registro de información.  15 Horas
Oscar E. Cortes Medina Realización de tareas relacionadas a la integración, ejecución e implementación API Gateway 15 Horas
Javier Elkin Rativa Realización de tareas relacionadas a la creación, integración e implementación de microservicio de instancia de verificación de táctica monitor. 15 Horas

Hipótesis de diseño

Punto de sensibilidad

Componente monitor

Historia de arquitectura asociada

Todas

Nivel de incertidumbre

Medio-Alto: 8

Estilo de arquitectura basado en microservicios.

Atributos favorecidos

  • Disponibilidad
  • Bajo Acoplamiento

Atributos desfavorecidos

  • Complejidad en la gestión de los MS

Tácticas de Arquitectura asociadas al experimento

Monitor

image

Usar un componente monitor dentro del API Gateway para revisar el estado de cada uno de los microservicios por medio de la táctica de ping - echo. El experimento se centrará en la configuración de la técnica desde el API Gateway y como esta manejara los eventos recibidos de cada microservicio

Listado de componentes (Microservicios) involucrados en el experimento

Monitor - API Gateway

El propósito del monitor es vigilar el estado de los microservicios presentes en el sistema y generar un diagnóstico de estos y a partir de esto tomar decisiones de escalabilidad.

Reportes

Generar los reportes necesarios para el médico. Para el experimento se espera que este MS responda su estado de salud mediante el endpoint de /health

Notificaciones

Generar notificaciones a los pacientes cuando se realiza un diagnóstico. Para el experimento se espera que este MS responda su estado de salud mediante el endpoint de /health.

Tecnología asociada con el experimento

  • Lenguajes de programación utilizado: Python: Facilita la construcción y la implementación del modelo propuesto

  • Plataforma de despliegue: Localmente: Para el desarrollo del experimento se trabajará de forma local.

  • Herramientas de análisis: POSTMAN, Swagger: Herramientas necesarias para realizar las peticiones y la documentación de los microservicios.

  • Librerías: Requests, Collections: Librerías necesarias para implementar los microservicios y realizar los llamados además microservicios y cola de mensajería.

  • Frameworks de desarrollo: Flask: Framework de desarrollo necesario para la implementación de los microservicios necesarios.