Managing applications has always been a challenge for IT, but the growth of mobile computing has brought new challenges. Virtual apps make it possible for users to work remotely, and it eliminates the need to rewrite an app for every mobile operating system.
Newer applications are designed with modern devices in mind. For instance, Web-based applications can learn the capabilities of user devices and behave differently on a laptop, a smartphone or a tablet. As a result, employees expect to be able to work anywhere, on any device. Unfortunately, this vision may require complete re-architecting of every legacy application, so it will be fully achieved only when new apps replace older ones.
The old applications that have been running your business for years will continue to require a PC with the right operating system, the right set of libraries and the right device drivers. But you will need something to bridge these old apps with the new, mobile world, allowing access to traditional applications from newer devices until the old applications are all replaced.
The history of IT shows that if business users are accustomed to something, it could be in use for a long time. IT will be managing desktop apps for many years, so we need to find good ways of distributing and updating them.
The real nightmare of managing thousands of PCs is deploying and updating hundreds of applications, making sure each machine has the current version of every app, and verifying that an update doesn't conflict with other apps. Some tools that make this easier are application streaming, encapsulation and remoting.
Delivering virtual apps via streaming
Application encapsulation means that rather than installing an application and then its updates on every PC, the install is monitored on one PC, and the changes it makes are captured. The app's files and settings get combined into a package, and all users of the application get the same package. An app must be encapsulated to be streamed.
The user's PC needs an agent and access to the package so the application can be run on his PC even though it hasn't been installed there. That's called app streaming. The agent reads the package, and it overlays the files and settings the application needs -- call it "the bubble" -- on top of the PC's files and settings.
Only the streamed application can see the files and settings in the bubble; other programs see only the underlying PC files and settings. Each PC can run multiple packaged apps and is unable to see inside another app's bubble.
When an application upgrade is released, the new application is captured in a new package, which is used in place of the old package.
Because other applications don't see inside the bubble, there is no need to test whether other applications are affected by the upgrade because the upgrade is only visible inside the bubble. Different vendors implement this in different ways: Some use file shares to host the packages, while others use virtual disk files. Some need the agent installed on every PC, while others combine the agent with the package. The ultimate goal is to simplify application deployment and testing.
Application remoting delivers security, reliability
Application remoting involves getting an application from the data center onto a device where the app would not otherwise run, or where you do not want to install it. The application is installed on a computer in a data center, and its user interface is delivered over the network to another device.
Remote display of apps has been around for a long time, starting with green-screen terminals and developing into products to support virtual desktop infrastructure. At the core of these products is a remote display protocol and clients to make that protocol work on a variety of devices. To be able to access an application, the user needs a device with a client and a network connection to the data center.
Another benefit of remotely displaying applications is that because the app runs inside the data center, it has faster access to data and updates. Also, remaining within the data center helps protect sensitive material from accidental disclosure. A stolen device contains the remote-display client rather than the data itself.
A downside of application remoting is that it requires a reliable network connection back to the data center. This has become less of a problem as wireless networks have become more pervasive and faster. Another challenge can be the difference in the capabilities of client devices compared with the PCs for which apps were written. For instance, an iPad has no mouse, and a smartphone's screen is quite small.
Application virtualization addresses how IT gets apps onto user devices. Application remoting enables users to access these apps from any device, particularly those that IT doesn't manage. Because app virtualization and remoting address different parts of delivering legacy applications to users, it isn't unusual to see them combined.
App streaming and virtualization can be a great way to deliver apps into the virtual desktop that is then delivered to users remotely.