App-V permite que las aplicaciones se implementen ("transmitan") en tiempo real a cualquier cliente desde un servidor de aplicaciones virtual. Elimina la necesidad de la instalación local tradicional de las aplicaciones, aunque también se admite un método de implementación independiente. Con una implementación basada en transmisión, el cliente de App-V debe instalarse en las máquinas cliente y los datos de la aplicación que se almacenan en el servidor de aplicaciones virtual se instalan (transmiten) a la memoria caché del cliente a pedido cuando se utilizan por primera vez, o se preinstalan en una memoria caché local. La pila de App-V aísla el entorno de ejecución de modo que una aplicación no realice cambios directamente en el sistema de archivos del sistema operativo subyacente y/o en el Registro de Windows , sino que se contenga en una "burbuja" específica de la aplicación. Las aplicaciones de App-V también están aisladas entre sí, de modo que se pueden ejecutar diferentes versiones de la misma aplicación con App-V simultáneamente y de modo que las aplicaciones mutuamente excluyentes puedan coexistir en el mismo sistema. Sin embargo, la separación no es un límite de seguridad. [6]
App-V permite la instalación y gestión centralizada de aplicaciones implementadas. Admite control de acceso basado en políticas; los administradores pueden definir y restringir el acceso a las aplicaciones por parte de determinados usuarios o en determinados equipos, definiendo políticas que rijan el uso. App-V también cuenta con una interfaz de seguimiento para realizar un seguimiento del uso de la aplicación virtualizada. Los servidores pueden implementarse en configuraciones de alta disponibilidad cuando se desee.
El cliente App-V presenta al usuario una experiencia de aplicación limpia y localmente instalada para aplicaciones virtualizadas. El acceso para iniciar la aplicación virtualizada parece ser idéntico al de la aplicación instalada localmente, ya que el cliente App-V integra extensiones para la aplicación en el shell del escritorio del usuario. Cuando dos o más aplicaciones virtuales tienen una dependencia entre sí, las aplicaciones virtualizadas individuales también pueden configurarse para ejecutarse juntas en una única burbuja aislada.
Microsoft App-V es un componente adicional que requiere licencia para su uso. La licencia se basa en el usuario y se adquiere mediante la licencia de Microsoft Desktop Optimization Pack (MDOP) para su uso en sistemas operativos cliente o como parte de la licencia de acceso de cliente de Microsoft Remote Desktop Server para su uso en servidores de escritorio remoto. MDOP es un conjunto de tecnologías disponibles como suscripción para clientes de Software Assurance. También existe un modelo de licencia para proveedores de alojamiento (servicios en la nube).
Principales versiones y variantes
Microsoft lanzó la versión 5 de App-V a fines de noviembre de 2012, que es un rediseño importante de tercera generación de toda la plataforma. La versión 5 modernizó el producto y reemplazó los componentes diseñados originalmente para su uso con Windows NT y Windows 2000 unos 11 años antes. El rediseño también permitió la compatibilidad con características más nuevas del sistema operativo y mejoras en la compatibilidad con la virtualización.
La versión 4.x del producto todavía se utiliza ampliamente y actualmente se encuentra en soporte activo. Microsoft amplió el soporte basado en la versión 4 para sistemas operativos cliente hasta Windows 8.1 y Server 2012 R2; sin embargo, algunas de las características más nuevas del sistema operativo no están disponibles para aplicaciones virtualizadas que utilicen App-V 4.x. La fecha estándar de finalización del soporte de Microsoft para App-V 4.x fue julio de 2015. [7]
No se tiene conocimiento de que las versiones 3.x y 2.x sigan utilizándose en producción; el soporte para estas versiones finalizó con la adquisición de Softricity por parte de Microsoft. Las versiones 2.x a 4.x representan la segunda generación de productos de virtualización de aplicaciones.
No existía una versión 1.x del producto. Antes del lanzamiento de SoftGrid 2.0, Softricity se conocía como SoftwareWow!. SoftwareWow ! era uno de los primeros proveedores de servicios basados en la nube con una tienda de aplicaciones que transmitía aplicaciones (principalmente juegos) a los consumidores. El servicio utilizaba un producto interno de primera generación para proporcionar software como servicio (SaaS). Aunque hoy en día existe poca información en línea sobre la empresa, [8] este producto proporcionaba servicios de transmisión con un soporte de virtualización muy limitado.
Microsoft lanzó una versión derivada de App-V con el nombre de Microsoft Server Application Virtualization (“App-V para servidores”). [9] Esta plataforma, que admite la redirección de virtualización pero sin aislamiento, tiene como objetivo ofrecer cargas de servidores virtualizados que no tengan conflictos entre aplicaciones. El producto está disponible como parte de System Center Virtual Machine Manager y se utiliza normalmente para poner en marcha nuevas instancias de servidores según la demanda.
Arquitectura
Microsoft ofrece tres opciones para la implementación de aplicaciones virtuales, lo que afecta a los componentes arquitectónicos utilizados:
Un conjunto de servidores dedicados a App-V.
Integración de System Center Configuration Manager.
Modo "autónomo" en el que la aplicación puede entregarse a través de otros medios.
La implementación de estas tres opciones de implementación es diferente cuando se utiliza la versión 5.x o 4.x de App-V. Cada una se describe por separado.
Arquitectura en versiones 5.x
La arquitectura basada en 5.x tiene tres opciones principales que pueden utilizarse. Las tres opciones utilizan algunos componentes comunes:
Microsoft Application Virtualization 5.x Sequencer , que se utiliza para empaquetar una aplicación personalizada para su entrega virtualizada.
Cliente de Microsoft Application Virtualization 5.x , que se utiliza en el sistema operativo utilizado para ejecutar la aplicación virtual. Existen dos formas de cliente: una para sistemas operativos de escritorio (como Windows 7 con Service Pack 1 y Windows 8) y otra para sistemas operativos de servidor configurados para su uso como servidores host de sesión de escritorio remoto.
Microsoft Application Virtualization Report Server , un componente opcional que puede recopilar información de uso (llamada medición) de las aplicaciones virtualizadas.
Consola de cliente de virtualización de aplicaciones de Microsoft , un componente opcional que se puede entregar a los sistemas cliente como una aplicación virtual. Normalmente, la consola no es necesaria para los usuarios finales, sin embargo, la implementación de la aplicación de consola proporciona al usuario un control adicional sobre las aplicaciones virtuales que se han autorizado y entregado previamente.
El resto de la arquitectura 5.x depende de la opción de implementación utilizada.
Opción de servidor App-V 5.x completa
El servidor completo de App-V 5.x está compuesto por los siguientes componentes adicionales:
Servidor de administración de Microsoft Application Virtualization 5.x , que se utiliza para definir aplicaciones y grupos de conexión y asignarlos a grupos de seguridad de Active Directory que contienen listas de usuarios o equipos autorizados para utilizar la aplicación. Este servidor también distribuye un resumen de esta información a varios servidores de publicación. El servidor de administración se implementa como un servicio web que almacena información de configuración en una base de datos de back-end. Se puede acceder al servicio web mediante un navegador web habilitado para Silverlight o PowerShell.
Microsoft Application Virtualization Publishing Server , utilizado para autenticar usuarios y computadoras y entregar metadatos de aplicaciones virtuales apropiados para su publicación en el cliente.
Package Store , un recurso compartido de archivos simple que los clientes utilizarán para transmitir aplicaciones virtuales. En algunos casos, el Package Store puede estar gestionado por un servidor web.
Opción de integración de Configuration Manager
El administrador de configuración se compone de los siguientes componentes:
Servidor de sitio de Microsoft System Center Configuration Manager , utilizado para definir imágenes operativas, paquetes de aplicaciones tradicionales para instalación, aplicaciones virtuales y otras tareas de implementación. Estos elementos también se pueden asignar a conjuntos de usuarios y equipos, junto con los requisitos y las dependencias. Esta información se almacena en una base de datos y se envía, a través de un punto de distribución, a los equipos cliente.
Punto de distribución de Microsoft System Center , utilizado para almacenar en caché contenido para su implementación para una solución altamente escalable.
Agente de cliente de Microsoft System Center , que se utiliza para extraer metadatos y contenido de implementación desde el punto de distribución e implementar una variedad de acciones de componentes de cliente. Desde una perspectiva de App-V, este componente entrega la aplicación virtual al cliente de App-V.
App-V 5 requiere el uso de System Center Configuration Manager 2012 o superior para obtener compatibilidad total con las características de App-V. La implementación mediante versiones anteriores u otros sistemas de entrega electrónica también es posible mediante el método de implementación de MSI virtual.
Modo independiente
Los clientes de App-V 5.x contienen una API de PowerShell que, en última instancia, utilizan ambos modos de servidor anteriores. A veces, es conveniente utilizar esta API directamente en el cliente, ya sea de forma manual o con herramientas adicionales desarrolladas por terceros.
Arquitectura en las versiones 2.x a 4.x
La arquitectura basada en 4.x tiene tres opciones principales que también se pueden utilizar. Las tres opciones utilizan un par de componentes comunes:
Microsoft Application Virtualization 4.x Sequencer , que se utiliza para empaquetar una aplicación personalizada para su entrega virtualizada.
Cliente de Microsoft Application Virtualization 4.x , que se utiliza en el sistema operativo utilizado para ejecutar la aplicación virtual. Existen cuatro formas de cliente, combinadas en conjuntos que admiten sistemas operativos x86 o x64. Un conjunto para sistemas operativos de escritorio (como Windows XP y versiones posteriores) y el otro conjunto para sistemas operativos de servidor configurados para su uso como servidores de host de sesión de escritorio remoto.
Servidor de administración de App-V dedicado
La arquitectura del sistema App-V 4.x se compone de los siguientes componentes:
Servidor de administración de aplicaciones virtuales de Microsoft Systems Center , que se utiliza para definir aplicaciones y asignarlas a usuarios de Active Directory o grupos de seguridad que contienen listas de usuarios autorizados para usar la aplicación. El servidor también realiza la autenticación en tiempo de ejecución con respecto a listas autorizadas y registra información de uso de la aplicación (medición) en una base de datos para la elaboración de informes.
El servicio de administración de aplicaciones virtuales de Microsoft Systems Center , que es un servicio web remoto .NET, administra las solicitudes de aplicaciones de los clientes. Este servidor funciona junto con el servidor de administración para proporcionar metadatos de aplicaciones autorizados para la publicación, la verificación del uso autorizado y la generación de informes de datos. El servidor también administra las operaciones de transmisión de los paquetes virtualizados mediante una extensión del protocolo RTSP.
Consola de administración de App-V , la herramienta de administración para configurar, administrar y gestionar servidores de App-V. Se puede utilizar para definir políticas que rijan el uso de las aplicaciones. También se puede utilizar para crear, administrar, actualizar y replicar paquetes de aplicaciones virtualizadas.
Administrador de configuración de System Center compartido
En 2009, Microsoft ofreció una nueva forma de implementar App-V con mejoras en System Center Configuration Manager . La arquitectura de System Center Configuration Manager consta de los siguientes componentes:
Servidor de sitio de System Center Configuration Manager , que actúa como repositorio principal para almacenar imágenes del sistema, paquetes de aplicaciones creados mediante instaladores tradicionales y aplicaciones virtuales.
Servidor de distribución de System Center Configuration Manager , utilizado para almacenar en caché y distribuir el software a un nivel más local.
App-V 4.x tiene integraciones directas con Configuration Manager 2007 SP1 hasta 2012 R2.
Modo "autónomo"
Los clientes App-V también pueden utilizarse en un "modo autónomo" [10] sin ninguna de las infraestructuras de servidor descritas anteriormente. En este caso, los paquetes secuenciados se entregan utilizando una técnica externa, como un sistema de entrega electrónica de software o una implementación manual.
Operación
Además de las operaciones asociadas con las operaciones de implementación, App-V Application Virtualization consta principalmente de dos componentes: el secuenciador de App-V y el cliente de App-V .
El secuenciador de App-V es el componente que vuelve a empaquetar una aplicación para la virtualización y la transmisión. Analiza la aplicación en busca de los recursos que necesita, permite la personalización de las aplicaciones y, a partir de esto, crea un paquete que contiene los componentes ejecutables, los archivos de datos y las configuraciones de registro que necesita la aplicación. El formato del paquete para las versiones 4.x y 5.x es bastante diferente:
El producto 5.x utiliza un formato App-V que se basa en formatos de compresión estándar con funciones adicionales. Internamente, gran parte del formato de metadatos se ha tomado prestado de AppX.
Las versiones de App-V 4.x producen paquetes que utilizan el formato SFT, [11] junto con archivos adicionales basados en una versión modificada [12] de la especificación Open Software Description (OSD) propuesta originalmente para WC3 en 1997 por Microsoft y Marimba. [13]
El secuenciador supervisa la instalación, configuración y uso de recursos de archivos y registros en tiempo de ejecución de la aplicación para determinar el contenido y la configuración del paquete. Abstrae información específica de la máquina y del usuario para mejorar la portabilidad de los componentes de la aplicación, lo que permite que la mayoría de las aplicaciones sean ejecutadas por diferentes usuarios, en diferentes hardware e incluso en diferentes sistemas operativos en algunos casos. El paquete también está configurado para operaciones de transmisión, donde partes de archivos pueden entregarse a los clientes según sea necesario. Las pautas para la secuenciación de aplicaciones son diferentes para las versiones 4.x [14] y 5.x [15] .
El cliente de App-V recibe definiciones de paquetes de aplicaciones virtuales de varias maneras. Cuando se configura para recibirlas desde un servidor de infraestructura de App-V completo, esto ocurre automáticamente al iniciar sesión o mediante un temporizador, y lo inicia el cliente de App-V. También se pueden enviar instrucciones a través de una API de cliente, que se utiliza en implementaciones de System Center, el msi virtual y los métodos independientes. La API de cliente de App-V 5.x se basa en PowerShell, mientras que el cliente 4.x utiliza una interfaz sftmime propietaria.
Al recibir el paquete, el cliente descargará los metadatos correspondientes y, posiblemente (según las configuraciones del cliente y del paquete), algunos o todos los componentes del paquete. El cliente está diseñado para utilizar un sistema de archivos de transmisión que funciona de manera muy similar a la actividad de paginación de archivos local. Esto permite iniciar la aplicación sin todos los archivos presentes en la memoria caché local. Cuando la aplicación requiere una parte de archivo que no está presente, se realiza una operación denominada "stream-fault" que recupera la parte de archivo necesaria. El cliente almacena en caché el contenido del paquete transmitido en la memoria durante la sesión de la aplicación y puede conservarse en una memoria caché de disco local para su uso futuro.
Las configuraciones de usuario se almacenan en el propio sistema local mediante una redirección para garantizar que no se modifique la copia en caché de la aplicación. En algunos casos, esto permite la implementación de aplicaciones que no son compatibles con varios usuarios para su uso en sistemas host compartidos de Escritorio remoto.
Capacidades específicas de la versión 5.x
La versión 5.x, además de ser un rediseño, agregó una serie de funciones que no estaban disponibles anteriormente en la versión 4.x. A estas funciones se sumó el Service Pack 2 de la versión 5.0, que incluye:
Compatibilidad con integraciones adicionales . Las aplicaciones tienen muchas formas de proporcionar integración con el sistema operativo y el shell del escritorio del usuario. Anteriormente, solo estaban disponibles los accesos directos de aplicaciones, las asociaciones de tipos de archivos y las integraciones COM para proporcionar al usuario una experiencia similar a la nativa. La versión 5.x, especialmente con el Service Pack 2 y posteriores, amplió significativamente los tipos de integraciones, denominadas extensiones de aplicación en App-V. Además de la compatibilidad mejorada con accesos directos, se agregaron controladores de protocolo, capacidades de aplicación, clientes de software, rutas de aplicación y una variedad de extensiones de shell, objetos auxiliares del navegador e integraciones Active-X. Muchas de estas extensiones ayudan a superar las objeciones a la virtualización de aplicaciones complicadas como Microsoft Office y complementos de Office.
Tamaño de la aplicación . Se eliminó la limitación de tamaño de paquete de 4 GB. No existe ningún límite documentado para los paquetes de App-v 5.x.
Scripting mejorado . Los componentes dependientes que no se pueden virtualizar ahora se pueden instalar localmente mediante el cliente de App-V cuando sea necesario utilizando la nueva interfaz de scripting, incluso cuando el usuario conectado no tenga privilegios administrativos para instalar software. Esto incluye los controladores de dispositivos dependientes.
Grupos de conexión : se utilizan cuando varios paquetes necesitan trabajar juntos en un único entorno de aplicación virtual. Esto reemplaza a la composición de suite dinámica agregada a App-V 4.5. El beneficio principal de este rediseño es que los grupos de conexión ahora son objetos administrados en el nivel de App-V o Configuration Manager, en lugar de modificaciones ocultas realizadas por un administrador.
RunVirtual : a veces, las aplicaciones virtuales se inician mediante componentes instalados localmente, como un navegador web local que utiliza complementos virtualizados. Anteriormente, la virtualización de estas aplicaciones causaba problemas para los usuarios que ya habían creado sus propios accesos directos al componente local. Con RunVirtual , el administrador puede garantizar que cualquier inicio del componente local se virtualice.
Limitaciones de la versión 4.x
Complementos de Microsoft Office : aunque se pueden secuenciar los complementos de Microsoft Office, no se recomienda hacerlo debido a muchos problemas técnicos y de uso. Por ejemplo, en una situación en la que un usuario utiliza más de dos complementos, si se secuencian por separado, el usuario no tiene control sobre qué secuencia de complementos se inicia cuando abre un documento. La única solución para resolver el problema es crear un conjunto único o un conjunto dinámico de todos los complementos.
Tamaño de la aplicación : si el tamaño máximo de la memoria caché del cliente se establece en al menos 4 GB (el máximo puede ser de 64 GB), entonces el tamaño máximo de la aplicación (archivo sft) que se puede transmitir en esa máquina es de 4 GB. No se deben secuenciar todas las aplicaciones que tengan una huella instalada mayor o igual al tamaño máximo del cliente, establecido por el cliente. El tamaño máximo de la aplicación que Softgrid puede manejar es de 4 GB, debido al uso del sistema de archivos FAT32 . [16]
Controlador de dispositivo : App-V actualmente no admite la secuenciación de controladores de dispositivo en modo kernel; por lo tanto, no se puede secuenciar ninguna aplicación que instale un controlador de dispositivo. La única excepción a esto es cuando el controlador de dispositivo se puede preinstalar localmente; en este caso, la aplicación se secuencia sin el controlador de dispositivo.
Accesos directos : las aplicaciones deben tener al menos un acceso directo. Si no hay accesos directos, la aplicación debe estar secuenciada en una suite junto con la aplicación que lo necesita. Los complementos de Internet Explorer requieren un acceso directo especial para iniciar el proceso del navegador bajo la capa de virtualización.
Middleware : las aplicaciones de middleware pueden no ser buenas candidatas para la secuenciación, ya que pueden ser requisitos previos de tiempo de ejecución para múltiples aplicaciones. Con versiones posteriores de App-V, se pueden secuenciar en un paquete separado al que se vinculan otras aplicaciones virtuales mediante una función llamada Dynamic Suite Composition . [17]
Codificación de ruta fija : la aplicación no debe tener la ruta de la carpeta o archivo codificada en la propia aplicación. Algunas aplicaciones codifican la ruta de los archivos en sus ejecutables en lugar de parametrizarlos o almacenarlos en el Registro de Windows. Los archivos de configuración que terminan en extensiones como ini, conf, dat y txt son buenos lugares para buscar configuraciones específicas de la aplicación de información de ruta que pueden causar problemas. En caso contrario, se puede utilizar una corrección de compatibilidad para solucionar el problema de la aplicación cuando no se encuentra disponible el código fuente o una actualización.
Actualización automática : las aplicaciones con actualizaciones automáticas no deben secuenciarse si no se puede desactivar su mecanismo de actualización. A veces, las aplicaciones secuenciadas no se actualizan. Además, permitir la actualización automática provoca que la aplicación no cumpla con la versión.
Servicios : no se admite la virtualización de servicios que deben iniciarse en el momento del arranque. En general, se pueden virtualizar todos los demás tipos de servicios; se inician cuando se inicia y se cierra la aplicación virtual o cuando finaliza el ejecutable principal de una aplicación.
Políticas de licencias : aplicaciones con aplicación de licencias vinculadas a la máquina, por ejemplo, la licencia está vinculada a la dirección MAC del sistema o al número de serie del disco duro. Este tipo de aplicación no debe secuenciarse si el usuario no puede realizar la activación en el primer lanzamiento de la aplicación secuenciada, de forma manual o mediante un script.
Internet Explorer y paquetes de servicio : Microsoft no admite la secuenciación de ninguna versión de Internet Explorer.
Citrix XenApp (anteriormente incluido como "Application Streaming"/"Project Tarpon". Descontinuado a partir de Windows Server 2012. [18] Ahora también utiliza App-V).
^ "Adiós a SoftGrid" . Consultado el 10 de julio de 2008 .
^ "Microsoft Application Virtualization 4.5 ya está disponible en versión beta" . Consultado el 13 de noviembre de 2007 .
^ "Microsoft Presspass - Microsoft completa la adquisición de Softricity". microsoft.com . Archivado desde el original el 18 de junio de 2007. Consultado el 2 de mayo de 2007 .
^ "RedmondMag - Microsoft Desktop Optimization Pack 2014 ya está disponible" . Consultado el 4 de julio de 2014 .
^ "Microsoft Presspass - Microsoft amplía su estrategia de virtualización y describe la hoja de ruta de sus productos". microsoft.com . Consultado el 2 de mayo de 2007 .
^ "Consideraciones de seguridad de App-V 5.1" . Consultado el 18 de abril de 2015 ."App-V 5.1 no es un producto de seguridad y no ofrece ninguna garantía para un entorno seguro".
^ "Búsqueda del ciclo de vida de productos de Microsoft".
^ "Trademarkia - Búsqueda de marcas comerciales".
^ "Virtualización de aplicaciones de servidor de Microsoft".
^ "TMurgent: App-V en modo independiente" (PDF) .
^ "Microsoft: La especificación del formato de archivo SFT de App-V 4.x".
^ "OSD ilustrado".
^ "Propuesta de descripción de software abierto".
^ "Guía de secuenciación de App-V para App-V 4.6 SP1 - Microsoft Corporation (archivo .docx)".
^ "Guía de secuenciación para App-V 5.0 - Microsoft Corporation (archivo .docx)".
^ "Guía de secuenciación de App-V - Microsoft Corporation (archivo .docx)" . Consultado el 13 de marzo de 2018 .
^ "Cómo utilizar Dynamic Suite Composition | Microsoft Docs". Technet.microsoft.com. 16 de junio de 2016. Consultado el 13 de marzo de 2018 .
^ Trond Eirik Haavarstein (27 de mayo de 2013). "Larga vida a App-V 5: la transmisión de aplicaciones ha muerto" . Consultado el 6 de junio de 2014 .
Lectura adicional
Virtualización de aplicaciones de Microsoft 4.6
Solución de problemas y soporte para virtualización de aplicaciones
Introducción a la secuenciación
Guía de planificación e implementación del sistema de virtualización de aplicaciones (App-V 4.6)