2Doc_Objetivos_Requisitos - iesgrancapitan-proyectos/202324ASIR-Junio-Microservices-and-CI-CD-Pipeline-Builder GitHub Wiki

2. Objetivos y requisitos

En este proyecto el objetivo es dividir la aplicación monolítica en microservicios, de modo que pueda escalar los servicios de forma independiente y asignar más recursos de cómputo a los servicios que experimentan la mayor demanda, con el objetivo de evitar cuellos de botella.

Además, se tendrá que desarrollar una canalización CI/CD para implementar automáticamente actualizaciones en el clúster de producción que ejecuta contenedores, utilizando una estrategia de implementación azul/verde.

La solución debe cumplir los siguientes requisitos:

  • Diseño: la solución debe tener un diagrama de arquitectura.

  • Costo optimizado: la solución debe incluir una estimación de costos.

  • Arquitectura basada en microservicios: asegurarse que la solución es funcional y que implementa una arquitectura basada en microservicios.

  • Portabilidad: la solución debe ser portátil para que el código de la aplicación no esté sujeto a ejecutarse en una máquina host específica.

  • Escalabilidad/resiliencia: La solución debe proporcionar la habilidad para aumentar la cantidad de recursos de cómputo que se dedican a atender solicitudes a medida que cambien los patrones de uso, y debe utilizar una lógica de enrutamiento que sea fiable y escalable.

  • CI/CD automatizado: La solución debe proporcionar una canalización CI/CD que pueda invocarse automáticamente cuando el código se actualiza y se envía a un repositorio de código de versión controlada.