One of the potential challenges that application layering technology creates is around interlayer application conflicts with respect to the corresponding host operating system. In an effort to address these potential challenges, Liquidware Labs developers have created a feature called Micro-Isolation.
In the graphic below, typical application conflicts occur when App 1 interacts with a shared DLL for example on the host operating system. If App 2 attempts to launch and it requires access to the same shared DLL, then the launch will fail. Historically, this is why Microsoft created the WinSXS architecture within windows, in an effort to address these application conflicts. The basic premise was that a copy of shared DLL’s or files would be taken and stored under the WinSXS folder structure for every unique application install or as needed. This works but causes the WinSXS folder to become bloated over time.
What is Micro-Isolation?
FlexApp Micro isolation is a technology that engages automatically to resolve inter-layer application conflicts. The applications within the FlexApp Layer are still perceived as native to the OS and other application layers. FlexApp is just redirecting the layered applications request for a file or registry key to its own layer so two versions of the same file or registry key can coexist.
Why is this important?
Without Micro-isolation when creating independent layers for an application, each layer is unaware of other layers and can potentially conflict at the file and registry level causing failures.
What does this mean for your Application strategy?
Normally the only way to solve application conflicts is to combine the conflicting layers into one large layer. This creates management problems, when you can’t just update a single layer and you have to deal with larger layers. This is also back to the old problem of having everything in the base image problem but at the application level, which is what everyone is trying avoid.
FlexApp Layering Strategy
With any new technology there is often a mad scramble to establish best practices within the enterprise. One of the questions that has come up of late with respect to application layering is around the strategy of creating the layers, specifically how many applications should be included within the layers.
Opinions vary, and one of the suggestions proposed early on has been to add many applications into a single app layer. Although on the surface this seems like a good idea, there are a number of short and long-term challenges with this approach.
The following list represents a few of the different scenarios to address these challenges:
Multi App Layer is the process of including multiple random applications within an Application Layer. Although technically possible, this approach has challenges with respect to management and logistics of updating the individual applications within the layer. The long-term organizational overhead could be daunting with respect to this approach
App Layer Suite is when vendor or enterprise home grown application suites are included within a FlexApp layer. With up front analysis and testing this approach could be extremely beneficial for enterprise environments. Simply by reducing the install / configuration time of the application suite for each deployment is worth its weight in gold.
Departmental App Layers, are somewhat similar to the Multi App Layer scenario. The primary difference centers on the pre-determined cohesion of a subset of applications installed across endpoints within a single department. Significant testing and analysis often goes into the configuration of these application environments. So conceptually redirecting that cohesive application environment to a FlexApp layer is a plausible use case
Single App Layers, like the name implies, is the process of redirecting individual application installs into a FlexApp Layer. The application lifecycle benefits of leveraging Single FlexApp Layers are clear. The ability to manage and update the corresponding applications within the FlexApp layers allows for a more streamlined logistical approach.
The Micro Isolation feature, helps evolve the FlexApp Layering technology into a truly dynamic Application Layering platform. No need to stack multiple apps in layers, instead create a single layer for each application which allows for ultimate granularity in assigning apps to users, groups and machines. It also makes updating applications very simple by updating a single package for a single app rather than dealing with cumbersome multi app layers. Lastly makes packaging applications and deploying them much more successful without dealing with conflicts manually!