Los microservicios se han convertido en un estilo arquitectónico popular para la compilación de aplicaciones en la nube resistentes, altamente escalables, que se pueden implementar de forma independiente y que evolucionan rápidamente. Sin embargo, para que sean algo más que la palabra de moda, los microservicios requieren un enfoque diferente para diseñar y compilar aplicaciones.
En esta serie de artículos, exploramos cómo compilar una arquitectura de microservicios en Azure. Contenido de los temas:
- Opciones de proceso para microservicios
- Comunicación entre servicios
- Diseño de API
- Puertas de enlace de API
- Consideraciones sobre los datos
- Patrones de diseño
Requisitos previos
Antes de leer estos artículos, puede comenzar con el siguiente:
- Introducción a las arquitecturas de microservicios. Conozca las ventajas y dificultades de los microservicios y cuándo usar este estilo de arquitectura.
- Uso de análisis de dominios para modelar microservicios. Conozca un enfoque basado en dominios para el modelado de microservicios.
Implementación de referencia
Para ilustrar los procedimientos recomendados para una arquitectura de microservicios, hemos creado una implementación de referencia que hemos denominado Drone Delivery. Esta implementación se ejecuta en Kubernetes mediante Azure Kubernetes Service (AKS). Puede encontrar la implementación de referencia en GitHub.
Descargue un archivo Visio de esta arquitectura.
Escenario
Fabrikam, Inc. está iniciando un servicio de entrega con drones. La empresa administra una flota de drones. 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 con un tiempo de entrega estimado. Con la entrega en curso, el cliente puede realizar el seguimiento del dron, con una fecha estimada que se actualiza constantemente.
Esta solución es ideal para los sectores aeroespaciales y de aeronaves.
Este escenario implica un dominio bastante complicado. Algunas de las cuestiones empresariales incluyen la programación de los drones, el seguimiento de los paquetes, la administración de las cuentas de usuario, y el almacenamiento y análisis de los datos históricos. Además, Fabrikam desea salir al mercado y evolucionar rápidamente con la incorporación de funciones y funcionalidades nuevas. La aplicación necesita operar en la nube, con un objetivo de nivel de servicio alto. Fabrikam también prevé que distintas partes del sistema tendrán requisitos muy diferentes respecto al almacenamiento y la consulta de datos. Todas estas consideraciones hacen que Fabrikam se decante por una arquitectura de microservicios para la aplicación Delivery de Drone.
Nota:
Para ayuda para elegir entre una arquitectura de microservicios y otros estilos de arquitectura, consulte la Guía de la arquitectura de aplicaciones en Azure.
Nuestra implementación de referencia usa Kubernetes con Azure Kubernetes Service (AKS). Sin embargo, muchos de los desafíos y las decisiones de arquitectura de alto nivel se aplicarán a cualquier orquestador de contenedor.