Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los microservicios son un estilo arquitectónico popular para crear aplicaciones en la nube que siguen siendo resistentes, escalar de forma eficaz, implementar de forma independiente y evolucionar rápidamente. Para ofrecer un valor real, los microservicios requieren un enfoque diferente para el diseño y el desarrollo de aplicaciones.
En este conjunto de artículos se explora cómo crear una arquitectura de microservicios en Azure. Incluye las instrucciones siguientes:
Opciones de cómputo para microservicios: Evalúe los servicios de cómputo de Azure para microservicios, incluidos Azure Kubernetes Service (AKS), Azure Container Apps y Azure Functions. Obtenga información sobre cuándo usar cada servicio en función de sus requisitos de escalabilidad, sobrecarga de administración e implementación.
Comunicación entre servicios: diseñe patrones de comunicación eficaces entre microservicios mediante enfoques sincrónicos y asincrónicos. Obtenga información sobre las API REST, los patrones de mensajería, las arquitecturas controladas por eventos y las tecnologías de malla de servicio para la comunicación confiable entre servicios.
Diseño de API: cree API bien diseñadas que admitan principios de arquitectura de microservicios. Obtenga información sobre las estrategias de control de versiones de API, los patrones de control de errores y cómo diseñar API que promuevan el acoplamiento flexible y la evolución del servicio independiente.
Puertas de enlace de API: implemente puertas de enlace de API para administrar problemas transversales, como la autenticación, la limitación de velocidad y el enrutamiento de solicitudes. Comprenda cómo las puertas de enlace simplifican las interacciones de cliente y proporcionan una aplicación centralizada de directivas en el ecosistema de microservicios.
Consideraciones sobre los datos: aborde los desafíos de administración de datos en las arquitecturas de microservicios, incluidos los patrones de coherencia de datos, las transacciones distribuidas y la elección de los almacenes de datos adecuados. Obtenga información sobre las estrategias para mantener la integridad de los datos a través de los límites del servicio.
Orquestación de contenedores: implemente y administre microservicios en contenedores a escala mediante orquestadores de contenedores. Comprenda cómo las plataformas como Kubernetes automatizan la implementación, el escalado, el equilibrio de carga y la administración de estado para mantener el estado deseado del sistema en entornos de producción.
Patrones de diseño: aplique patrones de diseño probados específicos de microservicios, incluido el patrón Ambassador para descargar tareas de conectividad, el patrón Bulkhead para el aislamiento de recursos y el patrón Strangler Fig para la refactorización incremental de aplicaciones.
Prerrequisitos
Antes de leer estos artículos, comience con los siguientes recursos:
Introducción a las arquitecturas de microservicios: comprenda las ventajas y los desafíos de los microservicios y cuándo usar este estilo de arquitectura.
Uso del análisis de dominios para modelar microservicios: obtenga información sobre un enfoque controlado por dominio para modelar microservicios.
Arquitectura de ejemplo
Diagrama que muestra la arquitectura de una carga de trabajo de entrega de drones.
El diagrama presenta una arquitectura de sistema de alto nivel que funciona dentro de AKS. El diseño fluye de izquierda a derecha. Comienza con un componente con la etiqueta Cliente situado fuera del límite de AKS. El cliente envía datos al servicio ingesta, que reside dentro del entorno de AKS. Una flecha direccional conecta el cliente al servicio de ingesta, que indica la transferencia de datos inicial. A continuación, el servicio de ingesta reenvía los datos a Service Bus. Desde Service Bus, los datos se mueven al servicio Flujo de trabajo. El servicio Flujo de trabajo dirige las tareas a uno de los tres servicios especializados. Estos servicios incluyen el servicio de entrega, el servicio de programador de drones y el servicio de paquete. Cada uno de estos servicios está conectado a su propio sistema externo o solución de almacenamiento, representado por flechas que conducen a iconos distintos. El servicio delivery y el servicio Drone Scheduler enrutan los datos al almacenamiento o a los componentes de la base de datos, mientras que el servicio Package se conecta a una nube o a un sistema externo. Todos los componentes, excepto el cliente, se incluyen dentro de una frontera de puntos denominada AKS, que indica que se gestionan dentro de ese entorno.
Descargue un archivo Visio de esta arquitectura.
Scenario
Fabrikam, Inc. crea un servicio de entrega de drones. La empresa administra una flota de aviones dron. Las empresas se registran en el servicio y los usuarios pueden solicitar que un dron recoja los bienes para la entrega. Cuando un cliente programa una recogida, un sistema back-end asigna un dron y notifica al usuario un tiempo de entrega estimado. Durante la entrega, el cliente puede realizar un seguimiento de la ubicación del dron, incluida una hora estimada de llegada (ETA) actualizada continuamente.
Esta solución funciona bien para las industrias aeroespaciales y de aviones.
Este escenario implica un dominio bastante complicado. Algunos problemas empresariales incluyen la programación de drones, el seguimiento de paquetes, la administración de cuentas de usuario y el almacenamiento y el análisis de datos históricos. Fabrikam también quiere llegar al mercado y, a continuación, iterar rápidamente para agregar nuevas funcionalidades y capacidades. La aplicación debe funcionar a escala en la nube con un objetivo de alto nivel de servicio (SLO). Fabrikam también espera que diferentes partes del sistema tengan requisitos muy diferentes para el almacenamiento de datos y la consulta. En función de las consideraciones, Fabrikam elige una arquitectura de microservicios para la aplicación de entrega de drones.
Nota:
Para obtener más información sobre cómo elegir entre una arquitectura de microservicios y otros estilos arquitectónicos, consulte la guía de arquitectura Aplicación de Azure.
Esta arquitectura usa Kubernetes con AKS. Sin embargo, muchas de las decisiones y desafíos arquitectónicos de alto nivel se aplican a cualquier orquestador de contenedores.
Paso siguiente
Elija una opción de computación
Recursos relacionados
- Diseño de la comunicación entre servicios para microservicios
- Diseñar API para microservicios
- Uso de puertas de enlace de API en microservicios
- Consideraciones de datos para microservicios
- Orquestación de contenedores para microservicios
- Patrones de diseño para microservicios