¿Qué son los microservicios?

microservices_600x300

Los microservicios describen el proceso arquitectónico de crear una aplicación distribuida a partir de servicios que se pueden implementar por separado y que realizan funciones empresariales específicas y se comunican a través de interfaces web. Los equipos de DevOps engloban partes individuales de la funcionalidad en microservicios y crean sistemas más grandes mediante la combinación de microservicios como bloques de creación.

Los microservicios aplican un ejemplo del principio abierto/cerrado:

  • Están abiertos para la extensión (mediante las interfaces que exponen)
  • Están cerrados para la modificación (cada uno se implementa y se versiona de forma independiente)

Los microservicios proporcionan numerosas ventajas frente a las arquitecturas monolíticas:

  • Pueden quitar puntos únicos de error (SPOF) asegurándose de que los problemas de un servicio no se bloquean ni afectan a otras partes de una aplicación.
  • Los microservicios individuales se pueden escalar horizontalmente de forma independiente para proporcionar disponibilidad y capacidad adicionales.
  • Los equipos de DevOps pueden ampliar la funcionalidad agregando nuevos microservicios sin afectar innecesariamente a otras partes de la aplicación.

El uso de microservicios puede aumentar la velocidad del equipo. Las prácticas de DevOps, como la integración continua y la entrega continua, se usan para impulsar las implementaciones de microservicios. Los microservicios complementan perfectamente las arquitecturas de aplicaciones basadas en la nube al permitir que los equipos de desarrollo de software aprovechen escenarios como la programación controlada por eventos y la escalabilidad automática. Los componentes de microservicio exponen las API (interfaces de programación de aplicaciones), normalmente a través de protocolos REST, para comunicarse con otros servicios.

Una práctica cada vez más común es usar clústeres de contenedores para implementar microservicios. Los contenedores permiten el aislamiento, el empaquetado y la implementación de microservicios, mientras que la orquestación escala horizontalmente un grupo de contenedores en una aplicación.

Pasos siguientes

Obtenga más información sobre los microservicios en Azure.