1. Qué son los microservicios

Los microservicios son un estilo arquitectónico para sistemas distribuidos donde la aplicación se divide en múltiples servicios pequeños, independientes y autónomos, cada uno ejecutando una función de negocio específica y comunicándose con los demás mediante interfaces ligeras (normalmente APIs REST/JSON o mensajería).

2. Comparación rápida con SOA

CaracterísticaSOA (ej. SAP PI)Microservicios
Tamaño de servicioMás grande, orientado a procesos o funciones amplias.Muy pequeño, enfocado a una única responsabilidad.
MiddlewareESB central (ej. SAP PI) que orquesta y transforma.No hay un único bus central, cada servicio gestiona su lógica.
ComunicaciónSOAP, REST, JMS, protocolos diversos.REST/JSON, gRPC, mensajería ligera (Kafka, RabbitMQ).
DespliegueIntegrado en plataforma central.Independiente, con despliegue aislado por servicio (contenedores, Kubernetes).
EscaladoEscala toda la aplicación o el middleware.Escala solo el microservicio que lo necesita.

3. Características clave

  • Independencia: cada microservicio se puede desarrollar, desplegar y escalar por separado.
  • Comunicación distribuida: mediante HTTP/REST, gRPC o mensajería asíncrona (Kafka, RabbitMQ).
  • Resiliencia: un fallo en un microservicio no debe tumbar todo el sistema.
  • Poliglotismo: cada servicio puede usar el lenguaje y la tecnología que prefiera, mientras respete la interfaz.
  • Automatización DevOps: integración continua, despliegue continuo (CI/CD).

4. Ejemplo de microservicios

En lugar de un SAP PI orquestando todo, podrías tener:

  • Servicio de Inventario → expone GET /stock/{producto}.
  • Servicio de Pedidos → expone POST /pedido.
  • Servicio de Facturación → expone POST /factura.
  • Servicio de Notificaciones → envía email/SMS.

Estos servicios se comunican entre sí vía API REST o mediante eventos publicados en Kafka.

5. Ventajas

  • Escalabilidad granular.
  • Despliegue independiente.
  • Mejor resiliencia y aislamiento de fallos.
  • Adaptación rápida a cambios en partes específicas del negocio.

6. Retos y ciberseguridad

En microservicios, la superficie de ataque crece porque:

  • Hay más endpoints expuestos (cada servicio tiene su API).
  • Hay más tráfico interno (service-to-service) que puede ser interceptado si no se protege.
  • Es más fácil perder el control de autenticación/autorización si no hay gobernanza central.

Controles típicos:

  • Service mesh (Istio, Linkerd) para cifrar tráfico interno (mTLS) y aplicar políticas.
  • API Gateway (Kong, Apigee, NGINX) para controlar acceso externo.
  • Escaneo de imágenes de contenedores y configuración segura en Kubernetes/Docker.
  • Monitoreo y trazabilidad distribuida (OpenTelemetry, Jaeger).

7. Relación con SAP PI

  • SAP PI es más típico en arquitecturas SOA tradicionales con un bus central.
  • Los microservicios evitan un bus central, pero pueden integrarse con PI si necesitas comunicar microservicios con sistemas SAP legacy.
  • En entornos híbridos, PI puede actuar como puente entre microservicios y sistemas monolíticos.