Contenido

Objetivo

Detectar la diferencia entre una aplicación monolítica y los diferentes tipos de arquitecturas distribuidas, en particular la de microservicios para alinear los factores particulares del proyecto a desarrollar.

Descripción

En este tema comprenderás la importancia de distinguir cuándo una arquitectura de microservicios es aplicable para resolver los problemas de escalamiento que pudiera tener tu aplicación. Si tu equipo es pequeño o tu aplicación aún no alcanza un volumen de usuarios o transaccional de gran escala quizás aún haya tiempo de planear y refinar el diseño antes de migrar a una estructura que implica mayor disciplina y procesos de administración de clase mundial.

Explicación

Haz clic para revisar la explicación.

Arquitectura de microservicios

Recursos adicionales

Los siguientes enlaces son externos a la Universidad Tecmilenio, al acceder a ellos considera que debes apegarte a sus términos y condiciones.

Revisa el siguiente video:

Para conocer más sobre descripción del tema, revisa el siguiente video:
Albert Coronado. (2020, 13 de enero). Desarrollo de Microservicios I [Archivo de video]. Recuperado de https://www.youtube.com/watch?v=r_7IZkQnCwA

Revisa la siguiente lectura:

Para conocer más sobre descripción, te recomendamos leer:
decide. (2019). Arquitectura de microservicios: qué es, ventajas y desventajas. Recuperado de https://decidesoluciones.es/arquitectura-de-microservicios/

Actividad

Objetivo

Identificar, segmentar y diagramar correctamente las entidades involucradas, objetos de valor y agregados involucrados en el diseño de la arquitectura de una aplicación que puede utilizar microservicios.

Instrucciones

Una empresa que se dedica a mensajería exprés y te pide que desarrolles una solución basada en la nube para coordinar su servicio de entregas, ya que han tenido un crecimiento acelerado en el último año.

El servicio de mensajería exprés funciona de la siguiente manera: una persona o negocio solicita un viaje donde se recogen paquetes desde una dirección de origen y se llevan a una dirección destino antes de que transcurran 24 horas. El servicio está restringido al área metropolitana. El cobro al usuario final se hace con base en kilómetro recorrido, donde se cobra una tarifa fija que se reparte un porcentaje al subcontratista y un porcentaje para la empresa que provee la plataforma.

Utiliza la metodología de diseño determinado por dominios (DDD) como base para diseñar los microservicios necesarios para el caso descrito con anterioridad.

  1. Define e identifica las entidades que participan en el proceso. Asegúrate de que las entidades tengan un contexto definido, atributos y métodos (acciones que pueden afectar a la entidad). Recuerda que solo la entidad puede acceder y modificar sus datos y que otras entidades deben acceder a ellos a través de invocaciones a los métodos a través de un API (application program interfaz). Recuerda que las entidades tienen identidad única y pueden ser invocadas en otros microservicios.
  2. Define e identifica los objetos de valor a ser incluidos en el proceso. Recuerda que los objetos de valor no tienen identidad propia y solo hacen sentido dentro del contexto de un microservicio,
  3. Define e identifica losagregados en el modelo. Recuerda que los agregados son colecciones que aglutinan varias entidades alrededor de una entidad raíz.

El documento debe incluir una justificación del motivo para utilizar microservicios sobre una aplicación monolítica.

Checklist
  • Practicar los 12 factores para el diseño de aplicaciones con la metodología del mismo nombre.
  • Aplicar la metodología DDD para delimitar los alcances de microservicios en arquitecturas distribuidas.