Patrón de microservicios: cuándo y cómo
Clase 19 de 43 • Curso Profesional de Arquitectura de Software
Contenido del curso
Atributos de calidad
- 2

Qué son los atributos de calidad en software
01:49 min - 3

Cómo medir idoneidad funcional en software
02:52 min - 4

Qué es eficiencia de ejecución en software
04:14 min - 5

Cómo medir interoperabilidad y coexistencia
03:49 min - 6

Qué es la usabilidad y sus 6 dimensiones
08:14 min - 7

Cómo medir confiabilidad en software
05:38 min - 8

Los 5 pilares de seguridad en software
04:01 min - 9

Cómo garantizar mantenibilidad con tests
06:27 min - 10

Adaptabilidad vs capacidad de instalación vs reemplazo
02:48 min - 11

Tensiones entre atributos de calidad de software
04:04 min - 12

Atributos de calidad según fase de empresa
07:00 min
Patrones de arquitectura
- 13

Qué es un patrón de arquitectura
02:50 min - 14

Modelo vista controlador: cómo separar responsabilidades
05:37 min - 15

Arquitectura en capas: controller, servicio y repositorio
03:14 min - 16

Event sourcing vs bases relacionales
06:17 min - 17

Qué es la arquitectura microkernel
01:52 min - 18

Arquitectura Comparte Nada con Map Reduce
02:29 min - 19

Patrón de microservicios: cuándo y cómo
Viendo ahora - 20

Qué es CQRS y cómo separa lectura de escritura
03:24 min - 21

Arquitectura hexagonal: puertos y adaptadores
04:10 min - 22

Qué son los contextos delimitados en DDD
05:34 min - 23

Cómo combinar patrones de arquitectura
09:22 min - 24

Evolución de patrones desde monolito a microservicios
07:58 min
Diseño de una arquitectura
- 25

Cómo traducir requerimientos en decisiones arquitectónicas
02:18 min - 26

Conectores en arquitectura: tipos y cuándo usarlos
06:18 min - 27

Llamadas asíncronas vs síncronas vs cliente-servidor
03:05 min - 28

Conector enrutador vs difusión: Twitter
01:55 min - 29

Conectores cola, repositorio y pub/sub
03:52 min - 30

Framework de diseño orientado a atributos
01:55 min - 31

Cómo detectar fallas y reparar sistemas
05:59 min - 32

Cómo recuperar y prevenir fallas en sistemas
04:09 min - 33

Tácticas para confinar modificaciones
06:15 min - 34

Cómo prevenir efectos dominó en software
12:17 min - 35

Tácticas para controlar eficiencia de ejecución
09:14 min - 36

Cómo detectar, resistir y recuperarse de ataques
09:02 min - 37

Cómo probar que el software funciona correctamente
05:14 min - 38

Cómo controlar la usabilidad con tácticas
08:20 min - 39

Cómo validar arquitectura con ATAM y métricas
06:34 min - 40

Evolución de arquitectura: startup a gran escala
10:30 min
Modelado y documentación de arquitectura
Guido Contreras Boda, ingeniero de software y profesor de arquitectura en Platzi, explica con claridad qué es la arquitectura de microservicios, cómo se comunican sus componentes y en qué contexto conviene adoptarlos. Aquí encontrarás los beneficios, los desafíos de sincronización de datos y despliegue, y un ejemplo práctico en e-commerce para decidir con criterio.
¿Qué es la arquitectura de microservicios y por qué importa?
Los microservicios son componentes distribuidos que exponen funcionalidades al resto del sistema y se consumen entre sí o por clientes externos. Esta forma de modularidad permite servicios independientes y frecuentemente bases de datos por servicio, lo que trae potencia y también complejidad en la sincronización de datos y la intercomunicación.
- Componentes distribuidos que exponen una funcionalidad concreta.
- Servicios independientes consumidos por otros servicios o clientes.
- Bases de datos por microservicio como práctica común.
- Desafío: sincronización de datos e integración entre servicios.
¿Qué ventajas y costos tiene frente a un monolito?
Un monolito es más simple de desplegar, pero mejorar su disponibilidad es difícil. Con microservicios, la disponibilidad puede mejorar mediante réplicas de servicios, aunque el despliegue y versionado independiente aumentan la complejidad.
- Mayor disponibilidad con réplicas de servicios.
- Despliegue más difícil que en un monolito por versionado independiente.
- Curva de aprendizaje en sistemas distribuidos.
- Mantenibilidad con costo alto si el equipo es pequeño.
¿Cómo se comunican los microservicios y cómo lograr desacoplamiento?
La comunicación puede ser directa (un servicio depende de otro) o indirecta mediante eventos usando un bus de eventos. Con un estilo publish/subscribe, es posible desacoplar los servicios y hacerlos más independientes.
- Comunicación directa: dependencia explícita entre servicios.
- Comunicación indirecta: eventos en un bus de eventos.
- Estilo publish/subscribe para desacoplar y reducir dependencias.
¿Cómo opera el ejemplo de e-commerce?
Cada funcionalidad vive en un servicio: usuarios, productos, pagos y logística. Tras un pago, se debe coordinar el envío: o pagos llama directamente a logística, o pagos publica un evento y logística lo escucha para actuar.
- Servicios por dominio: usuarios, productos, pagos, logística.
- Coordinación por eventos tras un pago exitoso.
- Opciones: llamada directa o publicación en bus de eventos.
¿Qué patrón de integración conviene aplicar?
Cuando se busca independencia y bajo acoplamiento, el estilo publish/subscribe con bus de eventos ayuda a desacoplar la orquestación entre servicios y mejorar su autonomía.
- Bus de eventos para comunicación asíncrona.
- Menor acoplamiento que en dependencias directas.
¿Cuándo conviene usar microservicios y cuándo empezar con monolito?
La elección depende del contexto. Los microservicios funcionan bien cuando hay equipos capaces de mantener servicios por separado y se requiere escalar disponibilidad. Si el proyecto es nuevo y hay pocos desarrolladores, iniciar con un monolito puede ser más realista y migrar a microservicios cuando el producto y la empresa crezcan y aumente la complejidad.
- Úsalos si tienes equipos por servicio y experiencia en sistemas distribuidos.
- Evítalos al inicio si el equipo es pequeño y el costo de mantenibilidad es alto.
- Beneficio clave: disponibilidad mejorable con réplicas.
- Costo clave: despliegue y versionado independiente más complejos.
- Estrategia: empezar monolito, evolucionar a microservicios con el crecimiento.
¿En qué contexto estás y qué estrategia seguirías: monolito inicial o microservicios con eventos? Comparte tus dudas y experiencia para enriquecer la discusión.