Cloud-enabling legacy applications – not your grandma’s virtualization

What is application virtualization? 

Application virtualization was designed to allow apps defined on a particular operating system (OS) to be used in a newer OS. It enabled two applications, that typically couldn’t be installed on the same machine, to live side-by-side, addressing deployment challenges many administrators were facing at the time. While newer applications are typically web-enabled and easier to move to the cloud, the majority of legacy software must be redeveloped or refactored in some way to work well in current, modern compute environments. 

To show cloud migration success, most organizations begin their journey by prioritizing applications that have cloud equivalents or those that are easy to migrate to the cloud. Here we are focusing on those pesky applications, those that were never meant to run in cloud and those that don’t have a functional cloud version, and are not – by definition, easy to migrate.

Commonly they are .exe defined for historic Microsoft Windows operating system (client-server) environments or specialized homegrown/custom .exe apps – often relying on localized peripheral devices as part of operational workflow. These more problematic applications delay entire cloud migration projects and even resulting in increasing investment in legacy apps – when just the opposite is desired.

To move these legacy applications forward, many organizations believe their only choices are to redevelop the app entirely or adopt a lift and shift cloud migration approach. Many times, there is no clear-cut answer as to which approach would work best and how fast the re-architecture will be. When the line is blurry and the overall re-architecture effort is unclear, the best approach may be to work on both in parallel. If you start with lift-and-shift cloud migration first it will:

  • Unblock the overall cloud migration project.
  • Serve as a backup plan in case the re-architecture plan ends up being more complex than initially thought.
  • Reduce pressure on the development teams. Pressure often causes poor architectural choices and forces a compromise between duration and long-term quality, especially when it comes to security.

The hard part is that even with this parallel approach, the process can take months, sometimes even years.

What if there was another way?

Application virtualization products have been available before the turn of this century. Used to solve the issue of client management and increased accessibility, application virtualization generates a 2-way view of applications (the local file-system is merged with the virtual application’s files). As a result, applications are executed direly on Windows machines without requiring local installation. 

While convenient for on-premise application delivery, these solutions are not useful when it comes to cloud migration, since they are based on local execution.

Variants of application virtualization include terminal services, which enable server side execution, remotely accessed rather than locally. The popularized, VMWare (and other) terminal server technologies required deep investments infrastructure and expertise. And while some modernization of these LAN (local area network) tools have occurred, they continue to still be tightly coupled to user profiles, local-hard disk and network shares and require organizations to define hardware specs for the edge use case, rather than the average – unnecessarily increasing cost to meet desired performance benchmarks. Furthermore, many organizations have seen such application virtualization result in a swath of silos, when in fact, the initial goal was to streamline application usage and delivery.

The more recent popularity of containers to make applications available on demand is in many ways an extension of traditional application virtualization. In both cases, applications are defined to standalone containers. In application virtualization, these containers can be executed directly on Windows machines; in the case with containers – as server instance. In the more recent iteration of containers, applications can be spun up and down, on demand, executing remotely. Alas, this can requires substantial orchestration, defined by specialized skill sets to optimize the environment. So while containers are popular for Linux server applications, for example, they were never designed to address the pesky legacy .exe end-user apps.

source: Shuttershock

What if there was a better way?

Seeking to solve this issue, we’ve taken a novel (and patent pending) approach that eliminates development time and cost. Now, every one of your legacy Windows apps can be natively moved to the cloud so users can access applications securely and seamlessly anytime, anywhere from any modern device, laptop, Chromebook, tablet and even mobile phone.

Taking advantage of HTML5 to modernize legacy applications, and unlike traditional application virtualization, Cameyo creates a 3-way view – combining the local file-system, the virtual application’s files, and your cloud storage. We retain your Active Directory integration protocols, or as with Cloud deployment, your Cloud security model – so you don’t need to manage anything new. This alleviates issues associated with complex user profiles and authorization management that often plagues container and other virtualization strategies.

Melting away the months and years to hours and days, you can now quickly and easy deploy and administer apps for your entire workforce. The Cameyo architecture allows for infinite scalability in the cloud environments, eliminating quotas, maximum numbers of instances and other limits on productivity typically encountered in app virtualization scenarios. Some of the key aspects of the solution are:

  • Stateless operating system, eliminating the need to maintain server and user profiles
  • Built-in session reverts ensure that you don’t run up a tab when sessions are abandoned and all data generated during a session is erased
  • No pre-installed agent is needed (unlike cloud paging options)
  • Simple to managed with existing skill sets (no coding nor any specialized staff required)
  • Elastic scaling with virtual servers added/removed dynamically based on the point-in-time volume of application usage.

Modernizing your legacy environment with a truly modern approach. That is, indeed, a better way.

Try it yourself with a free, no obligation trial