siempre se me hace raro llegar al video que esta subido en youtube
Introducción al curso
Diseño y Documentación de Arquitectura de Software
Atributos de calidad
Atributos de Calidad en Sistemas: Definición y Medición
Idoneidad Funcional: Completitud, Exactitud y Pertinencia
Eficiencia de Ejecución en Sistemas Informáticos
Compatibilidad en Sistemas: Interoperabilidad y Coexistencia
Subcaracterísticas de Usabilidad en Desarrollo de Software
Confiabilidad de Sistemas: Madurez, Disponibilidad, Resiliencia y Recuperación
Seguridad de Usuarios en Desarrollo de Software
Subcaracterísticas de Mantenibilidad en Sistemas de Software
Medición de Adaptabilidad en Sistemas de Software
Relación y Tensión entre Atributos de Calidad en Sistemas de Software
Atributos de Calidad en Arquitectura de Software
Patrones de arquitectura
Patrones de Arquitectura Monolítica y Distribuida
Modelo Vista Controlador: Separación de Responsabilidades en Aplicaciones
Arquitectura de Capas: Diseño y Comunicación entre Niveles
Patrones de Arquitectura Orientada a Eventos y Event Sourcing
Patrón de Arquitectura MicroKernel y su Implementación en IDEs
Arquitectura "Comparte Nada": Optimización y Procesamiento de Datos
Patrón de Microservicios en Arquitectura de Software
Patrón CQRS para Separación de Consultas y Comandos
Arquitectura Hexagonal: Diseño y Aplicación Práctica
Diseño Orientado al Dominio: Conceptos y Aplicaciones Prácticas
Patrones de Arquitectura para Aplicaciones Escalables y Modulares
Patrones de Arquitectura en Proyectos de Crecimiento Empresarial
Diseño de una arquitectura
Diseño de Arquitecturas a Medida: Herramientas y Estrategias
Tipos de Conectores en Arquitectura de Software
Conectores Asíncronos y Sincrónicos: Implementación y Uso Práctico
Diferencias entre Enrutadores y Difusores en Comunicación de Mensajes
Conexión de Productores y Consumidores con Colas de Mensajes
Framework de Diseño Orientado a Atributos: Escenarios y Tácticas
Tácticas para Mejorar la Disponibilidad de Sistemas
Tácticas para Mejorar la Disponibilidad del Sistema
Tácticas para Mejorar la Mantenibilidad del Software
Prevención de Efectos Dominó en Mantenibilidad de Software
Estrategias para Mejorar la Eficiencia de Ejecución en Sistemas
Tácticas de Seguridad Informática para Detectar, Resistir y Recuperarse de Ataques
Estrategias para Mejorar la Capacidad de Prueba de Software
Tácticas de Usabilidad en Diseño de Interfaces de Usuario
Validación de Arquitectura con ATAM y Métricas de Calidad
Diseño de Arquitectura para Startups y Empresas Escalables
Modelado y documentación de arquitectura
Documentación Efectiva de Arquitectura de Software
Sincronización de Modelos de Arquitectura y Código Fuente
Evaluación de Atributos de Calidad en Arquitectura de Software
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Los microservicios son un patrón de arquitectura que ha revolucionado el diseño de sistemas en los últimos años. Se caracterizan por descomponer un sistema grande en componentes más pequeños y distribuidos. Cada microservicio ofrece una funcionalidad específica y trabaja de manera independiente, lo que no solo facilita su mantenimiento, sino también su reutilización. Este enfoque modular permite que diferentes partes del sistema puedan ser desarrolladas y desplegadas de manera aislada y, a menudo, incluso por equipos diferentes.
Una de las características más notables de los microservicios es su capacidad para intercomunicarse de manera eficiente. Esta comunicación puede ser directa o a través de un bus de eventos:
Conexión directa: un microservicio depende directamente de otro, estableciendo una relación más estrecha.
Bus de eventos: utiliza un sistema de publish-subscribe para desacoplar los servicios. Un microservicio puede publicar un evento en un bus, y otros pueden suscribirse y reaccionar a estos eventos sin conocerse directamente entre sí.
Imagina un sistema de e-commerce donde cada funcionalidad crítica se maneja a través de un microservicio especializado:
Por ejemplo, tras un pago exitoso, el servicio de pagos podría publicar un evento al cual el servicio de logística respondería para iniciar el proceso de envío.
Adoptar microservicios presenta varias ventajas, especialmente para empresas en crecimiento:
Pese a sus beneficios, la implementación de microservicios no siempre es la solución ideal:
Al decidir entre microservicios y un enfoque monolítico hay que sopesar el tamaño del equipo, la experiencia, y las necesidades de escalabilidad del proyecto. Mientras que microservicios son una excelente opción para empresas que anticipan un crecimiento significativo, un monolito puede ser más manejable para un equipo pequeño iniciando un proyecto. Además, es común que las arquitecturas de microservicios se combinen con otras estrategias para definir tanto la arquitectura interna de cada servicio como las vías de comunicación entre servicios y clientes.
Aportes 20
Preguntas 6
siempre se me hace raro llegar al video que esta subido en youtube
Patrones de arquitectura micro servicio
Son Componentes distribuidos donde cada componentes va a exponer una funcionalidad al resto del sistema. de esta forma modularizamos el sistema a traes de estos ser. independientes.
Los clientes o los mismos servicios consumen estas funcionalidades entre ellos.
Se debe tener comunicación entre ellos, de forma directa o indirecta (bus de eventos).
Son componentes distribuidos en nuestro sistema en donde cada componente va a exponer una funcionalidad al resto del sistema. de esta manera se modulariza el sistema a través de servicios independientes. Los clientes externos o inclusive los mismos servicios van a consumir las responsabilidades entre ellos.
Cada componente debe tener su base de datos independiente.
y este es uno de los desafíos más grande de esta arquitectura; ya que tiene que analizar como interconectar estos servicios.
La conexión entre los servicios puede ser directa: Es decir, un servicio depende de otro. Indirecta: que los servicios se comunican a través de un Bus de Datos (Eventos).
Microservicios
Son componentes distribuidos en nuestro sistema en dónde cada componente va a exponer una funcionalidad al resto del sistema, de esta forma modularizamos nuestro sistema a través de estos servicios independientes.
Faltan muchos detalles, no me convence la explicación
Cada microservicio es relativamente pequeño, fácil de administrar y desarrollar. 🪁
Es fácil para los desarrolladores entender y empezar a trabajar rápidamente con buena productividad. 😎
Los contenedores se crean con rapidez ⚡, lo que permite que los desarrolladores sean más productivos.
Un IDE como Visual Studio 🔳 puede cargar proyectos más pequeños con rapidez, aumentando la productividad de los desarrolladores.
Cada microservicio se puede diseñar, desarrollar e implementar con independencia de otros microservicios. Esto aporta agilidad, 🚴♀️🚴♀️dado que es más fácil implementar nuevas versiones de los microservicios con frecuencia.
Me quedan dudas entre un servicio y un microservicio, porque un servicio rest también tiene un única responsabilidad, lo único diferente que veo es que los microservicios se pueden comunicar entre ellos a través de un bus de eventos. ¿Alguien sabe cuál es su principal diferencia, o cuándo debo usar uno o otros en un sistema?..
No me convenció la explicación, falto más detalle.
No me convence la explicación siento que hicieron falta muchos detalles y profundizar más, un solo video no es suficiente para abordar un tema tan grande.
Una ventaja del patrón de microservicios es que cada uno puede tener su propia arquitectura independiente de las demás, incluso pueden ser programadas en otro lenguaje y plataforma.
En mi unto de vista falta profundizar el tema o ver ejemplos de aplicaciones reales para entender mejor, creo que aquí aplicar la metodología caso sería genial
✅
⭐️⭐️⭐️⭐️⭐️
🤖🤖🤖
Patrones de arquitectura micro servicio
Son Componentes distribuidos donde cada componentes va a exponer una funcionalidad al resto del sistema. de esta forma modularizamos el sistema a traes de estos ser. independientes.
Los clientes o los mismos servicios consumen estas funcionalidades entre ellos.
Se debe tener comunicación entre ellos, de forma directa o indirecta (bus de eventos).
En el ultimo punto estaba hablando claramente de un api rest.
La verdad esta explicacion esta buena para los que no estan en el curso .
Pero todo esto ya lo habia explicado generalmente que es el microservicio . esta era la clase donde se entraba a detalle
Aquí encontre información clara y complementaria sobre los microservicios https://www.evaluandosoftware.com/que-es-la-arquitectura-de-microservicios/ ojalá les sirva
tengo una duda un microservicio cuando se refiere a una sola funcionalidad se refiere a q es un servicio rest con solo un método para insertar, update o delete ? que basicamente si tenemos 200 funcionalidades en nuestra aplicacion tendremos 200 servicios rest ?
Aquí una explicación adicional a esta arquitectura
https://www.youtube.com/watch?v=9R2hFwIPGnQ
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?