¿Qué son los microservicios?
Los sistemas de toda la vida meten cada función en un «monolito»: tocas una parte y tiembla todo. Los microservicios hacen lo contrario: dividen el sistema en servicios pequeños e independientes, cada uno con una sola tarea —un servicio de usuarios, uno de chat, uno de búsqueda vectorial—, cada uno desarrollado, desplegado y escalado por su cuenta.Por qué le gustan a los sistemas de IA
Los componentes de IA son muy distintosLa inferencia del modelo, la limpieza de datos y la API del frontend necesitan cómputo y stacks distintos. Separarlos te deja optimizar cada uno.
Escalado independiente
Si la inferencia va justa, añade máquinas solo a la inferencia, sin escalar todo el sistema.
Aislamiento de fallos
Un servicio se cae y el resto sigue en pie, en lugar de que se venga abajo toda la app.
¿Qué cuesta?
Más complejidadMás servicios significa más llamadas de red, logs, monitorización y descubrimiento de servicios. Las operaciones se complican bastante.
La consistencia se complica
Los datos se reparten entre servicios, así que las operaciones entre servicios exigen cuidado: no puedes hacerlo todo en una sola transacción como en un monolito.
Cuándo usarlo
Cuando el equipo crece, los módulos se acoplan, o necesitas escalado independiente y despliegues frecuentes, los microservicios suelen merecer la pena. Pero para un proyecto pequeño y poca gente, mantenerlo simple puede salir mejor.En resumen: los microservicios parten el elefante en muchas cajas pequeñas: cada servicio es pequeño e independiente, así que un fallo no hunde el conjunto y un cambio no obliga a redesplegarlo todo.
Comentarios