Arquitectura

En este documento, se presentan los microservicios y se describen los tipos de microservicios compatibles con Cloud Monitoring.

El término microservicio tiene un significado diferente para distintas personas. Para algunos, el microservicio corresponde a los “cuadros” dibujados en una pizarra cuando se habla sobre la arquitectura del sistema. Otras hacen referencia a una definición más formal en la que se describe un extremo de red direccionable con una funcionalidad determinada por su API externa que se puede desarrollar, implementar y operar de forma independiente de otros microservicios del sistema. Incluso otros basan sus conocimientos en el concepto de microservicios que proporciona su plataforma de desarrollo, como los servicios de App Engine o el servicio de Anthos Service Mesh.

Nuestro objetivo no es imponer una definición de microservicio. En su lugar, queremos ayudarte a supervisar tus sistemas a gran escala durante la transformación digital mediante el aprovisionamiento de herramientas de supervisión orientadas al servicio que te asistan a ti y a tu arquitectura. Queremos trabajar contigo a fin de adoptar prácticas recomendadas para los sistemas de supervisión sin cambiar una sola línea del código.

Para ayudarte a supervisar tus microservicios, Cloud Monitoring hace lo siguiente:

  • Detecta microservicios de forma automática cuando sea posible.
  • Proporciona una experiencia guiada para definir microservicios basados en Google Kubernetes Engine y Cloud Run.
  • Ofrece una solución completamente personalizada para obtener la máxima flexibilidad.

Microservicios detectados de forma automática

Algunos frameworks de desarrollo modernos ofrecen conceptos bien definidos de un microservicio. En las arquitecturas que usan esos frameworks, Cloud Monitoring detecta de forma automática el momento en que se implementan, actualizan o borran servicios. Monitoring logra esta detección a través del análisis constante de la transmisión de metadatos que produce un proyecto.

Cloud Monitoring puede detectar de manera automática los microservicios compilados mediante los siguientes frameworks de desarrollo:

  • App Engine: App Engine tiene una noción sólida de microservicio, llamada servicio de App Engine (antes denominada módulo). Cada servicio se distingue por su propio archivo de configuración app.yaml.

  • Anthos Service Mesh: Cloud Monitoring es compatible con mallas de servicios compiladas sobre un clúster de GKE único. En esta configuración, un servicio de Anthos Service Mesh corresponde directamente a un servicio de GKE. Todos los servicios de Anthos Service Mesh, administrados por el usuario y por el sistema, se detectan de forma automática.

Paneles para microservicios de detección automática

El panel de servicio se crea de manera automática para todos los microservicios que se detectan de forma automática. El panel contiene los detalles de metadatos del servicio, el cronograma de alertas, el estado de los objetivos de nivel de servicio (SLO) y los registros relacionados con el servicio. Cada uno de estos componentes se describe con más detalle en Usa paneles de microservicios.

Panel de servicio para microservicios de detección automática.

GKE, Cloud Run y servicios personalizados

Cloud Monitoring puede identificar los servicios posibles o candidatos para los siguientes tipos:

  • Espacios de nombres de GKE
  • Servicios de GKE
  • Cargas de trabajo de GKE
  • Servicios de Cloud Run

Sin embargo, puede haber muchos candidatos, y no es necesario que crees SLO en todos ellos. Monitoring crea una lista de servicios candidatos y, luego, tú identificas los servicios que deseas tratar como servicios de Monitoring seleccionándolos en la lista. Luego, Monitoring crea la infraestructura de servicio por ti.

Cuando ningún tipo de servicio existente se adapta a una aplicación para la que deseas crear SLO, puedes definir un servicio personalizado.

Para obtener más información sobre la identificación de servicios de candidatos y la creación de servicios personalizados, consulta Define un microservicio.