Que es un microservicio

Microservicios vorteile

Los microservicios son un diseño arquitectónico para construir una aplicación distribuida utilizando contenedores. Reciben su nombre porque cada función de la aplicación opera como un servicio independiente. Esta arquitectura permite que cada servicio escale o se actualice sin interrumpir otros servicios de la aplicación. Un marco de microservicios crea un sistema masivamente escalable y distribuido, que evita los cuellos de botella de una base de datos central y mejora las capacidades empresariales, como permitir aplicaciones de entrega/despliegue continuo y modernizar la pila tecnológica.

Las aplicaciones se construían tradicionalmente como piezas monolíticas de software. Añadir nuevas funciones requiere reconfigurar y actualizar todo, desde los procesos y las comunicaciones hasta la seguridad dentro de la aplicación. Las aplicaciones monolíticas tradicionales tienen ciclos de vida largos, se actualizan con poca frecuencia y los cambios suelen afectar a toda la aplicación. Este proceso costoso y engorroso retrasa los avances y las actualizaciones en el desarrollo de aplicaciones empresariales.

Marco de trabajo de microservicios

La arquitectura de microservicios, o simplemente microservicios, es un método distintivo de desarrollo de sistemas de software que trata de centrarse en la construcción de módulos de una sola función con interfaces y operaciones bien definidas. Esta tendencia se ha hecho popular en los últimos años, ya que las empresas buscan ser más ágiles y avanzar hacia un DevOps y pruebas continuas.

Los microservicios resuelven estos retos de los sistemas monolíticos siendo lo más modular posible. En su forma más simple, ayudan a construir una aplicación como un conjunto de pequeños servicios, cada uno de los cuales se ejecuta en su propio proceso y son desplegables de forma independiente. Estos servicios pueden estar escritos en diferentes lenguajes de programación y pueden utilizar diferentes técnicas de almacenamiento de datos. Si bien esto da lugar al desarrollo de sistemas que son escalables y flexibles, necesita un cambio dinámico. Los microservicios suelen estar conectados a través de APIs, y pueden aprovechar muchas de las mismas herramientas y soluciones que han crecido en el ecosistema de servicios web y RESTful. Probar estas APIs puede ayudar a validar el flujo de datos e información a través de su despliegue de microservicios.

Microservicios wiki

Algunas de las fuentes de este artículo pueden no ser fiables. Por favor, ayude a este artículo buscando fuentes mejores y más fiables. Las citas no fiables pueden ser cuestionadas o eliminadas. (Octubre de 2018) (Aprende cómo y cuándo eliminar este mensaje de la plantilla)

Una arquitectura de microservicios -una variante del estilo estructural de la arquitectura orientada a servicios (SOA)- organiza una aplicación como una colección de servicios débilmente acoplados. En una arquitectura de microservicios, los servicios son de grano fino y los protocolos son ligeros. El objetivo es que los equipos puedan dar vida a sus servicios independientemente de los demás. El acoplamiento suelto reduce todo tipo de dependencias y las complejidades que las rodean, ya que los desarrolladores de servicios no necesitan preocuparse por los usuarios del servicio, no fuerzan sus cambios a los usuarios del servicio. Por lo tanto, permite a las organizaciones que desarrollan software crecer rápidamente y a gran escala, así como utilizar servicios ya existentes con mayor facilidad. Los requisitos de comunicación son menores. Pero mantener el desacoplamiento tiene un coste. Las interfaces deben ser diseñadas cuidadosamente y tratadas como una API pública. Técnicas como tener múltiples interfaces en el mismo servicio, o múltiples versiones del mismo servicio, para no romper el código de los usuarios existentes.

Microservicios de la noche a la mañana

Los microservicios (o arquitectura de microservicios) son un enfoque arquitectónico nativo de la nube en el que una única aplicación se compone de muchos componentes más pequeños, o servicios, débilmente acoplados e independientemente desplegables. Estos servicios suelen

Aunque gran parte del debate sobre los microservicios ha girado en torno a las definiciones y características arquitectónicas, su valor puede entenderse más comúnmente a través de beneficios empresariales y organizativos bastante simples:

Los microservicios también pueden entenderse por lo que no son. Las dos comparaciones más frecuentes con la arquitectura de microservicios son la arquitectura monolítica y la arquitectura orientada a servicios (SOA).

La diferencia entre los microservicios y la arquitectura monolítica es que los microservicios componen una única aplicación a partir de muchos servicios más pequeños y poco acoplados, a diferencia del enfoque monolítico de una aplicación grande y muy acoplada

Las diferencias entre microservicios y SOA pueden ser un poco menos claras. Aunque se pueden establecer contrastes técnicos entre los microservicios y la SOA, especialmente en torno al papel del bus de servicios empresariales (ESB), es más fácil considerar la diferencia como una cuestión de alcance. SOA fue un esfuerzo de toda la empresa para estandarizar la forma en que todos los servicios web de una organización se comunican e integran entre sí, mientras que la arquitectura de microservicios es específica de la aplicación.