Está en la página 1de 6

1

Foro. Implementar la arquitectura de

software al caso de estudio y proyecto a desarrollar

GA4-220501095-AA3-EV02

Lucas Salazar villa

Técnicos y tecnologías de modalidad titulada virtual, Sena

2834906: Análisis y desarrollo de software

Mtro. Jorge Eliecer Niño Ochoa

16 de mar. de 24
2

¿Qué es arquitectura de software?

La arquitectura de software el es diseño del mas alto nivel de una estructura de un sistema, el
cual consiste en un conjunto de componentes y atracciones que proporcionan un marco claro
para la implementación de un sistema.

¿Por qué selecciono la arquitectura propuesta?

mi modelo de arquitectura elegido es orientada a MICROSERVICIOS, porque me deja


descomponer el proyecto en pequeños servicios y los puedo escalar de manera independiente.

Factores adicionales:

 Fácil mantenimiento.
 Despliegue ágil.
 Gran capacidad de almacenamiento de datos.
 Fácil testeo.
 Infraestructura automatizada.

¿Cuáles fueron los elementos de diseño primordiales?

los elementos de diseño primordiales son:

 La facilidad de mantenimiento. Ya que esto me permite garantizar el correcto desempeño


de la aplicación.
 Fácil testeo. Puedo identificar de manera fácil donde se encuentra el error.

¿Cómo contribuyen estos elementos a la eficiencia, escalabilidad y


mantenibilidad del sistema?

 Descomposición modular: dividen la aplicación en pequeños componentes autónomos y


cada uno de ellos se enfoca en una función específica.
 Escalabilidad horizontal: puede escalar cada microservicio por separado según la
necesidad.
 Mantenibilidad simplificada: los servicios son autónomos y autocontenidos, si necesitas
hacer cambios o correcciones puedes hacerlo a un servidor sin afectar los otros.
3

¿Existen alternativas viables a la arquitectura seleccionada?

claro existen alternativas que pueden ser adecuadas a las necesidades del proyecto como:
 Arquitectura monolítica
 Arquitectura de eventos
 Arquitectura de capas

¿Cómo se comparan estas alternativas en términos de desempeño, costos y


flexibilidad?

1. Desempeño.
 Arquitectura de microservicios:

Ventajas:

-Escalabilidad horizontal: Puede escalar servicios individualmente según la demanda.

-Aislamiento de fallos: Un fallo en un servicio no afecta a otros.

-Rendimiento optimizado para funciones específicas.

Desventajas:

-Mayor latencia debido a la comunicación entre servicios.

-Overhead de comunicación y coordinación.

 Arquitectura monolítica:

 Ventajas:

-Menor latencia interna, ya que no hay comunicación entre componentes.

-Menos complejidad en la gestión de múltiples servicios.

 Desventajas:
4

-Dificultad para escalar partes específicas.

Mayor riesgo de fallos globales.

2. Costos

Arquitectura de Microservicios:

 Ventajas:

-Puede optimizar recursos al escalar solo los servicios necesarios.

-Mayor flexibilidad para elegir tecnologías más económicas.

 Desventajas:

-Mayor complejidad operativa y de mantenimiento.

-Costos adicionales para la infraestructura de comunicación.

Arquitectura Monolítica:

 Ventajas:

Menor costo inicial de desarrollo y mantenimiento.

Menos recursos para administrar.

 Desventajas:

-Mayor costo a largo plazo debido a la falta de escalabilidad.

-Mayor riesgo de costos de fallos globales.

3. Flexibilidad:

Arquitectura de Microservicios:

 Ventajas:

-Mayor flexibilidad para elegir tecnologías y herramientas específicas para


cada servicio.

-Facilita la innovación y la adopción de nuevas tecnologías.

 Desventajas:
5

-Mayor complejidad en la gestión de múltiples servicios.

-Requiere una planificación cuidadosa para evitar acoplamientos


innecesarios.

Arquitectura Monolítica:

 Ventajas:

-Menos complejidad en la elección de tecnologías.

-Mayor cohesión entre componentes.

 Desventajas:

-Menos flexibilidad para adaptarse a cambios futuros.

-Dificultad para adoptar nuevas tecnologías.


6

También podría gustarte