Istio

Una plataforma abierta para conectar, supervisar y proteger microservicios.

Información general

Istio es una malla de servicios independiente de software libre que te ofrece los recursos fundamentales que necesitas para ejecutar una arquitectura de microservicios distribuida. A medida que las organizaciones van adoptando las plataformas en la nube, los desarrolladores deben diseñar arquitecturas que ofrezcan portabilidad utilizando microservicios. Por su parte, los operadores deben gestionar despliegues distribuidos de gran envergadura, tanto híbridos como multinube. Istio reduce la complejidad de gestionar despliegues de microservicios al proporcionar un sistema uniforme para protegerlos, conectarlos y supervisarlos.

Seguridad con Istio

Alivia la carga de seguridad para que los desarrolladores puedan centrarse en las tareas más importantes.

Supervisión con Istio

Detecta y resuelve problemas de forma rápida y eficaz con funciones de supervisión robustas y fáciles de usar.

Conexión con Istio

Istio simplifica la gestión del tráfico a medida que varía la escala del despliegue.

"Como disfrutamos de una mayor visibilidad con respecto a nuestras aplicaciones, podemos solucionar mucho más rápido cualquier problema que surja. Usar Istio en Kubernetes nos ha brindado la confianza suficiente como para migrar de forma segura nuestras aplicaciones a la nube pública e incrementar la fiabilidad, la estabilidad y el rendimiento de nuestra plataforma".

Russell Warman, jefe de Infraestructura de Autotrader
Comunicaciones seguras entre servicios

Protección de las comunicaciones entre servicios

Istio gestiona de manera escalable la autenticación, la autorización y el encriptado de las comunicaciones entre microservicios. Además, ofrece un canal de comunicación subyacente y seguro para que los desarrolladores puedan centrarse en la seguridad a nivel de la aplicación.

Comunicaciones entre servicios

Comunicaciones seguras

Istio mejora la seguridad de los microservicios y su comunicación, tanto entre servicios como con el usuario final, sin necesidad de hacer cambios en el código del servicio. De esta forma, se proporciona a cada servicio una identidad robusta basada en su función para permitir la interoperabilidad entre clústeres y nubes.

Defensa reforzada

Defensa reforzada

Al usar Istio junto con las políticas de red de Kubernetes (o de la infraestructura), la comunicación entre pods o servicios se protege tanto en las capas de red como en las de aplicación. Istio se basa en la estrategia de defensa reforzada de Google para aumentar la seguridad de las comunicaciones de los microservicios. Al usar Istio en Google Cloud, la infraestructura de Google te permite crear un despliegue de aplicaciones verdaderamente seguro.

Seguro de forma predeterminada

Seguro de forma predeterminada

Con Istio, puedes tener la tranquilidad de que las comunicaciones entre servicios están protegidas de manera predeterminada, por lo que los cambios necesarios en la aplicación son mínimos o inexistentes. Además, puedes aplicar estas políticas uniformemente en diversos protocolos y tiempos de ejecución.

Registro

Registro, supervisión y mantenimiento de servicios operativos

Istio lleva a cabo funciones de rastreo, supervisión y registro para ofrecer información valiosa sobre tu despliegue de malla de servicios. De este modo, puedes ver el rendimiento de tus servicios y cómo afecta a otros procesos, además de detectar y evaluar los problemas de forma rápida y eficaz.

Visibilidad panorámica

Visibilidad panorámica

Con los paneles personalizados de Istio podrás obtener una visión general del comportamiento de tus servicios, para detectar los problemas rápidamente y evaluarlos de manera eficaz.

Información sobre el servicio

Información sobre el rendimiento de los servicios

Con las prestaciones de supervisión de Istio puedes entender cómo influye el rendimiento de los servicios en los canales de subida y de bajada, lo que te permite configurar, supervisar y aplicar los objetivos de nivel de servicio de manera más eficaz.

Métricas

Métricas oportunas en el momento adecuado

Obtén métricas y trazas de cualquiera de las aplicaciones activas, sin que los desarrolladores tengan que equipar sus aplicaciones manualmente.

Gestión del tráfico

Administración del tráfico y control de políticas

La gestión del tráfico de Istio te permite controlar el flujo de tráfico y las llamadas a las API entre servicios. Además, te proporciona una mejor visibilidad del tráfico para que puedas detectar los errores antes de que causen problemas. Así, las llamadas son más fiables y tu red es más robusta, incluso en condiciones adversas.

Configuración de reglas sencilla

Configuración de reglas sencilla

Con Istio puedes modificar las propiedades a nivel de servicio (por ejemplo, disyuntores, tiempos de espera y reintentos) y configurar tareas comunes de despliegue continuo (como lanzamientos Canary, pruebas A/B y lanzamientos progresivos con divisiones de tráfico basadas en porcentajes).

Orientación del contenido

Dirige el contenido a donde quieras

El tráfico seguirá las reglas que especifiques, por lo que puedes dirigirlo hacia determinadas versiones del servicio, independientemente del número de instancias compatibles con esas versiones. Por ejemplo, puedes especificar que el 5 % de todo el tráfico vaya a una versión Canary concreta o dirigirlo a una versión específica en función del contenido de la solicitud.

Recuperación tras fallos

Recuperación tras fallos desde el primer momento

Disfruta de funciones robustas de recuperación tras fallos desde el primer momento: tiempos de espera, reintentos con presupuestos de tiempo de espera y fluctuación variable, conexión simultánea y solicitudes de límites de servicios de subida, comprobaciones activas y periódicas del estado de cada miembro del grupo de balanceo de carga y comprobaciones de estado pasivas como disyuntores pormenorizados.

Características de seguridad de Istio

Autenticación de servicios robusta

Istio solo permite el acceso a los servicios con datos sensibles mediante clientes autorizados y con funciones de autenticación muy seguras.

Política de autenticación

La política de configuración de Istio solo afecta al servidor en la autenticación de plataformas, no al cliente, por lo que puedes especificar los requisitos de autenticación de los servicios.

Control de acceso basado en roles

El control de acceso basado en roles (RBAC) de Istio ofrece funciones de control de acceso a nivel de espacio de nombres, de servicio y de método para los servicios de su malla. Incluye semántica basada en roles, muy fácil de usar, y autorización entre servicios, así como entre usuarios finales y servicios. Es flexible y admite propiedades personalizadas en los roles y los enlaces a estos.

Autenticación TLS mutua

Istio mejora la seguridad de los microservicios y su comunicación, tanto entre servicios como con el usuario final, sin necesidad de hacer cambios en el código del servicio. De esta forma, se proporciona a cada servicio una identidad robusta basada en su rol para permitir la interoperabilidad entre clústeres y nubes.

Gestión de claves

El sistema de gestión de claves de Istio automatiza la generación, distribución, rotación y revocación de claves y certificados.

Características de supervisión de Istio

Abstracción de backend

Mixer (el componente de Istio que permite controlar las políticas y recoger datos de telemetría) aísla el resto de Istio de los datos de implementación de cada backend de infraestructura.

Intermediación

Con Mixer conseguirás un control detallado de todas las interacciones entre la malla y los backends de la infraestructura.

Latencia baja

A diferencia de los proxies adicionales que se colocan junto a cada instancia de servicio en la malla y que consumen poca memoria, Mixer es independiente, por lo que usa cachés y búferes de salida de mayor tamaño y actúa como caché de segundo nivel muy escalada y de alta disponibilidad para los proxies adicionales.

Gran fiabilidad

Mixer se ha diseñado para ofrecer una gran disponibilidad a cada una de sus instancias. Sus cachés y búferes locales reducen la latencia, ayudan a ocultar los fallos de backend de la infraestructura y están activos incluso cuando un backend no responde.

Características de conexión de Istio

La gestión del tráfico, separada del escalado de la infraestructura

Separar la gestión del tráfico y el escalado de la infraestructura permite usar funciones que se ejecutan fuera del código de la aplicación, como el enrutamiento dinámico de solicitudes para pruebas A/B, los lanzamientos graduales y las versiones Canary. Asimismo, permite gestionar la recuperación tras fallos mediante tiempos de espera, reintentos y disyuntores, y usar la inyección de fallos para comprobar la compatibilidad de las políticas de recuperación tras fallos de los servicios.

Inyección de fallos

Si se usan políticas de recuperación tras fallos mal configuradas, los servicios más importantes pueden quedar inaccesibles de forma continuada, por lo que es esencial hacer pruebas exhaustivas de recuperación tras fallos. Con Istio, puedes llevar a cabo procesos de inyección de fallos específicos de un protocolo en la red en lugar de eliminar pods o atrasar o dañar paquetes en la capa TCP.

Balanceo de carga

En la actualidad, Istio admite tres de los modos de balanceo de carga compatibles con Envoy: encadenado (se selecciona cada host de subida en buen estado en orden round robin), aleatorio (un balanceador de carga aleatorio selecciona un host en buen estado, también aleatorio) y solicitud mínima ponderada.

"Poder ver quién ejecuta cada microservicio en cada momento se ha convertido en un reto cada vez más complicado debido al creciente éxito de este modelo y a su mayor adopción en distintas cargas de trabajo. Al desplegar Istio, los usuarios obtienen datos valiosos y una visibilidad exhaustiva de nuestros servicios de forma inmediata, uniforme y en tiempo real, independientemente del lenguaje en que estén programados. Esta visibilidad constante nos ayuda a solucionar problemas de forma más rápida y a lograr que nuestros servicios sean más sólidos".

Tim Kelton, cofundador de Descartes Labs

Documentación

Recursos

Explora los tutoriales, lee las guías de inicio rápido y consulta las reseñas.

Integraciones

Asistencia empresarial para Istio

Google Cloud ofrece Asistencia para empresas para Istio en los despliegues on-premise y en la nube que no se realicen a través de GCP. Hay varios niveles de asistencia, para que elijas con flexibilidad. Entre las ofertas de asistencia destacan las imágenes con certificación de Google con las que hacer pruebas en configuraciones de Kubernetes, instalaciones de máquinas virtuales, tareas de mantenimiento y mucho más. También hay otras opciones disponibles, como los servicios profesionales de expertos de Google Cloud.

Gestión de APIs de Apigee para Istio

Los microservicios se convierten en APIs cuando tienen que comunicarse con partners o clientes externos, o transmitir información a otros grupos internamente. Google Cloud ofrece la plataforma de gestión de APIs de Apigee para Istio, que permite integrar de forma nativa la gestión de APIs con los microservicios. Con Apigee, las organizaciones pueden gestionar y supervisar APIs de forma segura, tanto si están alojadas en la nube como si se encuentran en los recursos on-premise.