Anthos Service Mesh es un conjunto de herramientas que te ayuda a supervisar y administrar una malla de servicios confiable de forma local o en Google Cloud.
¿Qué es una malla de servicios?
Una malla de servicios es una arquitectura que permite una comunicación administrada, observable y segura en todos tus servicios, de modo que puedes crear aplicaciones empresariales sólidas y compuestas por muchos microservicios en la infraestructura seleccionada. Con las mallas de servicios, se dejan de lado todas las preocupaciones comunes de ejecutar un servicio, como la supervisión, las redes y la seguridad, por medio de herramientas potentes y coherentes, lo que facilita que los desarrolladores y operadores de servicios se concentren en crear y administrar aplicaciones excelentes para sus usuarios.
Anthos Service Mesh funciona con Istio, una plataforma de malla de servicios de código abierto muy potente y configurable, con herramientas y funciones que permiten seguir las prácticas recomendadas de la industria. Anthos Service Mesh se implementa como una capa uniforme en toda tu infraestructura. Los desarrolladores y operadores de servicios pueden usar sus amplios conjuntos de atributos sin hacer cambios en el código de la aplicación.
A nivel de arquitectura, una malla de servicios consta de uno o más planos de control y un plano de datos. La malla de servicios supervisa todo el tráfico a través de un proxy. En Kubernetes, el proxy se implementa mediante un patrón de archivo adicional en los microservicios de la malla. En las máquinas virtuales (VM), el proxy se instala en la VM. 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í.
¿Cómo puede ayudarme Anthos Service Mesh?
Con Anthos Service Mesh, obtienes una distribución de Istio probada y compatible con GKE Enterprise, lo que te permite crear e implementar una malla de servicios en GKE en Google Cloud y otras plataformas con asistencia completa de Google.
Atributos
Anthos Service Mesh cuenta con un conjunto de funciones y herramientas que te ayudan a observar y administrar servicios seguros y confiables de manera unificada.
Administración del tráfico
Anthos Service Mesh controla el flujo de tráfico entre servicios, hacia la malla (entrada) y hacia servicios externos (salida). Debes implementar y configurar recursos personalizados compatibles con Istio para administrar este tráfico en la capa de la aplicación (L7). Por ejemplo, con los recursos personalizados, puedes hacer lo siguiente:
- Crea implementaciones Canary y azul-verde.
- Proporciona un control detallado sobre las rutas específicas para los servicios
- Configura el balanceo de cargas entre servicios.
- Configura los disyuntores.
Anthos Service Mesh mantiene un registro de todos los servicios en la malla por nombre y por sus extremos respectivos. Mantiene el registro para administrar el flujo de tráfico (por ejemplo, las direcciones IP del Pod de Kubernetes). Cuando se usa este registro de servicio y se ejecutan los proxies junto con los servicios, la malla puede dirigir el tráfico al extremo adecuado.
Estadísticas de observabilidad
Las páginas de Anthos Service Mesh en la consola de Google Cloud proporcionan las siguientes estadísticas sobre la malla de servicios:
Las métricas y los registros del tráfico HTTP del servicio dentro del clúster de GKE de tu malla se transfieren de forma automática a Google Cloud.
Los paneles de servicios preconfigurados te brindan la información que necesitas para comprender los servicios.
La telemetría profunda, con la tecnología de Cloud Monitoring, Cloud Logging y Cloud Trace, te permite analizar en profundidad los registros y métricas del servicio. Puedes filtrar y segmentar los datos en una amplia variedad de atributos.
La vista rápida de las relaciones de servicio a servicio te ayuda a estar al tanto de quién se conecta a cada servicio y de qué servicios depende cada servicio.
Puedes ver con rapidez el enfoque de seguridad de la comunicación de tu servicio y de sus relaciones con otros servicios.
Los objetivos de nivel de servicio (SLO) proporcionan información sobre el estado de tus servicios. Puedes definir con facilidad un SLO y alertas en función de tus propios estándares del estado del servicio.
Obtén más información sobre las funciones de observabilidad de Anthos Service Mesh en nuestra Guía de observabilidad.
Beneficios de seguridad
Se reduce el riesgo ataques de repetición o de robo de identidad con credenciales robadas. Anthos Service Mesh se basa en certificados de TLS mutua (mTLS) para autenticar 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.
Asegura que solo los clientes autorizados pueden acceder a un servicio con datos sensibles, sin importar la ubicación de la red del cliente ni las credenciales a nivel de la aplicación.
Se reduce el riesgo de violación de la seguridad de los datos del usuario en tu red de producción. Puedes asegurarte de que los usuarios con información privilegiada solo puedan acceder a datos sensibles a través de clientes autorizados.
Se identifica qué clientes accedieron a un servicio con datos sensibles. El registro de acceso de Anthos Service Mesh captura la identidad de mTLS del cliente, además de la dirección IP.
Todos los proxies y componentes del plano de control en el clúster usan módulos de encriptación validados por FIPS 140-2.
Obtén más información sobre los beneficios y las características de seguridad de Anthos Service Mesh en nuestra guía de seguridad.
Opciones de implementación
En Anthos Service Mesh 10.3 y versiones posteriores, tienes las siguientes opciones de implementación:
- Plano de control en el clúster
- Anthos Service Mesh administrado
- Incluye las VM de Compute Engine en la malla de servicios.
Plano de control en el clúster
En el siguiente diagrama, se muestran los componentes y funciones de Anthos Service Mesh para el plano de control en el clúster y los proxies de sidecar.
Anthos Service Mesh administrado
Anthos Service Mesh consta del plano de control administrado por Google y, en Anthos Service Mesh 1.10.4 y versiones posteriores, puedes habilitar el plano de datos administrado por Google de forma opcional. Con Anthos Service Mesh administrado, Google se encarga de las actualizaciones, el escalamiento y la seguridad para que puedas minimizar el mantenimiento manual de los usuarios. Cuando habilitas el plano de datos administrado por Google, debes agregar una anotación a tus espacios de nombres que instala un controlador en el clúster que administra los proxies de sidecar por ti.
En el siguiente diagrama, se muestran los componentes y funciones de Anthos Service Mesh para Anthos Service Mesh administrado:
Para obtener información sobre cómo configurar o migrar a Anthos Service Mesh administrada, consulta Configura Anthos Service Mesh administrado.
Anthos Service Mesh para las VM de Compute Engine
Anthos Service Mesh para las VM de Compute Engine está disponible como una característica de vista previa. Puedes administrar, observar y proteger los servicios que se ejecutan en los grupos de instancias administrados (MIG) de Compute Engine y los clústeres de GKE en Google Cloud en la misma malla. Puedes combinar y elegir el mejor entorno para ejecutar tus servicios mientras disfrutas de los beneficios de Anthos Service Mesh. En el siguiente diagrama, se muestra un MIG en la misma malla de servicios que un clúster de GKE:
Para obtener más información, consulta la página Agrega VM de Compute Engine a Anthos Service Mesh.