Arquitectura microservicios

Mejores prácticas de microservicios

Los microservicios son un enfoque arquitectónico y organizativo del desarrollo de software en el que éste se compone de pequeños servicios independientes que se comunican a través de APIs bien definidas. Estos servicios son propiedad de equipos pequeños y autónomos.

Con las arquitecturas monolíticas, todos los procesos están estrechamente acoplados y se ejecutan como un único servicio. Esto significa que si un proceso de la aplicación experimenta un pico de demanda, toda la arquitectura debe ser escalada. Añadir o mejorar las características de una aplicación monolítica se vuelve más complejo a medida que la base de código crece. Esta complejidad limita la experimentación y dificulta la aplicación de nuevas ideas. Las arquitecturas monolíticas añaden riesgo a la disponibilidad de la aplicación porque muchos procesos dependientes y estrechamente acoplados aumentan el impacto del fallo de un solo proceso.

Con una arquitectura de microservicios, una aplicación se construye como componentes independientes que ejecutan cada proceso de la aplicación como un servicio. Estos servicios se comunican a través de una interfaz bien definida utilizando APIs ligeras. Los servicios se construyen para las capacidades del negocio y cada servicio realiza una única función. Como se ejecutan de forma independiente, cada servicio puede actualizarse, desplegarse y escalarse para satisfacer la demanda de funciones específicas de una aplicación.

  Service desk que es

Ejemplo de arquitectura de microservicios

Si quiere diseñar una aplicación que sea multilingüe, fácilmente escalable, fácil de mantener y desplegar, de alta disponibilidad y que minimice los fallos, utilice la arquitectura de microservicios para diseñar y desplegar una aplicación en la nube.

En una arquitectura de microservicios, cada microservicio es propietario de una tarea sencilla, y se comunica con los clientes o con otros microservicios mediante mecanismos de comunicación ligeros, como las solicitudes de la API REST.

El siguiente diagrama muestra la arquitectura de una aplicación que consta de múltiples microservicios.Descripción de la ilustración microservice_architecture.pngLos microservicios permiten diseñar la aplicación como una colección de servicios débilmente acoplados. Los microservicios siguen el modelo de no compartir nada y se ejecutan como procesos sin estado. Este enfoque facilita la escalabilidad y el mantenimiento de la aplicación.

El diseño de la aplicación se centra en resolver los requisitos del negocio y en implementar la lógica empresarial. En una arquitectura monolítica, toda la aplicación se construye como una sola unidad que contiene toda la lógica de negocio. En la arquitectura de microservicios, la lógica de negocio se organiza como múltiples servicios débilmente acoplados.

  Automatización de pruebas de software

Ejemplo de java de microservicios

Una arquitectura de microservicios consiste en una colección de pequeños servicios autónomos. Cada servicio es autónomo y debe implementar una única capacidad de negocio dentro de un contexto delimitado. Un contexto delimitado es una división natural dentro de un negocio y proporciona un límite explícito dentro del cual existe un modelo de dominio.

Gestión/orquestación. Este componente es responsable de colocar los servicios en los nodos, identificar los fallos, reequilibrar los servicios entre los nodos, etc. Por lo general, este componente es una tecnología disponible, como Kubernetes, en lugar de algo construido a medida.

Cómo diseñar una arquitectura de microservicios

El patrón de arquitectura de microservicios está ganando rápidamente terreno en la industria como una alternativa viable a las aplicaciones monolíticas y a las arquitecturas orientadas a servicios. Debido a que este patrón de arquitectura aún está evolucionando, hay mucha confusión en la industria sobre lo que significa este patrón y cómo se implementa. Esta sección del informe le proporcionará los conceptos clave y los conocimientos básicos necesarios para comprender las ventajas (y los inconvenientes) de este importante patrón de arquitectura y saber si es el patrón adecuado para su aplicación.

  Chief information officer funciones

Independientemente de la topología o el estilo de implementación que elija, hay varios conceptos básicos comunes que se aplican al patrón de arquitectura general. El primero de estos conceptos es la noción de unidades desplegadas por separado. Como se ilustra en la Figura 4-1, cada componente de la arquitectura de microservicios se despliega como una unidad separada, lo que permite un despliegue más fácil a través de una tubería de entrega eficaz y racionalizada, una mayor escalabilidad y un alto grado de desacoplamiento de aplicaciones y componentes dentro de su aplicación.

Esta web utiliza cookies propias para su correcto funcionamiento. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad