Microservicios con AKS

Container Registry
Azure DevOps
Kubernetes Service
GitHub

Idea de solución

Si le gustaría que expandamos este artículo con más información, como posibles casos de uso, servicios alternativos, consideraciones de implementación o una guía de precios, comuníquese a través de los Comentarios de GitHub.

Use AKS para simplificar la implementación y administración de una arquitectura basada en microservicios. AKS optimiza la escalabilidad horizontal, la recuperación automática, el equilibrio de carga y la administración de secretos.

Architecture

Diagrama de la arquitectura Descargue un SVG de esta arquitectura.

Flujo de datos

  1. El desarrollador usa un IDE, como Visual Studio, para confirmar los cambios en GitHub.
  2. GitHub desencadena una nueva compilación en Azure DevOps.
  3. Azure DevOps empaqueta los microservicios como contenedores y los envía a Azure Container Registry.
  4. Los contenedores se implementan en el clúster de AKS.
  5. Los usuarios acceden a los servicios a través de aplicaciones y de un sitio web.
  6. Azure Active Directory se usa para proteger el acceso a los recursos.
  7. Los microservicios emplean bases de datos para almacenar y recuperar información.
  8. El administrador accede a través de un portal de administración independiente.

Componentes

  • Azure DevOps empaqueta los microservicios como contenedores.
  • Azure Kubernetes Service ofrece clústeres de Kubernetes totalmente administrados para la implementación, el escalado y la administración de aplicaciones en contenedores.
  • Azure Container Registry es un servicio privado administrado del registro de Docker en Azure. Utilice Container Registry para almacenar imágenes de Docker privadas, que se implementan en el clúster.
  • GitHub Enterprise proporciona una plataforma de hospedaje de código que los desarrolladores pueden usar para colaborar en proyectos de código abierto y de origen interno.
  • Azure Pipelines forma parte de Azure DevOps Services y se usa para ejecutar compilaciones, pruebas e implementaciones automatizadas. Cada vez que se cambia el código en el repositorio de código, la canalización de Azure DevOps compila continuamente las imágenes de contenedor, se inserta en Azure Container Registry y, a continuación, los manifiestos se implementan en el clúster de Azure Kubernetes Service.
  • Azure Active Directory. Cuando AKS está integrado en Azure Active Directory, permite usar usuarios, grupos o entidades de servicio de Azure AD como firmantes en RBAC de Kubernetes para administrar los recursos de AKS de manera segura.
  • Azure Database for MySQL es un servicio de MySQL Database totalmente administrado en Azure para almacenar datos con estado.
  • Azure SQL Database es un servicio de base de datos relacional inteligente y totalmente administrado creado para la nube. Con SQL Database, puede crear una capa de almacenamiento de datos de gran rendimiento y disponibilidad para las modernas aplicaciones en la nube.
  • Azure Cosmos DB es un servicio de base de datos NoSQL totalmente administrado para compilar y modernizar aplicaciones escalables de alto rendimiento.

Pasos siguientes

Si necesita repasar conocimientos sobre Kubernetes, complete el Taller de Azure Kubernetes Service para implementar una aplicación de varios contenedores en Kubernetes en Azure Kubernetes Service (AKS).