Jonatan Matajonmatum.com
conceptosnotasexperimentosensayos
© 2026 Jonatan Mata. All rights reserved.v2.1.1
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

  • API Gateway
  • Event-driven
  • Saga
  • CQRS

¿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

  • Microservices — Martin Fowler, 2014.
  • Building Microservices — Sam Newman, 2021.
  • Microservice Patterns — Chris Richardson, 2024. Catálogo de patrones de microservicios.

Contenido relacionado

  • Monorepos

    Estrategia de organización de código donde múltiples proyectos coexisten en un único repositorio, compartiendo dependencias, configuración y herramientas de build.

  • Arquitectura Orientada a Eventos

    Patrón arquitectónico donde los componentes se comunican mediante eventos asíncronos, permitiendo sistemas desacoplados, escalables y reactivos.

  • Cloud Native

    Enfoque de desarrollo que aprovecha las ventajas de la nube: contenedores, microservicios, infraestructura inmutable y automatización declarativa para sistemas escalables y resilientes.

  • Zero Trust

    Arquitectura de seguridad que verifica rigurosamente cada solicitud independientemente de su origen, eliminando la confianza implícita en redes internas.

  • Patrón Strangler Fig

    Estrategia de migración incremental que reemplaza gradualmente un sistema legacy con componentes nuevos, enrutando tráfico progresivamente hasta que el sistema antiguo se puede retirar.

  • Service Mesh

    Capa de infraestructura dedicada a gestionar la comunicación entre microservicios, proporcionando observabilidad, seguridad y control de tráfico de forma transparente.

  • Patrón Saga

    Patrón para gestionar transacciones distribuidas en microservicios mediante una secuencia de transacciones locales con acciones de compensación para manejar fallos.

  • Micro Frontends

    Patrón arquitectónico que extiende los microservicios al frontend, permitiendo que equipos independientes desarrollen y desplieguen partes de una aplicación web de forma autónoma.

  • Arquitectura Hexagonal

    Patrón arquitectónico que aísla la lógica de negocio del mundo exterior mediante puertos y adaptadores, facilitando testing y cambio de tecnologías.

  • Diseño Dirigido por el Dominio

    Enfoque de diseño de software que centra el desarrollo en el dominio del negocio, usando un lenguaje ubicuo compartido entre desarrolladores y expertos de dominio.

  • Trazado Distribuido

    Técnica de observabilidad que rastrea requests a través de múltiples servicios en sistemas distribuidos, permitiendo identificar cuellos de botella y diagnosticar fallos.

  • Backend for Frontend

    Patrón arquitectónico donde cada tipo de cliente tiene su propio backend dedicado que adapta las APIs de microservicios a las necesidades específicas de ese cliente.

  • AWS Step Functions

    Servicio de orquestación serverless de AWS que coordina múltiples servicios en workflows visuales usando Amazon States Language (ASL), con manejo de errores, reintentos y ejecución paralela integrados.

  • AWS EventBridge

    Bus de eventos serverless de AWS que conecta aplicaciones usando eventos, permitiendo arquitecturas desacopladas y event-driven con enrutamiento basado en reglas.

  • AWS ECS

    Servicio de orquestación de contenedores de AWS que ejecuta y escala aplicaciones Docker sin gestionar la infraestructura de cluster subyacente.

  • Patrón API Gateway

    Patrón que proporciona un punto de entrada único para múltiples microservicios, manejando routing, autenticación, rate limiting y agregación de respuestas.

  • Diseño de APIs

    Principios y prácticas para diseñar interfaces de programación claras, consistentes y evolucionables que faciliten la integración entre sistemas.

Conceptos