Microservicios

Microservicios:

Es un estilo de arquitectura de software en el que las aplicaciones complejas se componen de procesos pequeños e independientes que se comunican entre sí utilizando API's.

Estos servicios son pequeños bloques de construcción, altamente desacoplados y que se enfocan en hacer una pequeña tarea. Esto facilita un enfoque modular para la construcción de sistemas.

Características:
  • Componentización a través de servicios.
  • Organizado en torno a las capacidades.
  • Producto en lugar de Proyecto.
  • Autonomía.
  • Gestión de datos descentralizada.
  • Automatización de infraestructura.
  • Cada servicio es elástico, resistente, componible, mínimo y completo.
  • Endpoints inteligentes.
Algunos objetivos tras los microservicios:
  • Escalabilidad a nivel de servicios.
  • Simplicidad de mantenimiento.
  • Despliegue progresivo y adaptable.
  • Un error de uno de los servicios no arrastra todo el sistema.
Casos de Exito:

Una de las empresas que se ha enfocado en microservicios es Netflix, quien además ha creado un conjunto de librerías para facilitar la implementación de esta arquitectura.

Algunas de estas librerías son:

Otros servicios y librerías pueden ser encontradas en el siguiente enlace:

netflix.github.io