Virtualización de aplicaciones

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

La virtualización de aplicaciones es una tecnología de software que encapsula los programas informáticos del sistema operativo subyacente en el que se ejecutan. Una aplicación completamente virtualizada no se instala en el sentido tradicional, aunque se ejecuta como si lo estuviera. La aplicación se comporta en tiempo de ejecución como si estuviera interactuando directamente con el sistema operativo original y todos los recursos que administra, pero puede aislarse o aislarse en distintos grados.

En este contexto, el término "virtualización" se refiere al artefacto que se encapsula (aplicación), lo que es bastante diferente de su significado en la virtualización de hardware, donde se refiere al artefacto que se abstrae (hardware físico).

Descripción

Diagram of application virtualization
Ilustración de una aplicación que se ejecuta en un entorno nativo y se ejecuta en un entorno de virtualización de aplicaciones

La virtualización completa de aplicaciones requiere una capa de virtualización. Las capas de virtualización de aplicaciones reemplazan parte del entorno de ejecución que normalmente proporciona el sistema operativo. La capa intercepta todas las operaciones de disco de las aplicaciones virtualizadas y las redirige de forma transparente a una ubicación virtualizada, a menudo un único archivo. La aplicación no se da cuenta de que está accediendo a un recurso virtual en lugar de a uno físico. Dado que la aplicación ahora trabaja con un solo archivo en lugar de con muchos archivos distribuidos por todo el sistema, resulta fácil ejecutar la aplicación en un equipo diferente y se pueden ejecutar aplicaciones que antes eran incompatibles en paralelo.

Beneficios

La virtualización de aplicaciones permite que las aplicaciones se ejecuten en entornos que no son adecuados para la aplicación nativa. Por ejemplo, Wine permite que algunas aplicaciones de Microsoft Windows se ejecuten en Linux.

La virtualización de aplicaciones reduce los costos de administración e integración de sistemas al mantener una base de software común en varios equipos distintos de una organización. Una menor integración protege el sistema operativo y otras aplicaciones de código mal escrito o con errores. En algunos casos, proporciona protección de memoria, funciones de depuración de estilo IDE e incluso puede ejecutar aplicaciones que no están escritas correctamente, por ejemplo, aplicaciones que intentan almacenar datos de usuario en una ubicación de solo lectura propiedad del sistema. (Esta función ayuda a la implementación del principio de privilegio mínimo al eliminar el requisito de que los usuarios finales tengan privilegios administrativos para ejecutar aplicaciones mal escritas). Permite que las aplicaciones incompatibles se ejecuten en paralelo, al mismo tiempo y con pruebas de regresión mínimas entre sí. Aislar las aplicaciones del sistema operativo también tiene beneficios de seguridad, ya que la exposición de la aplicación virtualizada no implica automáticamente la exposición de todo el sistema operativo.

La virtualización de aplicaciones también permite migraciones simplificadas de sistemas operativos. Las aplicaciones pueden transferirse a medios extraíbles o entre computadoras sin necesidad de instalarlas, convirtiéndose en software portátil.

La virtualización de aplicaciones utiliza menos recursos que una máquina virtual independiente.

Limitaciones

No todos los programas informáticos se pueden virtualizar. Algunos ejemplos incluyen aplicaciones que requieren un controlador de dispositivo (una forma de integración con el sistema operativo) y aplicaciones de 16 bits que necesitan ejecutarse en un espacio de memoria compartida. Los programas antivirus y las aplicaciones que requieren una gran integración con el sistema operativo, como WindowBlinds o StyleXP, son difíciles de virtualizar.

Además, en materia de licencias de software, la virtualización de aplicaciones presenta grandes inconvenientes, principalmente porque tanto el software de virtualización de aplicaciones como las aplicaciones virtualizadas deben tener las licencias correctas.

Si bien la virtualización de aplicaciones puede solucionar problemas de compatibilidad a nivel de archivo y de Registro entre aplicaciones antiguas y sistemas operativos más nuevos, las aplicaciones que no administran el montón correctamente no se ejecutarán en Windows Vista, ya que siguen asignando memoria de la misma manera, independientemente de si están virtualizadas. Por este motivo, es posible que aún se necesiten correcciones de compatibilidad de aplicaciones especializadas (shims), incluso si la aplicación está virtualizada.

Las discrepancias funcionales dentro del modelo de multicompatibilidad son una limitación adicional, cuando los puntos de acceso controlados por servicios públicos se comparten dentro de una red pública. Estas limitaciones se superan mediante la designación de un controlador de punto compartido a nivel de sistema.

Las categorías de tecnología que se incluyen en la virtualización de aplicaciones incluyen:

  • Flujo de aplicaciones. Las piezas del código, los datos y la configuración de la aplicación se entregan cuando se necesitan por primera vez, en lugar de toda la aplicación que se entrega antes de la puesta en marcha. Ejecutar la aplicación envasada puede requerir la instalación de una aplicación ligera del cliente. Los paquetes se entregan generalmente en un protocolo como HTTP, CIFS o RTSP.
  • Remote Desktop Services (anteriormente llamada Terminal Services) es un componente de virtualización de computación/presentación basado en servidor de Microsoft Windows que permite a un usuario acceder a aplicaciones y datos alojados en un ordenador remoto a través de una red. Las sesiones Remote Desktop Services se ejecutan en un único sistema operativo compartido (por ejemplo, Windows Server 2008 R2 y más tarde) y se acceden a través del Protocolo de escritorio remoto.
  • Las tecnologías de software de virtualización de escritorio mejoran la portabilidad, manejabilidad y compatibilidad del entorno de escritorio de un ordenador personal separando parte o todo el entorno de escritorio y aplicaciones asociadas del dispositivo cliente físico que se utiliza para acceder a él. Una aplicación común de este enfoque es acoger múltiples instancias del sistema operativo de escritorio en una plataforma de hardware servidor que ejecuta un hipervisor. Esto se conoce generalmente como "infraestructura virtual de escritorio" (VDI).

Véase también

  • virtualización del espacio de trabajo
  • virtualización a nivel de OS ("containerization")
  • Creadores de aplicaciones portátiles
  • Comparación del software de virtualización de aplicaciones
  • Shim (computing)
  • Aplicación virtual
  • Emulator

Referencias

  1. ^ "Microsoft Application Virtualization Technical Overview". microsoft.com. Microsoft. Retrieved 1° de julio 2017.
  2. ^ Husain, Amir. "Cómo construir un marco de virtualización de aplicaciones". vdiworks.com. VDIworks. Retrieved 1° de julio 2008.
  3. ^ Gurr, Coby (28 de julio de 2008). "Facilitando Microsoft Windows Vista Migración a través de la virtualización de aplicaciones" (PDF). dell.com. Dell. Archivado desde el original (PDF) on 2009-04-23.
  4. ^ a b c d Winslow, Philip; Semple, Robert; Maynard, Jason; Simson, Dennis; McGrath, Bryan (26 de noviembre de 2007). "Desktop Virtualization Comes of Age" (PDF). Credit Suisse. Archivado desde el original (PDF) el 20 de febrero de 2009. Retrieved 3 de marzo 2008.
  5. ^ "Overview Series: Windows Vista Application Compatibilidad". TechNet. Microsoft. 25 julio 2008. Retrieved 1° de julio 2017.
  6. ^ Varhol, Peter (1 de septiembre de 2007). "Application Virtualization Hits Its Stride". Redmond Magazine. 1105 Media. Archivado desde el original el 10 de junio de 2008.
  7. ^ Sommer, Tim (junio de 2012). "Top 200 SAM Terms – Glosario de Gestión de Activos de Software". omtco.eu. OMTCO. Retrieved 20 de mayo 2013.
  8. ^ Marinescu, Adrian (3 de agosto de 2006). "Windows Vista Heap Management Enhancements" (PDF). blackhat.com. Microsoft.
  9. ^ Jackson, Chris (30 de abril de 2008). "¿Puedes Shim Aplicaciones Virtualizadas en SoftGrid?". Microsoft.
  10. ^ Enzler, R (2003). "Virtualizing Hardware with Multi-context Reconfigurable Arrays". Aplicación y lógica programable de campo. Notas de conferencia en Ciencias de la Computación. Vol. 2778. pp. 151–160. doi:10.1007/978-3-540-45234-8_16. ISBN 978-3-540-40822-2.
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save