Conceptos

Microservicios

Estilo arquitectónico que estructura una aplicación como colección de servicios pequeños, independientes y desplegables, cada uno con su propia lógica de negocio y datos.

seed#microservices#architecture#distributed-systems#api#decoupling

¿Qué es?

Los microservicios son un estilo arquitectónico donde una aplicación se compone de servicios pequeños e independientes que se comunican por red (HTTP, mensajes, eventos). Cada servicio es dueño de su dominio, datos y ciclo de despliegue.

Características

  • Independencia de despliegue: cada servicio se despliega por separado
  • Ownership de datos: cada servicio tiene su propia base de datos
  • Tecnología heterogénea: cada servicio puede usar diferente stack
  • Equipos autónomos: un equipo por servicio (o grupo de servicios)

Microservicios vs Monolito

AspectoMonolitoMicroservicios
DespliegueTodo juntoIndependiente
EscaladoVerticalHorizontal por servicio
ComplejidadEn el códigoEn la infraestructura
ConsistenciaTransacciones ACIDConsistencia eventual

Cuándo NO usar microservicios

  • Equipos pequeños (menos de 5 personas)
  • Producto en fase temprana (dominio no definido)
  • Sin experiencia en sistemas distribuidos
  • Cuando un monolito modular es suficiente

Patrones asociados

¿Por qué importa?

Los microservicios permiten que equipos independientes desarrollen, desplieguen y escalen servicios de forma autónoma. Pero su complejidad operacional es significativa — requieren observabilidad, service mesh, gestión de datos distribuidos y una cultura de ownership. No son la respuesta por defecto.

Referencias

Conceptos