Getty Images/iStockphoto
Automating testing and delivery for virtual apps and desktops
One of the many tasks that come with maintaining a virtual environment is the testing and delivery of virtual apps and desktops. Learn how automation can help these processes.
The ability to automate the delivery of virtual applications and desktops reduces IT management burden and the potential for mistakes.
Whether an organization is using Azure Virtual Desktop, Citrix Virtual Apps and Desktops (now Citrix DaaS), VMware Horizon or another virtualization technology, application automation can be the secret sauce for efficiency.
Maximizing virtual application automation enables enterprise IT administrators to deploy systems and then modify as needed rather than making wholesale changes whenever one aspect of the virtual environment changes. Thus, technology partners can address the initial workload associated with automating processes -- including documentation and training -- and then the enterprise IT staff can move forward with minor modifications.
Consider the three main components of a virtualized environment:
- OSes and virtualized infrastructure;
- user profiles and other modes of personalization; and
- virtual applications.
An environment's applications and user profiles are typically bolted on to the OS, meaning the OS and infrastructure serve as the base and the applications and user profile are appended.
Apps are, by far, the most incorrectly minimized component of virtual environments. IT admins should learn how to set these components up to ensure that the management burden is optimal and minimal.
Optimizing OSes and virtual infrastructure
The amount and type of automation that can be performed depends on the infrastructure that supports the virtual environment. Cloud-based environments have abundant automation options, but on-premises deployments still have plenty of options even if they are fewer overall.
Within a cloud infrastructure, organizations can essentially outsource this process to the cloud provider. However, in an on-premises environment, it's important for IT departments to automate components such as antivirus updates, security patches and OS updates. When possible, IT should automate notifications regarding required updates as well.
An automated provisioning system is essential for all types of virtual desktop environments. IT can use these systems to create and deploy versions of golden images -- core desktop images that serve as templates for VMs.
Golden images consist of the OS and any universal configurations, and they may even include some applications. IT administrators may find it easiest to maintain one golden image with the currently deployed OS, but larger organizations with lots of different user types may need multiple golden images. This could be to support additional OS versions, unique configurations or specific applications. Common applications, such as Microsoft Word and Excel, as well as Adobe Acrobat, may be included within golden images. However, including applications in the base image can add complexity and the need to modify the image frequently due to application updates.
Provisioning tools, such as Citrix Provisioning and VMware Workspace One Provisioning Tool, are essential for centralizing and automating VM management. In addition to storing golden images, provisioning tools provide the ability to automatically deploy VMs, including directory and network configurations, without administrative intervention.
Managing virtual user profiles
User customizations, such as left-handed mouse configurations, specific desktop backgrounds and language preferences, are stored within the user profile. Following Microsoft's acquisition of FSLogix, many enterprise organizations have adopted this program's approach for providing user personalization. However, there are other third-party user profile management tools from vendors such as Liquidware and Ivanti. Regardless of the tool choice, the key to profile management is ensuring these profiles apply themselves correctly, while minimizing administrative interactions.
Automating virtual application delivery
Application testing, integration and deployment can become afterthoughts in the enterprise. Underestimating the importance of these tasks can cause project delays, increased costs and poor UX.
Organizations usually approach application testing and packaging in one of two ways: full automation or outsourced manual work effort. A fully automated application testing system is the best option to ensure standardized, efficient testing.
Here are a few key reasons why automated application testing is critical.
1. Manual testing can create a massive burden for IT
Manual application testing is an exhausting process. Finding IT staff for this type of work effort is difficult, and entry- or junior-level administrator contractors are often stuck addressing this task. Despite the stringent work processes, manual testing may be inconsistent as well due to the testing only covering certain functions and human error from the repetitive work effort involved with examining each application.
2. The application setup process can present challenges
Application testing involves far more than just clicking a setup.exe file, following several prompts and then clicking finish. IT teams need to determine if the application is installed in the context of administrator or standard user permissions. They also need to know if the app supports a multiuser OS. Without automation, IT needs to determine the answers to those questions and others for each application, which may take one or more days to install.
3. Automation increases packaging efficiency
To effectively containerize applications, many enterprise organizations are adopting the MSIX format for packaging with app attach for Azure Virtual Desktop. Automated packaging streamlines the application deployment portion of the project plan.
4. IT departments' time and money can be used better
Failure to test and package applications can delay project plans. For example, if an enterprise organization is moving to Azure Virtual Desktop and the department underestimated the application work effort, the team could miss the deadline. This could lead to business initiative delays. Further, IT may need additional money to bring in additional staff to assist with application testing and packaging.
A fully automated application delivery system enables organizations to test applications in bulk without direct administrative action. One of the key requirements for this automation is access to the application executables. After admins upload those files, automated application testing can proceed on its own.
Another benefit of automated application delivery and testing is that numerous applications can be tested simultaneously, further minimizing project timelines and speeding up the delivery timeline. For example, an administrator could upload a lengthy list of applications before the end of their workday and then review the results the following morning.
The testing process should ensure that the target environment won't create any UX issues or compatibility problems. If the goal is to migrate to a cloud-based virtual desktop environment on multiuser Windows 11, testing applications on a vanilla Windows 11 system would not be sufficient. An automated process can easily address not only the target environment, but also other configurations that are up for consideration.
In addition, admins should ensure that applications are tested for functionality within the context of the organization's Azure Active Directory policies. Testing applications generically based on specifications for average user permissions is not sufficient. Users have to work within a unique set of Group Policy Objects (GPOs) and lockdowns that limit their activities and permissions. Under the basic testing conditions, the average user likely functions fine. However, when uniquely applicable GPOs and lockdowns are applied on certain users' systems, applications may fail. For example, if a GPO prohibits access to a folder or file that is required by an application, the application is not able to function.
Even within the proper parameters, not all applications deliver and function perfectly out of the gate. Of those applications that fail during the testing or initial delivery, some issues are as minor as a different Java version or access to application servers.
Ensuring that the applications provide basic functionality is not sufficient. Login VSI, Datadog and SolarWinds offer automation tools for testing application performance, monitoring application delivery and tracking resource requirements. All of these factors can present UX issues if they aren't within the acceptable parameters.
User acceptance testing with live users is the final step to ensure full functionality of workflows. In addition, realistic access scenarios, such as remote access for load-balanced virtual desktops via an application delivery controller, should be part of the testing process.
Application testing and delivery monitoring are not one-and-done processes. Because applications have a lifecycle that includes updates and patches, IT has to ensure that any new binaries are tested before packaging MSIX files and pushing these apps into live production. IT staff may have little time allocated for testing application updates, so an automated testing, packaging and delivering process is critical.