Evaluación 1er Parcial - A00102582

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

TEMA

Evaluación 1er. Parcial (Diseño de Arquitectura Web Server)

ASIGNATURA
Arquitectura de Desarrollo con Tec. Open Source

PROFESOR
Omar Gonzales

FECHA
12 de febrero de 2022 (Período Enero – Abril)

SUSTENTANTE
Josué A. Herrera Ortiz – A00102582
Introducción

La arquitectura de microservicios es un método de desarrollo de


aplicaciones software que funciona como un conjunto de pequeños servicios
que se ejecutan de manera independiente y autónoma, proporcionando una
funcionalidad de negocio completa. En ella, cada microservicio es un código
que puede estar en un lenguaje de programación diferente, y que
desempeña una función específica. Los microservicios se comunican entre
sí a través de APIs, y cuentan con sistemas de almacenamiento propios, lo
que evita la sobrecarga y caída de la aplicación.
Descripción del problema

Diseñar la Arquitectura de un Web Server cuyo atributo de calidad tenga


mayor peso en la Disponibilidad del Servicio. Considerando agregar
Failover y Redundancia en a la solución.

Descripción de la solución

La solución propuesta será una arquitectura de


microservicios en la que cada base de datos
será accedida por un microservicio, aislando de
esta forma la lógica de negocios referente a
cada una de esta base de datos y sirviendo
como adaptador para la estructura
implementada actualmente en los sistemas de
la empresa. Estos se comunicarán con la
Application Programming Interface (API), la cual será el punto de
comunicación para los clientes.

Con toda probabilidad los microservicios van a tener que estar


desplegados en entornos productivos en alta disponibilidad. Es decir,
desplegar varias instancias de un mismo microservicio en distintos
nodos/máquinas con el objetivo de que, si una de ellas se cae o falla,
poder seguir dando servicio con el resto de las instancias. Evitar el famoso
corte del servicio que puede provocar pérdidas de muchas formas
(monetarias, prestigio, etc.).

Otra característica que está estrechamente ligada a la


alta disponibilidad y tal vez uno de los grandes puntos
clave de estos sistemas de gestión de contenedores
es la autocuración o self healing. Ante un problema o
fallo de una instancia de un microservicio, los
sistemas tienen la capacidad de levantar
dinámicamente otros contenedores con las instancias
necesarias hasta llegar a cumplir los requisitos de
disponibilidad configurados en el sistema.
A nivel de desarrollo no hay ninguna duda de que la manera más ágil de
arrancar todas las piezas de una arquitectura es usando contenedores. Y
cada día más y más empresas utilizan esta solución también en
producción.

Está claro que el uso de contenedores y sus sistemas de orquestación es


un gran avance en el despliegue, gestión y monitorización de aplicaciones.
Permite una sencilla implementación de alta disponibilidad para tus
aplicaciones, aprovecha los recursos de las máquinas
contratadas/compradas y facilita la integración continua.

Redundancia en la solución propuesta

Los microservicios permiten que cada


servicio se escale de forma
independiente para satisfacer la
demanda de la característica de la
aplicación que respalda. Esto permite a
los equipos adecuarse a las necesidades
de la infraestructura, medir con precisión
el costo de una característica y mantener la disponibilidad si un servicio
experimenta un aumento en la demanda.

Este enfoque distribuido de administración de datos plantea algunos


desafíos. En primer lugar, puede haber redundancia a través de los
almacenes de datos, con el mismo elemento de datos que aparece en
varios lugares. Por ejemplo, se podrían almacenar los datos como parte de
una transacción y, a continuación, almacenarse en otra ubicación para
análisis, creación de informes o para archivarse.
Ventajas de la solución propuesta

● Modularidad: al tratarse de servicios autónomos, se pueden


desarrollar y desplegar de forma independiente. Además, un error en un
servicio no debería afectar la capacidad de otros servicios para seguir
trabajando según lo previsto.

● Escalabilidad: como es una aplicación modular, se puede escalar


horizontalmente cada parte según sea necesario, aumentando el escalado
de los módulos que tengan un procesamiento más intensivo.

● Versatilidad: se pueden usar diferentes tecnologías y lenguajes de


programación. Lo que permite adaptar cada funcionalidad a la tecnología
más adecuada y rentable.

● Rapidez de actuación: el reducido tamaño de los microservicios


permite un desarrollo menos costoso, así como el uso de “contenedores de
software” permite que el despliegue de la aplicación se pueda llevar a cabo
rápidamente.

● Mantenimiento simple y barato: al poder hacerse mejoras de un


solo módulo y no tener que intervenir en toda la estructura, el
mantenimiento es más sencillo y barato que en otras arquitecturas.

● Agilidad: se pueden utilizar funcionalidades típicas (autenticación,


trazabilidad, etc.) que ya han sido desarrolladas por terceros, no hace falta
que el desarrollador las cree de nuevo.
Diagrama con la vista física (diagrama de despliegue)
Conclusión

La arquitectura de microservicios define una forma de trabajar con grandes


aplicaciones más desacopladas y surgen para atender unas demandas muy
exigentes en cuanto a alta disponibilidad y capacidad de adaptación y
cambio. En general, está indicado para grandes aplicaciones, con grandes
volúmenes de peticiones (especialmente si se sufren fuertes picos de
demanda) y con necesidad de alta disponibilidad. Si esta es la situación,
esta arquitectura nos ayudará a ser más ágiles y conseguir atender nuestras
necesidades de una forma estructurada y probada.
Bibliografía

DecideSoluciones. (N/A). Arquitectura de microservicios: qué es, ventajas


y desventajas. Febrero, 2022, de DecideSoluciones Sitio web:
https://decidesoluciones.es/arquitectura-de-microservicios/

Autentia. (N/A). Características principales de arquitecturas orientadas a


microservicios. Febrero, 2022, de Autentia Sitio web:
https://www.autentia.com/2018/09/10/caracteristicas-principales-de-
%20arquitecturas-orientadas-a-microservicios/

Amazon. (N/A). Microservicios. Febrero, 2022, de Amazon Sitio web:


https://aws.amazon.com/es/microservices/

Microsoft. (N/A). Microservices. Febrero, 2022, de Microsoft Sitio web:


https://docs.microsoft.com/en-
us/eses/azure/architecture/microservices/design/dataconsiderations

También podría gustarte