Technology Comparison: DaaS versus Application Virtualization
There is a long history in higher education of trying to solve the challenge of delivering the right academic software title to the right student at the right time. Different solutions take different approaches.
For example, SCCM and Intune focus on the physical image and management of the physical desktop fleet. Another approach is to utilize an app layering technology such as MSI/MSIX, Turbo.net, or Cloudpaging. A third approach is to simply virtualize the whole desktop, apps, and all, using VMware or Citrix.
Each of these methods has both advantages and disadvantages, as well as dramatically different costs. And now we also have cloud-hosted solutions to consider further expanding our list of choices. In this article, we’ll focus on the benefits and challenges of a cloud-hosted desktops-as-a-service (DaaS) solution, like Apporto, and compare those to the world of black art known as application virtualization.
First, what is desktops-as-a-service? Desktops as a service (DaaS) is a cloud-based delivery model for virtual desktop infrastructure (VDI) that enables organizations to provide virtual desktops to end-users from a remote data center or cloud provider.
In a DaaS environment, the desktop operating system, applications, and data are hosted in the cloud and delivered over the internet to a user’s device. This means that end-users can access their desktop environment from any device with an internet connection, without the need for a traditional desktop computer or local installation of software.
DaaS can provide several benefits for organizations, including:
- Scalability: DaaS enables organizations to scale their virtual desktop infrastructure up or down to meet changing demand, without the need for significant upfront investment in hardware or infrastructure.
- Flexibility: With DaaS, end-users can access their desktop environment from any device with an internet connection, making it easier to support a mobile or remote workforce.
- Simplified management: By moving desktop infrastructure to the cloud, organizations can simplify management and reduce the burden of maintenance and updates.
- Improved security: DaaS can help to improve security by centralizing desktop infrastructure in a secure data center or cloud provider, reducing the risk of data breaches or other security threats.
However, it’s worth noting that DaaS may not be suitable for all organizations or use cases. Factors such as network latency, bandwidth, and application performance can impact the user experience in a DaaS environment, and some organizations may have specific compliance or regulatory requirements that cannot be met through a cloud-based solution.
Now let’s review application virtualization. Application virtualization is a technology that allows applications to be delivered and executed on a user’s computer without being installed on the local operating system. Instead, the application runs in a virtual environment, isolated from the underlying operating system and other applications.
There are several benefits to application virtualization, including:
- Simplified application management: With application virtualization, applications can be centrally managed and delivered to end-users on demand, without the need for manual installation or maintenance.
- Improved compatibility: By isolating applications from the underlying operating system, application virtualization can help to overcome compatibility issues with other software and hardware.
- Enhanced security: Application virtualization can help to improve security by isolating applications and their associated data from other applications and the underlying operating system, reducing the risk of malware or other security threats.
- Flexibility: With application virtualization, applications can be delivered to a wide range of devices and operating systems, making it easier to support a diverse user base.
There are some pitfalls and challenges with application virtualization, though, as we’ll see.
So, how do these two very different technologies compare and contrast? There are two main criteria that should be considered. The first relates to the effort involved to build, maintain, and manage the system. The second is around where the horsepower needed to run the application actually comes from.
Effort and TCO
With both solutions, there will be some initial time and effort required to scope and assess the requirements for the project. There will also be project management oversight and tracking of deliverables to ensure success. But that’s where the similarities come to an end.
DIY versus DaaS/SaaS
The single biggest difference between these two delivery technologies is the effort required to get things off the ground and running smoothly. Nearly all application virtualization products fall into the do-it-yourself (DIY) category and require hundreds of hours to learn the preparation and packaging process. Repackaging an application is a black art that must be mastered through training, practice, and trial and error. Standard steps include:
- Application Assessment: The first step in creating a virtualized application is to assess the application’s requirements, dependencies, and compatibility with the virtualization solution. This involves identifying any dependencies on specific versions of operating system libraries, registry entries, or other components that may need to be packaged with the virtualized application.
- Application Sequencing: Once the application has been assessed, the next step is to sequence the application. Sequencing involves capturing the application installation and creating a package that contains all the files, settings, and dependencies required to run the application in a virtualized environment. The sequencing process typically involves installing the application on a clean virtual machine and using a sequencing tool to capture changes made to the file system, registry, and other settings.
- Package Customization: After the application has been sequenced, the next step is to customize the package to meet the organization’s requirements. This may involve configuring settings such as license keys, default preferences, or other customizations that are specific to the organization.
- Package Testing: Once the package has been customized, it’s important to test the virtualized application to ensure that it works as expected. This involves testing the application in a virtual environment and verifying that it runs without errors and behaves as expected.
- Package Deployment: After the package has been tested, it’s ready for deployment. The package can be deployed to end-users using a variety of methods, such as publishing it to a virtual desktop infrastructure, deploying it through a software distribution system, or providing it as a download from a web portal.
- Package Maintenance: After the package has been deployed, ongoing maintenance may be required to ensure that it remains compatible with the virtualization solution and any changes to the underlying operating system. This may involve updating the package to include new dependencies or addressing compatibility issues that arise due to changes in the virtualization solution or underlying operating system.
As you can see, this solution is not for the faint of heart and requires a deep level of technical understanding of both software architectures and Operating Systems. Another possible point to consider is whether the original license agreement prohibits modifying the installation media or process provided by the software publisher which could render your organization in legal trouble.
Application Virtualization Matrix: https://www.whatmatrix.com/comparison/Application-Virtualization#
Desktops-as-a-service (DaaS) typically come in two flavors: DIY or managed service. The steps for deploying DaaS as a do-it-yourself exercise are comprised of:
- Assessing Requirements: The first step in deploying DaaS is to assess the organization’s requirements and determine if DaaS is the best fit. This may involve evaluating the current desktop environment, identifying pain points, and determining if there are use cases that would benefit from DaaS.
- Choosing a DaaS Provider: Once the decision is made to move forward with DaaS, the organization will need to choose a DaaS provider. This involves evaluating different providers based on factors such as pricing, performance, scalability, and support.
- Configuring the Virtual Desktop Environment: Once a DaaS provider is chosen, the organization will need to configure the virtual desktop environment. This involves setting up the virtual environment, provisioning virtual desktops, and ensuring that the virtual desktops are compatible with the organization’s applications and data.
- Testing and Deployment: Before deploying virtual desktops to end-users, it’s important to thoroughly test the virtual environment and ensure that the desktops meet the organization’s requirements for performance, security, and functionality.
- Integration with Applications and Data: Once the virtual desktop environment is deployed, the organization will need to integrate the virtual desktops with its applications and data. This may involve configuring access to databases, file shares, and other resources that the organization relies on.
- End-User Access: After the virtual desktop environment is fully configured, end-users can access their virtual desktops from any device with an internet connection. The organization may need to provide training and support to end-users to help them get started with using their virtual desktops.
- Monitoring and Maintenance: Once the virtual desktops are in use, ongoing monitoring and maintenance will be required to ensure that the virtual environment remains secure, up-to-date, and optimized for performance. This may involve monitoring virtual desktop usage, troubleshooting issues, and applying updates or patches to the virtual environment as needed.
Again, not really for the faint of heart! Here again, a deep technical understanding of compute, storage, networking, and security will all be required for a successful implementation of DaaS, whether deployed on-premises or cloud-hosted.
Luckily, there is the other option of DaaS through a managed service provider. Like Apporto. This makes the entire process turnkey with very little effort required by the organization’s IT department. Here customers enjoy a more full-fledged software-as-a-service (SaaS) experience such as they would with Netflix or Salesforce.
Lastly, let’s consider an essential aspect of the equation: horsepower, or specifically, who provides it. In any application virtualization solution, the goal is to deliver the virtualized software package to an endpoint, where end-users can run it for their daily tasks. However, this means that each endpoint must meet the minimum requirements of the software or the virtual package will not function correctly, or at all. This can create additional cost requirements for organizations to provide endpoints or put additional cost requirements on users to supply appropriately configured endpoints.
With DaaS solutions, the horsepower is coming from the backend servers whether hosted on-premise or in the cloud. There is still a cost associated with this solution, but it does free users from having to buy a specific type of device. This is especially important in higher education where the burden of tuition already weighs heavily on students.
To summarize all of these points in table form, we come up with the following:
Although application virtualization may seem exciting and attractive at first glance, the reality of deploying it at scale can pose various challenges for organizations. Throughout my career, I’ve worked with several application virtualization products, and while they promised a lot, none could deliver 100% on their promises. However, DaaS – especially with the application of SaaS methodologies, as demonstrated by Apporto – provides a reliable solution worth exploring. Over 200 satisfied customers can attest to this.