Está en la página 1de 5

Desarrollo de

Software
31/ 01 / 2024

Arquitectura de Software
¿QUÉ ES LA ARQUITECTURA DE SOFTWARE?
La arquitectura de software se refiere a la planificación y diseño abstracto
de sistemas informáticos antes de su implementación.
En este enfoque, se utilizan patrones de diseño, soluciones reutilizables
para problemas comunes en ingeniería del software, que guían la estructura
y la interacción de los componentes del sistema. Similar a la arquitectura
tradicional, este enfoque proporciona una guía teórica detallada para
entender cómo encajarán las piezas del software antes de su construcción.

VENTAJAS
Centralización - Todos los recursos disponibles se hayan centralizados en
un único punto, lo que hace más sencillo su administración y más difícil
para un cliente el uso de acciones dañinas.
Escalabilidad - Al funcionar de manera independiente es más sencillo
mejorar cada pieza de forma separada o añadir nuevos nodos a la red
creada.
Mantenimiento simplificado - Al funcionar de manera independiente y
con separación clara de responsabilidades, es más sencillo mantener
cada una de las piezas e incluso poder trasladar con sencillez el servidor
a nuevo hardware/software si fuera necesario.

DESVENTAJAS
Disponibilidad - Al depender de un servidor para satisfacer las peticiones
de los clientes se requiere que este esté activo y disponible en cada
momento, una caída del servidor o incluso una congestión debido a la
cantidad de peticiones de clientes resulta en una pérdida de
funcionalidad absoluta del servicio.
Requisitos - Debido a que debe satisfacer un gran número de peticiones,
el software y el hardware del servidor son determinantes a la hora de
usar este patrón.
Distribución - El cliente no posee físicamente el producto ni tiene acceso
a los recursos utilizados, cualquier caída del servidor implicará que el
cliente no pueda acceder a su trabajo en curso.
31/ 01 / 2024

CARACTERÍSTICAS
Representación de alto nivel de la estructura del sistema describiendo
las partes que lo integran.
Puede incluir los patrones que supervisan la composición de sus
componentes y las restricciones al aplicar los patrones.
Trata aspectos del diseño y desarrollo que no pueden tratarse
adecuadamente dentro de los módulos que forman el sistema.

DIAGRAMA CONCEPTUAL

EJEMPLO DE EJEMPLO REALES


Arquitectura de Microservicios en Netflix: Netflix utiliza una arquitectura
basada en microservicios para su plataforma de transmisión de video. Cada
función específica (como recomendaciones, reproducción, etc.) se
implementa como un servicio independiente, lo que facilita la escalabilidad,
el mantenimiento y la implementación continua.
31/ 01 / 2024

CONCLUSIÓN
La arquitectura de software, una fase crucial en la planificación de
proyectos, determina la hoja de ruta para el desarrollo. La elección de
patrones de diseño impacta en el tiempo, costo y capacidad de satisfacción
del usuario. Destacando la importancia de la inversión inicial en entrevistas,
evaluación de recursos y estimación de tiempo, se argumenta que esta
etapa acelera el desarrollo y evita problemas futuros. Se sugieren cursos
específicos como recursos para explorar nuevas herramientas y opciones en
arquitecturas modernas.

BIBLIOGRÁFICA
Huet, P. (2022, agosto 24). Arquitectura de software: Qué es y qué tipos
existen. OpenWebinars. https://openwebinars.net/blog/arquitectura-de-
software-que-es-y-que-tipos-existen/

Cc, A. (2022, agosto 24). ¿Cuál es la diferencia entre la arquitectura


monolítica y la de microservicios? Amazon.
https://aws.amazon.com/es/compare/the-difference-between-
monolithic-and-microservices-
architecture/#:~:text=Una%20arquitectura%20monol%C3%ADtica%20es
%20un,de%20datos%20dentro%20del%20sistema.

Formación, A. D. R. (2021, mayo 27). ¿Qué es una arquitectura cliente-


servidor? adr Formacion. https://nucba.medium.com/qu%C3%A9-es-la-
arquitectura-cliente-servidor-eb9f402506cc
ARQUITECTURA CLIENTE SERVIDOR
La arquitectura cliente-servidor es un modelo de diseño de software que
distribuye tareas entre servidores y clientes. Los clientes, como Chrome, se
ejecutan localmente, mientras que los servidores almacenan y proveen
datos de forma remota.

La base de datos persistente evita


pérdida de datos al salir del sitio.
JavaScript predomina en el lado del
cliente, mientras que en el lado del
servidor se usan diversos lenguajes
como PHP, Java, Ruby o Python,
incluso permitiendo servidores
basados en JavaScript con Node.js.
Este enfoque facilita la eficiente
distribución de tareas en aplicaciones
web y sistemas en red.

MONOLITICO
Una arquitectura monolítica es un modelo de desarrollo de software
tradicional que utiliza un código base para realizar varias funciones
empresariales. Todos los componentes de software de un sistema
monolítico son interdependientes debido a los mecanismos de intercambio
de datos dentro del sistema.

También podría gustarte