Você está na página 1de 2

Arquitectura de Microservicios o MSA

Introduccin a los Microservicios


Microservicios es el nombre de un estilo de arquitectura del software, fuertemente influenciado
por el software distribuido. De entre todas las cosas que caracterizan esta arquitectura del
detaca el hecho de que diversos componentes estn altamente distribuidos. Tambin, un
aspecto distintivo es el hecho de que cada uno de los microservicios es responsable de un
nico problema en concreto.

Historia
La historia de los microservicios se puede rastrear hasta Mayo del 2011 en Venecia, donde un
grupo de arquitectos de software se pusieron de acuerdo en utilizar la palabra para
caracterizar los sistemas en cuyo desarrollo estaban involucrados.

Con la influencia de algunos de los pioneros en el campo (Adrian Cockcroft, Netflix,) los
microservicios han ido ganando presencia y, hoy en da, se aceptan en la industria como un
estilo arquitectnico bien establecido.

Muchas organizaciones estn migrando sus sistemas a esta arquitectura, descomponiendo


sus monolitos en unidades ms pequeas y distribuidas.

Principios
La idea principal es la de procesos pequeos y autnomos que trabajan en colaboracin
para cumplir cierta lgica de negocio.
Pero llegar a este concepto es una tarea difcil. Si no se tiene un conjunto de principios
coherente que gue, el camino hacia esta arquitectura puede ser muy largo. En un sistema
distribuido hay ms decisiones que tomar que en un sistema monoltico. Un nico lenguaje
para todo? Qu almacn de datos? Cual es el protocolo de comunicaciones que debo
utilizar? Qu servidores?

Los microservicios deben estar modelados en torno al dominio en cuestin, de forma que las
fronteras entre cada uno de ellos sean claras, fciles de entender y poco mutables.
Otro principio importante es el de la automatizacin de procesos, en particular el movimiento
llamado DevOps. Con procesos automatizados la liberacin de versiones, fijacin de bugs y,
en general, la evolucin natural del sistema es posible y econmicamente viable.

1
Arquitectura de Microservicios o MSA

Igualmente importante es la ocultacin de detalles de implementacin. Cuando los


microservicios interaccionan mediante APIs estables, entonces los equipos responsables de
los microservicios pueden funcionar de forma gil.

El despliegue individualizado es otro de los principios clave para los microservicios. Ser
capaz de desplegar servicios individuales sin afectar el resto es clave para una arquitectura de
microservicios exitosa.
El aislamiento de fallos es tambin clave. En un sistema distribudo es fundamental que si un
elemento del sistema tiene un fallo, el mismo no se propague en cascada por el resto.

Observabilidad es el otro principio fundamental. Al igual que ocurre con el aislamiento de los
fallos, un sistema distribuido es ms difcil de diagnosticar que un sistema monoltico. Por ello,
es fundamental en las arquitecturas de microservicios que stos sean observables con el
mayor nivel de profundidad posible.

Futuro
No es fcil predecir el futuro de los microservicios, teniendo en cuenta que los lderes
tecnolgicos estn poniendo todo su esfuerzo en fabricar productos cada vez mejores para el
DevOps, el API Management, las Paas y las Iaas. En cualquier caso, est claro que los
microservicios estn aqu para quedarse y quiz fusionarse con otras explosiones
tecnolgicas como la IoT (Intenternt de las cosas).

Você também pode gostar