Articulo de referencia

Virtualización de aplicaciones

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 t...

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 totalmente virtualizada no se instala en el sentido tradicional, [ 1 ] aunque se ejecuta como si lo estuviera. En tiempo de ejecución, la aplicación se comporta como si interactuara directamente con el sistema operativo original y todos los recursos que este gestiona, pero puede aislarse o ejecutarse en un entorno seguro en distintos grados.

En este contexto, el término "virtualización" se refiere al artefacto que se encapsula (aplicación), lo cual 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

Diagrama de virtualización de aplicaciones
Ilustración de una aplicación ejecutándose en un entorno nativo y ejecutándose en un entorno de virtualización de aplicaciones.

La virtualización completa de aplicaciones requiere una capa de virtualización. [ 2 ] 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 solo archivo. [ 3 ] La aplicación no se da cuenta de que accede a un recurso virtual en lugar de uno físico. Dado que la aplicación ahora trabaja con un solo archivo en lugar de muchos archivos dispersos por todo el sistema, resulta sencillo ejecutarla en un equipo diferente, y aplicaciones previamente incompatibles pueden ejecutarse en paralelo.

Beneficios

La virtualización de aplicaciones permite que estas 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 integración y administración del sistema al mantener una base de software común en múltiples computadoras diversas dentro 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 y funciones de depuración al estilo de un IDE , e incluso puede ejecutar aplicaciones que no están escritas correctamente, como aquellas que intentan almacenar datos de usuario en una ubicación del sistema de solo lectura. (Esta función ayuda a implementar el principio de mínimo privilegio al eliminar la necesidad de que los usuarios finales tengan privilegios administrativos para ejecutar aplicaciones mal escritas). Permite que aplicaciones incompatibles se ejecuten en paralelo, al mismo tiempo [ 4 ] y con pruebas de regresión mínimas entre sí. [ 5 ] 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. [ 4 ]

La virtualización de aplicaciones también permite migraciones de sistemas operativos simplificadas. [ 4 ] Las aplicaciones se pueden transferir 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 pueden virtualizarse. 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. [ 6 ] Los programas antivirus y las aplicaciones que requieren una integración profunda 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 conlleva grandes dificultades en cuanto a licencias, principalmente porque tanto el software de virtualización de aplicaciones como las aplicaciones virtualizadas deben estar correctamente licenciados. [ 7 ]

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

Las discrepancias funcionales dentro del modelo de multicompatibilidad constituyen una limitación adicional, especialmente cuando los puntos de acceso impulsados ​​por la utilidad 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. [ 10 ]

Las categorías tecnológicas que se engloban dentro de la virtualización de aplicaciones incluyen:

  • Transmisión de aplicaciones . Partes del código, los datos y la configuración de la aplicación se entregan cuando se necesitan por primera vez, en lugar de que la aplicación completa se entregue antes del inicio. La ejecución de la aplicación empaquetada puede requerir la instalación de una aplicación cliente ligera. Los paquetes generalmente se entregan a través de un protocolo como HTTP, CIFS o RTSP . [ 4 ]
  • Los Servicios de Escritorio Remoto (anteriormente llamados Servicios de Terminal) son 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 equipo remoto a través de una red. Las sesiones de Servicios de Escritorio Remoto se ejecutan en un único sistema operativo de servidor compartido (por ejemplo, Windows Server 2008 R2 y versiones posteriores) y se accede a ellas mediante el Protocolo de Escritorio Remoto .
  • Las tecnologías de software de virtualización de escritorio mejoran la portabilidad, la gestión y la compatibilidad del entorno de escritorio de un ordenador personal al separar, total o parcialmente, dicho entorno y las aplicaciones asociadas del dispositivo cliente físico utilizado para acceder a él. Una implementación común de este enfoque consiste en alojar múltiples instancias de sistemas operativos de escritorio en una plataforma de hardware de servidor que ejecuta un hipervisor. Esto se conoce generalmente como «infraestructura de escritorio virtual» (VDI).

Véase también

Referencias

  1. "Descripción general técnica de la virtualización de aplicaciones de Microsoft" . microsoft.com . Microsoft . Consultado el 1 de julio de 2017 .
  2. Husain, Amir. "Cómo construir un marco de virtualización de aplicaciones" . vdiworks.com . VDIworks . Consultado el 1 de julio de 2008 .
  3. Gurr, Coby (28 de julio de 2008). "Facilitando la migración a Microsoft Windows Vista mediante la virtualización de aplicaciones" (PDF) . dell.com . Dell . Archivado del original (PDF) el 23 de abril de 2009.
  4. 1 2 3 4 Winslow, Philip; Semple, Robert; Maynard, Jason; Simson, Dennis; McGrath, Bryan (26 de noviembre de 2007). "La virtualización de escritorio alcanza la madurez" (PDF) . Credit Suisse . Archivado del original (PDF) el 20 de febrero de 2009. Recuperado el 3 de marzo de 2008 .
  5. "Serie de información general: Compatibilidad de aplicaciones con Windows Vista" . TechNet . Microsoft . 25 de julio de 2008. Consultado el 1 de julio de 2017 .
  6. Varhol, Peter (1 de septiembre de 2007). "La virtualización de aplicaciones alcanza su máximo potencial" . Redmond Magazine . 1105 Media. Archivado del original el 10 de junio de 2008.
  7. Sommer, Tim (junio de 2012). "Los 200 términos más importantes de SAM: un glosario de términos de gestión de activos de software" . omtco.eu . OMTCO . Consultado el 20 de mayo de 2013 .
  8. Marinescu, Adrian (3 de agosto de 2006). "Mejoras en la administración del montón de Windows Vista" (PDF) . blackhat.com . Microsoft .
  9. Jackson, Chris (30 de abril de 2008). "¿Se pueden virtualizar aplicaciones en SoftGrid?" . Microsoft .
  10. Enzler, R (2003). "Virtualización de hardware con matrices reconfigurables multicontexto". Lógica programable en campo y aplicaciones . Notas de clase 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.