Amazon AppStream and FlexApp Overview

"Amazon AppStream 2.0 is a fully managed application streaming service that provides users with instant access to their desktop applications from anywhere. AppStream 2.0 manages the AWS resources required to host and run your applications, scales automatically, and provides access to your users on demand. AppStream 2.0 provides users access to the applications they need on the desktop device of their choice, with a responsive, fluid user experience that is indistinguishable from natively installed applications." - AppStream Description from the Amazon AppStream 2.0 Developer Guide “What is Amazon AppStream 2.0?”

Amazon AppStream™ is a ground-breaking, fully managed application streaming service that delivers desktop applications from AWS to any end point running an HTML5 compatible browser. AppStream 2.0 provides robust, scalable publishing and hosting capabilities from the cloud. Application binaries are installed natively within the AppStream image builder instances for presentation to the corresponding users from an HTML 5 browser.

However, image management within AppStream can become cumbersome over time due to either the number of supported images or the number of natively installed applications. Integrating ProfileUnity FlexApp with AppStream alleviates these image management challenges by reducing the need for natively installed applications within the image builder instances. FlexApp redirects the application installations into virtual disks that essentially make the applications portable.

ProfileUnity’s FlexApp Technology is a fully managed solution geared towards optimizing the application lifecycle management process for enterprises. At its core, FlexApp redirects the native installation of Windows-based applications into virtual disks, at which point the virtual disks are portable and can follow users across devices and platforms. These virtual disks have traditionally been stored on Windows SMB or CIFS based volumes. ProfileUnity and FlexApp now support cloud-based storage from the major platform vendors, including, but not limited to, Amazon S3, Microsoft Azure Blob, and Google Cloud Storage (GCS).

If you think of the Windows operating system like a puzzle piece, FlexApp packages attach like puzzle pieces during the boot process of the image builder instance, user login, or new post-login Click-to-Layer feature process. A filter driver, much like a traffic cop, directs communications between the corresponding FlexApp packages and the host operating system. Unlike other solutions such as application virtualization, the host operating systems thinks that the FlexApp packages are natively installed applications based on the seamless effective communication with the filter driver. However, the FlexApp packages are only attached through the traditional Microsoft virtual disk processes embedded within the core operating system.

At user logoff, the FlexApp packages are detached like puzzle pieces to round out the lifecycle experience for both administrators and users. This process drastically reduces the amount of clutter caused by traditional application installations and subsequent removal from the host operating system.

The delivery of FlexApp packages is managed from within the ProfileUnity Management Console. FlexApp packages are typically delivered through integration with Microsoft Active Directory user or group assignments. To further optimize the user's login experience, FlexApp packages can be configured for layering into the environment at the following times:

  • System Boot: The individual FlexApp packages are attached during the system boot process. This is typically reserved for more complex applications. This also falls in line with standard application hosting best practices and guidance.
  • User Login: The individual FlexApp packages are attached in the background as the user logs into the Windows endpoint
  • FlexApp Click-to-Layer: For applications that are not typically needed right away during the user’s login, the FlexApp Click-to-Layer method can be leveraged. Essentially, an icon file with XML information is delivered to the user’s desktop during the login process. When the user double clicks this icon to activate the application, the XML makes a call to the corresponding FlexApp package in the background, attaches it to the host operating system, swaps out the temporary icon on the desktop for the official one, and launches the layered application from within the FlexApp package.

Ultimately, the integration of FlexApp with AppStream is seamless to the users during the AppStream login process. Both natively installed applications and the corresponding layered applications from the FlexApp packages are presented to them in the traditional AppStream interface. FlexApp package layering has no negative effect on the overall user experience.