1. Inicio
  2. Tecnología
  3. Microservicio

Significado de Microservicio

Sustantivo masculino. Del griego mikrós, «pequeño», y servicio, del latín servitium.

Un microservicio es una pieza pequeña e independiente de software que cumple una única función de una aplicación mayor, se ejecuta por separado y se comunica con las demás piezas a través de la red.

Una aplicación construida como microservicios sustituye un único programa grande por varios programas pequeños que colaboran entre sí, en vez de compartir el mismo proceso.

Qué es un microservicio

Una aplicación tradicional suele construirse como un único bloque de código —un monolito— donde todas las funciones comparten el mismo proceso y se despliegan juntas. Ese enfoque funciona bien mientras la aplicación es pequeña, pero se vuelve difícil de manejar cuando crece: cualquier cambio obliga a volver a desplegar todo el bloque, y un fallo en una parte puede arrastrar al resto. Los microservicios resuelven ese problema dividiendo la aplicación en piezas pequeñas, cada una responsable de una sola función, que se despliegan y escalan de forma independiente.

Esa independencia tiene un coste: lo que antes era una simple llamada a una función dentro del mismo programa pasa a ser una comunicación a través de la red entre dos servicios distintos, más lenta y más propensa a fallos. Coordinar decenas de microservicios exige además herramientas nuevas —para descubrirlos, vigilarlos y desplegarlos— y una disciplina de equipo que un monolito pequeño no necesita. Los microservicios no simplifican un sistema: reparten su complejidad de otra manera, a cambio de que cada pieza pueda evolucionar, fallar y escalar por separado.

Lo aplican sobre todo empresas con aplicaciones grandes y equipos numerosos, donde el beneficio de trabajar en piezas independientes compensa el coste añadido de coordinarlas.

Origen de la palabra microservicio

Del griego mikrós, «pequeño», y servicio, del latín servitium, «condición de servir». El término traduce el inglés microservice, acuñado dentro de la arquitectura de software.

La idea de dividir una aplicación en servicios independientes es anterior al propio término, y se relaciona con enfoques previos de arquitectura orientada a servicios. El nombre «microservicio» se popularizó ya en el siglo XXI, cuando varias empresas con aplicaciones muy grandes documentaron públicamente cómo habían dividido sus sistemas monolíticos en piezas más pequeñas para poder desplegarlas y escalarlas por separado.

Microservicio frente a otras arquitecturas

RasgoMonolitoMicroservicios
DespliegueTodo el programa se despliega junto.Cada servicio se despliega por separado.
Comunicación internaLlamadas directas dentro del mismo proceso.Llamadas a través de la red entre servicios.
Fallo de una partePuede afectar a toda la aplicación.Puede quedar contenido en un solo servicio.
Complejidad operativaMenor al principio, crece con el tamaño.Mayor desde el inicio, por la coordinación entre piezas.

Ejemplos de uso de microservicio

El equipo dividió la aplicación en un microservicio de pagos, otro de usuarios y otro de notificaciones.

Un fallo en el microservicio de recomendaciones no impidió que el resto de la tienda siguiera funcionando con normalidad.

Cada microservicio tiene su propia base de datos, independiente de las que usan los demás.

Escalaron solo el microservicio de búsquedas durante la campaña, sin tocar el resto de la aplicación.

Migrar el monolito antiguo a microservicios llevó más de un año de trabajo del equipo.

Sinónimos y palabras relacionadas

Sinónimos: servicio independiente (en un sentido próximo dentro de esta arquitectura).

Antónimos: monolito, aplicación monolítica.

No es lo mismo que:

Preguntas frecuentes sobre el microservicio

¿Los microservicios siempre son mejores que un monolito?

No necesariamente. Aportan independencia y capacidad de escalar por partes, pero a cambio de más complejidad operativa; para una aplicación pequeña o un equipo reducido, un monolito bien organizado suele ser más sencillo de mantener.

¿Cómo se comunican entre sí los microservicios?

A través de la red, casi siempre mediante peticiones a una API o mediante mensajes que uno envía y otro recibe, en lugar de llamadas directas dentro de un mismo programa.

¿Cada microservicio necesita su propia base de datos?

Es la práctica recomendada, aunque no una obligación estricta: que cada microservicio gestione sus propios datos evita que un cambio en uno obligue a modificar la base de datos que usan otros.

Ver también