gVisor es un kernel de usuario (user-space kernel) desarrollado por Google que implementa una parte sustancial de la interfaz de llamadas al sistema de Linux. Su función principal es actuar como un "sandbox" para aplicaciones, interceptando todas las llamadas al sistema realizadas por el proceso y traduciéndolas a operaciones seguras que se ejecutan en el kernel del host. Esto permite ejecutar contenedores y otras cargas de trabajo con un nivel de aislamiento significativamente mayor que el proporcionado por los contenedores estándar de Linux (que comparten el kernel del host), pero con una sobrecarga mucho menor que la de una máquina virtual completa.

En el mundo real, gVisor es utilizado por Google para potenciar productos como Google Cloud Run, Google App Engine y Google Kubernetes Engine (GKE) Sandbox. Estos servicios aprovechan gVisor para ejecutar cargas de trabajo de clientes en un entorno multi-tenant con un aislamiento de seguridad mejorado, mitigando el riesgo de vulnerabilidades en el kernel del host que podrían ser explotadas por un contenedor malicioso. También puede ser utilizado directamente con Docker y Kubernetes a través de runtimes como 'runsc', proporcionando una capa de seguridad adicional para contenedores que ejecutan código no confiable.

Para un arquitecto de sistemas, gVisor es una herramienta estratégica para mejorar la postura de seguridad de las aplicaciones en contenedores, especialmente en entornos multi-tenant o cuando se ejecuta código de terceros. Ofrece un trade-off interesante entre seguridad y rendimiento: proporciona un aislamiento casi equivalente al de una VM, pero con una huella de recursos y un tiempo de arranque mucho menores. Sin embargo, no es una solución universal; la emulación de llamadas al sistema puede introducir una ligera sobrecarga de rendimiento para cargas de trabajo intensivas en I/O o syscalls, y no todas las aplicaciones son compatibles de inmediato. La decisión de adoptarlo debe sopesar la necesidad crítica de aislamiento de seguridad frente a los posibles impactos en el rendimiento y la compatibilidad de la aplicación.