One of the more recent inventions has been ‘streaming applications’. While the term sounds fancy, it is a relatively old technology – repackaged. Before I go into the specifics of AppStream 2.0, I would like to delve into the history of remote delivered content.
Back in the mid ‘80s, a range of technologies started emerging. While their implementations differed, they all did the same thing – delivered remote desktop to local clients. These ranged from Unix’s X Window System (X11) and commercial products, such as Norton’s pcAnywhere.
Fast forward a few years to the internet boom era of the-mid ‘90s and a new service was launched that allowed everyone to send and receive emails for free(!) It was, of course, Hotmail – a web application delivered to the user via their web browser. One of the unique features for its time was that it allowed access to their emails from any internet connected computer. There was no need to set up <insert_email_app_of_your_choice_here> with POP3 and SMTP settings.
The same year that Hotmail came out, Windows NT 4.0 was released to the public. One of the new features – for Microsoft, at least – was something called Terminal Services (TS). It did the same thing that products of the 80s did – allow remote server administration using a GUI. The technology was licensed from Citrix, which was based on their WinFrame app. A variant of the same component is still in use today and is now known as Remote Desktop Services (RDS).
Unlike Virtual Network Computing (VNC) based solutions, such as X11, which plugged into remote server’s framebuffer and sent the whole image across to the client, TS worked by sending descriptors of windows positions, sizes and styles. The client would then draw the desktop on a local computer using these descriptors. The result was that it was very responsive, even over slow connections – remember 56k? – compared to VNC.
All of the above technologies do similar things, but each has different use cases and different pros and cons. Web applications are centrally delivered and are easily accessible. However, they are difficult to port from their desktop variants. For example, Office 365 has several codebases for their set of applications; one for Windows, one for Mac and one for web. All have different functionalities, features and bugs, despite being the same set of apps. A web application itself may have different functionalities depending on the browser that they are being viewed on.
Remote desktop overcame limitations of web apps at the expense of more complicated management. On-prem based RDS solutions tend to rely on large servers, such as Citrix or Windows, with a set of applications available to the user. It comes with access challenges, such as requiring a user to log on to corporate VPN. There is also the management of the RDS infrastructure itself, such as OS, firmware and app updates as well as taking care of hardware failures.
This brings us back to AppStream 2.0, the streaming application service from AWS. It combines the idea of a web app with remote desktop. Why ‘streaming’? Well, just like streaming video, AppStream 2.0 uses H.264 compression to deliver a video of the application to the user’s browser window. This has more similarities with VNC than the descriptor-based RDS. The desktop’s framebuffer is captured, compressed and sent over the internet to the user. Compression rates change according to the available bandwidth to allow for a consistent user experience.
Why ‘application’? Unlike remote desktop services, such as AWS Workspaces, only the application window is streamed across to the user, rather than the entire desktop. This allows administrators to define one or more applications that a user can run from the AppStream 2.0 session.
So, what are the use cases and benefits?
- Remote delivered computer lab and distance learning. Rather than having each computer set up with a set of applications on site, AppStream 2.0 sessions are created from a single image that is only created once. The students can then access the applications from their own computers.
Firefox, FreeCAD, Eclipse and Notepad++ Windows application running within a Chrome browser window on a Mac:
- Demos and trial software. With AppStream 2.0, it is possible to create a time limited link to allow anyone to try out a piece of software, without having to download and install it.
- Deliver your application using SaaS model without rewriting it.
- Accessible from virtually any internet connected computer.
- Centrally managed applications.
- Consistent user experience – each user will have the same set up.
- Persistent user storage for saving files.
- Pay As You Go (PAYG) model to manage costs.
- Wide range of specification available, including GPU enabled instances for graphic-intensive applications.
- No need to install or troubleshoot applications on user devices.
- Full integration with other AWS services, such as IAM and Managed AD.
We have helped a number of organisations to implement AppStream 2.0. If you think that you may benefit from the this technology then do get in touch.