Descripción general de Cloud Service Mesh

La malla de servicios de Cloud es una malla de servicios disponible en Google Cloud. y entre plataformas compatibles de GKE Enterprise. Admite servicios que se ejecutan en un rango de infraestructuras de procesamiento. Las APIs controlan la malla de servicios de Cloud diseñadas para Google Cloud, código abierto o ambos.

Este documento es para ti si eres un usuario nuevo de Cloud Service Mesh o un cliente continuo de Anthos Service Mesh o Traffic Director.

¿Qué es una malla de servicios?

Una malla de servicios es una arquitectura que permite administrar, observar y comunicación entre tus servicios, lo que te facilita la creación empresariales compuestas por muchos microservicios alojados en de Google Cloud. Las mallas de servicios administran los requisitos comunes de ejecutar un servicios, como la supervisión, las redes y la seguridad, con herramientas lo que facilita que los desarrolladores y operadores de servicios se enfoquen en crean y administran aplicaciones extraordinarias para sus usuarios.

A nivel arquitectónico, una malla de servicios consta de uno o más planos de control y una en el plano de datos. La malla de servicios supervisa todo el tráfico que entra y sale de tus servicios. En Kubernetes, un proxy se implementa mediante una patrón de archivo adicional a los microservicios de la malla. En Compute Engine, puedes implementar proxies en VMs o usar gRPC sin proxy para el plano de datos.

Este patrón separa la lógica empresarial o de la aplicación de las funciones de red y permite que los desarrolladores se enfoquen en las características que la empresa necesita. Las mallas de servicios también permiten que los equipos de operaciones y de desarrollo separen el trabajo entre sí.

Diseñar aplicaciones como microservicios proporciona muchos beneficios. Sin embargo, tus cargas de trabajo pueden volverse más complejas y fragmentarse a medida que se escalan. Servicio ayuda a resolver el problema de fragmentación y facilita la administración microservicios.

¿Qué es Cloud Service Mesh?

Cloud Service Mesh es la solución de Google para Google Cloud y compatibles con GKE Enterprise.

  • En Google Cloud: Cloud Service Mesh proporciona APIs que son específicas de la infraestructura de procesamiento en la que se ejecutan tus cargas de trabajo.
  • Fuera de Google Cloud: Con la nube distribuida o GKE, Cloud Service Mesh admite las APIs de Istio para Kubernetes de las cargas de trabajo.

Ya sea que estés dentro o fuera de Google Cloud, Cloud Service Mesh te permite administrar, observar y proteger tus servicios sin tener que cambiar tus el código de la aplicación.

Cloud Service Mesh reduce el trabajo repetitivo para tus operaciones y desarrollo a través de la simplificación de la entrega de servicios, desde la administración del tráfico y la malla telemetría para proteger las comunicaciones entre servicios. el servicio completamente administrado de Google te permite administrar entornos complejos y disfrutar de los beneficios que muy prometedores.

Funciones

Cloud Service Mesh tiene un paquete de funciones para administrar el tráfico, observabilidad, telemetría y seguridad.

Administración del tráfico

Cloud Service Mesh controla el flujo de tráfico entre los servicios en la a la malla (entrada) y a servicios externos (salida). Tú configuras e implementar recursos para administrar este tráfico en la capa de aplicación (L7). Por ejemplo, puedes hacer lo siguiente:

  • Usa el descubrimiento de servicios.
  • Configurar el balanceo de cargas entre servicios
  • Crear implementaciones de versiones canary y azul-verde.
  • Controla con precisión el enrutamiento de tus servicios.
  • Configurar disyuntores

La malla de servicios de Cloud mantiene una lista de todos los servicios en la malla por nombre. y por sus respectivos endpoints. Mantiene esta lista para administrar el flujo de tráfico (por ejemplo, direcciones IP del Pod de Kubernetes o las direcciones IP de VMs de Compute Engine en un grupo de instancias administrado). Mediante el uso de este registro de servicio y la ejecución de los proxies junto con el servicios, la malla puede dirigir el tráfico al extremo adecuado. Cargas de trabajo de gRPC sin proxy también se pueden usar en paralelo con cargas de trabajo que usan proxies de Envoy.

Estadísticas de observabilidad

La interfaz de usuario de la malla de servicios de Cloud en la consola de Google Cloud y proporciona estadísticas sobre tu malla de servicios. Estas métricas se obtienen automáticamente para las cargas de trabajo configuradas a través de las APIs de Istio.

  • Métricas y registros del servicio para el tráfico HTTP en GKE de tu malla clúster se transfieren automáticamente a Google Cloud.
  • Los paneles de servicio preconfigurados te brindan la información que necesitas para comprender tus servicios.
  • Telemetría en profundidad con la tecnología de Cloud Monitoring, Cloud Logging y Cloud Trace te permiten profundizar en las métricas y los registros del servicio. Puedes filtrar y segmentar datos sobre una amplia variedad de atributos.
  • Las relaciones entre servicios te ayudan a comprender de un vistazo dependencias y quién se conecta a cada servicio.
  • Puede ver rápidamente el nivel de seguridad de la comunicación, no solo servicio, sino también sus relaciones con otros servicios.
  • Los objetivos de nivel de servicio (SLO) proporcionan información sobre el estado de tus servicios. Puedes definir un SLO y una alerta según tus propios estándares de servicio y la salud general.

Obtén más información sobre las funciones de observabilidad de Cloud Service Mesh en nuestra Guía de observabilidad.

Beneficios de seguridad

Cloud Service Mesh te proporciona muchos beneficios de seguridad.

  • Se reduce el riesgo ataques de repetición o de robo de identidad con credenciales robadas. Cloud Service Mesh depende de certificados TLS mutuos (mTLS) para autentican pares, en lugar de tokens del portador, como los tokens web JSON (JWT).
  • Se garantiza la encriptación en tránsito. El uso de mTLS para la autenticación también garantiza que todas las comunicaciones de TCP estén encriptadas en tránsito.
  • Se mitiga el riesgo de que clientes no autorizados puedan acceder a un servicio con datos sensibles. sin importar la ubicación de red del cliente y el nivel credenciales.
  • Se reduce el riesgo de violación de la seguridad de los datos del usuario en tu red de producción. Puedes garantizar que los usuarios con información privilegiada solo puedan acceder a los datos sensibles a través de clientes autorizados.
  • Se identifica qué clientes accedieron a un servicio con datos sensibles. Malla de servicios en la nube de acceso captura la identidad de mTLS del cliente, además de la dirección IP pública.
  • Todos los componentes del plano de control en el clúster se compilan con módulos de encriptación validados por FIPS 140-2.

Obtén más información sobre los beneficios y las funciones de seguridad de Service Mesh en el Guía de seguridad.

Opciones de implementación

Tienes las siguientes opciones de implementación en Cloud Service Mesh:

  • En Google Cloud
    • Malla de servicios de Cloud administrada: plano de datos y control administrado para GKE (recomendado)
    • Malla de servicios de Cloud administrada: control y plano de datos administrados para Compute Engine con VMs (recomendado)
    • Plano de control en el clúster para GKE con las APIs de Istio (desaprobado)
  • Fuera de Google Cloud
    • Plano de control en el clúster para Kubernetes con las APIs de Istio

Malla de servicios en la nube administrada

La malla de servicios de Cloud administrada consta del plano de control administrado para de todas las infraestructuras y el plano de datos administrado para GKE. Con Cloud Service Mesh administrado, Google se encarga de las actualizaciones, el escalamiento y de seguridad para ti y minimiza el mantenimiento manual de los usuarios. Esto abarca el control el plano de datos, el plano de datos y los recursos relacionados.

Implementación del plano de datos

Si usas las APIs de Google Cloud, Envoy puede proporcionar tu plano de datos con proxies o aplicaciones de gRPC sin proxy. Si estás actualizando un plan aplicación, el enfoque basado en sidecar permite la integración en la malla sin cambiar tu aplicación. Si quieres evitar la sobrecarga de ejecutar o un archivo adicional, puedes actualizar la aplicación para usar gRPC.

Los proxies de Envoy y gRPC sin proxy usan la API de xDS para conectarse al control en el plano de control. Si usas gRPC sin proxy, tienes la opción de lenguajes compatibles para tus aplicaciones, incluidas Go, C++, Java y Python.

Si usas APIs de Istio de código abierto, los proxies de Envoy proporcionan el plano de datos.

Implementación del plano de control

El plano de control de Cloud Service Mesh depende de si tu activa o no en Google Cloud y si eres un nuevo cliente.

Implementación del plano de control para los usuarios existentes

Para determinar tu plano de control actual, consulta Identifica la implementación del plano de control. Para ver más para obtener más información sobre los planos de control y su migración, consulta Descripción general del plano de control administrado para clientes continuos.

Implementación del plano de control para usuarios nuevos

Migración del plano de control

Si eres cliente de Anthos Service Mesh y usas las APIs de Istio, tu comenzarán a migrarse al plano de control de Traffic Director. Puedes continúas usando las APIs de Istio para la configuración.

Para determinar si tus clústeres aún usan el plano de control de Istio o si migrado al nuevo plano de control global, leer Identifica la implementación del plano de control.

¿Qué sigue?