📜 ⬆️ ⬇️

Microsoft Server App-V - what is it and what is it eaten with

Server App-V is an interesting Microsoft product, unfairly, in my opinion, deprived of attention. In general, I noticed that while marketers and PR specialists of this corporation break spears, demonstrating the next tables of support for the maximum number of processors and terabytes of memory in their products, truly interesting and useful things pass unnoticed and known only to a narrow circle of enthusiasts.
In short, the App-V Server provides a mechanism for virtualizing applications, isolating them from the OS, and simplifies their delivery, just like App-V, only for servers. Currently available from System Center Virtual Machine Management 2012, since it can significantly speed up the deployment of server platforms, which makes it a good help in creating and maintaining all kinds of "clouds".
With this article, I want to share my view on the concept of application virtualization as a whole, provide me with information about Server App-V (as well as streamline it in my head) and show what the deployment procedure looks like by a simple example.

image

To say that virtualization makes IT management easier is to lie. Virtualization in itself saves space, energy, money, but not time and labor. For the procedures for setting up and servicing virtual and physical servers are almost identical: prepare hardware, install the OS, install the necessary applications, configure all of this, and then update, patch and troubleshoot.
It simplifies the management of IT various automation tools. And here we are helped by virtual infrastructure management systems - SCVMM, vCenter ... You can prepare virtual machine templates, both in terms of virtual hardware and OS settings. However, there is a third layer of infrastructure - applications. And here, as practice shows, there has been practically no progress since ... I don't even know. For all my 12 years of experience, little has changed. Distributions, perhaps, more steel.

So, what methods of stuffing the OS (no matter the server or workstation) are available to us?
')
1. Classic - insert a disk / flash drive or go to the shared folder “Distrib” on the file sharing service and run the installer. The method is simple, reliable, but not fast. And most importantly - tedious and tedious, if you need to stamp the machine on a regular basis. You can install applications directly into the VM template so that after the deployment you already have everything installed, but, first, each VM requires its own set of software, and second, to update each program you will need to shake up all the templates. Well, if there is a centralized update system, like Microsoft WSUS or 2GIS is there, but this is not for everyone, and leaving updates to the user is also a bad idea.

2. Centralized deployment (group policy, SCCM, scripts). Removes the problem of routine (at least in part of the massively used applications), removes the problem of updating. Creates new difficulties. Impact on the virtual environment. The Adobe Reader Mass Update can introduce a VDI farm into a half day coma. Not only will the machines pull the distribution over the network at about the same time, it also hits the processor and the disks. In addition, not all applications can be deployed in silent installation mode.

Both of the above methods have such a common disadvantage as the fact that applications become, in fact, part of the OS — they fill it with their own libraries, registry entries, services, configs, and various incomprehensible files. Not everything can be cleaned up or even correctly updated, and sometimes a successfully crashed application or a damaged DLL drags the operating system into the abyss of BSOD and other undesirable phenomena. Another common drawback is that two (and more) different applications may require different versions of java, for example, or otherwise mutually exclude each other (when I supported Microsoft Exchange 2003, I remember you could not use Outlook on a server with Exchange installed due to the fact that both used a library with the same name but different functionality)

3. Delivery of virtual applications (App-V, ThinApp, XenApp) . This is when an application is specially prepared — installed in a special virtual container and delivered to the target OS by simple copying (App-V, ThinApp) or it runs and runs on a remote server (Citrix XenApp). Removes the problem of routine, removes the problem of updating, reduces the load on processors and disks during deployment, isolates the system from the effects of application crashes and simplifies the process of preparing virtual machines - in addition to ticking the necessary configuration and OS templates, we need to indicate what software we need. you will need to have inside the VM and, in fact, everything. Of course, this is not a magic tablet, there are shortcomings here, ranging from the cost of additional licenses and ending with the fact that not all software can be virtualized like this, but I think you need to know about this path, and if you can, then use it. Once upon a time, server virtualization seemed like a dubious event.

Server App-V


In essence, the Server App-V solution is similar to the App-V product. The [Server] App-V Sequencer is also used to “package” applications, and the App-V Agent is needed for deployment to the end system. A special App-V server (App-V Server) is used for delivering App-V to desktops, and VMM is used for Server App-V.

image

Using the same terms in the title leads to confusion for search engines, which further reduces the chance of the Server App-V to become known and annoying when searching for information.
For all the similarities, however, these are two different products and you should not try to use the Server App-V Sequencer to create Desktop App-V applications. And vice versa.

Why do we need application virtualization on servers? Well, these are not desktops, there is often one server - one application, and it is doubtful that you can virtualize, for example, Exchange. This is yes, it is impossible. Like Microsoft SQL Server (here, MySQL, I heard that you can), SharePoint. maybe some other large server software. In the development of the next versions there is a priority for the support of Sharepoint and Exchange roles. Also under the restriction fall antiviruses and programs involving work at the level of the kernel and / or "hardware". I also did not see a list of software that is clearly supported, but it is known that Server App-V is optimized for applications with the following attributes:


image

Actually, the support of a larger number of these attributes distinguishes Server App-V from App-V for desktops. The comparison of specific features in the table:
App-VServer App-V
  • Configuration and data changes apply to all users.
  • Application files (as well as COM / DCOM, services and WMI providers) are available only to the application itself.
  • New processes are added to the virtual environment manually.

  • Configuration and data changes are applied to a specific user.
  • Application files (as well as COM / DCOM, services, and WMI providers) are available to all computer processes. For example, a service from an App-V container can be managed through Service Manager in the general list of server services.
  • Adding new processes to the virtual environment is performed by a sequencer based on heuristics. Of course, you can add manually.



I will not dive into the installation and use procedures in detail, because the interface is so uncomplicated that it is difficult to get confused. I will note only the important points and give a small example.

Installation


Installation files can be found either on the media with System Center VMM 2012 in the X: \ SAV directory, or on a server with VMM installed - C: \ Program Files \ Microsoft System Center 2012 \ Virtual Machine Manager \ SAV.
Include sequencer installer, agent and cmdlet 'for both.
You can install on the OS of the following versions:

The installation itself, that the sequencer, that the agent, I think, will not cause anyone any difficulties. It should be borne in mind that the sequencer is better to install on a clean fresh OS. Even the App-V agent should not be on it.
The agent can be installed in silent mode:
AgentSetup.exe /q INSTALLDIR=c:\serverappv SWIGLOBALDATA=c:\SWIGlobalData SWIUSERDATA=c:\SWIUserData SWIFSDRIVE=q /ACCEPTEULA 


INSTALLDIR - installation path.
SWIGLOBALDATA - determines the directory where the main data will be stored (including application packages).
SWIUSERDATA - defines the user data storage directory.
SWIFSDRIVE - defines the drive letter for the virtual environment file system.
ACCEPTEULA - accepts the license agreement. Required parameter for silent installation.
The following keys are also available:
/ q - activation of the "quiet" mode.
/ u - uninstall.
/? - call for help attached to the installer.
The installation log is saved in% Temp%.


Both the agent and the sequencer create a virtual disk during installation (the default is Q :) for the virtual environment file system.

Sequencing


I do not know how to accurately translate this term. The option “placing an application into a queue”, seen in the course description of the TC Specialist, seems delusional. I call this process “packaging.”
So, we installed the sequencer. On a fresh, clean OS. The “packaging” of each application requires a clean OS. And here we can be invaluable help snapshots VM. What else should be kept in mind before starting the procedure:


Next, run the sequencer (as its main window looks like, you can see it at the beginning of this article). To create a new virtual application package (Virtual Application Package), select the target distribution, set the name and note that our virtual file system disk (Q :) will be specified as the final directory by default. Without the need to change it is not worth it, and in addition, you will need to install the application there in the same folder.

image

Once the application is installed, you can add something else to the same container (other applications), as well as perform the initial launch of the application to configure or accept the license agreement.
After completing the procedure to the end, we get the SFT file of the virtual application container and a pack of auxiliary files.

image

Deployment


To deploy a virtual application package on the target OS, the Server App-V Agent must be installed. Required Roles and Features of the server must be installed BEFORE the application is deployed. Packets received are distributed using VMM (Library - Application Profiles), but for one-time deployment, for example in a test environment, you can use the PowerShell cmdlets (AgentCmdletsSetup.exe).

PS C: \> Set-ExecutionPolicy Remotesigned
PS C: \> Import-Module ServerAppVAgent
PS C: \> Add-ServerAppvPackage –Name MyApp –Manifest C: \ MyApp \ MyApp _manifest.xml –SFT C: \ MyApp \ MyApp.s –Configuration C: \ MyApp \ deploymentconfig.xml

Example:

image

As a result, we will get a link to the new application in the Start menu. It will be placed on the Q: disk. The link in the properties of the shortcut will look something like this:

 "C:\Program Files (x86)\Server Application Virtualization\savlnch.exe" /launch:"7-Zip File Manager 9.20.0.0" 


That's all. You can use.

Source: https://habr.com/ru/post/240971/


All Articles