[App-V] A Quick Glance to Server App-V and Sequencing Server Applications
The release of my new book is just around the corner, “Microsoft Application Virtualization Advanced Guide”. In this book we’ll take a closer look to several advanced topics in App-V, including some new ones like Server App-V, which is included in System Center Virtual Machine Manager 2012 (platform still in Release Candidate stage).
Explaining Server App-V
Taking a quick approach, Server App-V is a technology that enables the virtualization of server applications, removing the dependency of a server application in a specific Windows Server instance (whether that instance is running in a virtual machine on directly on hardware).
Server App-V represents an evolution of Desktop App-V. This technology includes other aspects in the application virtualization approach, which fits more accurately in servers platforms; for example:
- Server App-V works with a Virtual Environment, but this interacts with the operating system and vice-versa. For example: Virtual services are visible to the OS.
This is particularly important since we can use monitoring tools, such as System Center Operations Manager, to monitor the functionality of our virtual server application.
- In the sequencing process of an application, Server App-V also detects and includes in the package, several additional components that Desktop App-V does not. The Local Users and Groups that the application might create, IIS applications, COM+ and DCOM components, WMI providers, performance counters and all other components Desktop App-V detects and includes within the package.
- Server App-V appears as a “Private Cloud” concept in the way to offer “Software as a Service” (SaaS) and/or “Platform as a Service” (PaaS). This is the ability to deploy software or a platform without requiring installing it.
Even though we usually use the concept of “application” in the same way as “software”, the term “SaaS” in Server App-V does not represent the entire scope of the platform. Server App-V includes the possibility to provide “as a Service” platforms like database engines or in the near future Exchange or SharePoint.
- One of the main goals of Server App-V is to have a predictable and repeatable way to deploy server applications.
Some of the common problems we usually find in organizations are that moving platforms from testing or pre-production to production is never an easy ride – often several inconsistencies might be found.
- Server App-V includes the possibility to separate the configuration of the server application, in order to accomplish scalability in the deployment process. This way, we can have the server application package with the configuration “A” deployed in one server and the server application package with the configuration “B” deployed in another server.
- Server App-V also handles state management operations. This is accomplishing by backing up the current state of an application and restoring it in a separate instance of the application.
- There’s no more streaming processes in Server App-V. Client agents still exist but the interaction with the Server App-V packages can include using just PowerShell Cmdlets or using System Center Virtual Machine Manager 2012.
Windows Azure represents Microsoft’s “Public Cloud”, from which we can use a remote platform to handle software (SaaS), services/platforms (PaaS) and infrastructure (IaaS).
At the moment, Windows Azure is available only to selected clients by a closed beta.
Server App-V is not compatible just yet with the worker roles in Windows Azure, but it will be in the near future.
Reviewing Applications Supported by Server App-V
In this current version, with System Center Virtual Machine Manager 2012 in Release Candidate, Server App-V is oriented to business applications (Dynamics and Web Apps mainly) but it is possible to include others.
Some of the features supported by Server App-V are the following:
- Windows Services: Server App-V includes the possibility to virtualize Windows Services in a different approach than the one we’ve seen in Desktop App-V. With Server App-V, the service is installed and placed in the OS as a normal installation of the server application. This way we can monitor it as any local service.
- Web applications hosted in IIS: We can virtualize web applications entirely (web sites, virtual directories and application pools) on IIS 6, IIS 7 and IIS 7.5.
- WMI: Server App-V Sequencer also captures the WMI providers and/or classes created during an installation.
- SQL Services Reporting Services: Even though SQL Server engine is not supported for virtualization, the applications that install SQL Services Reporting Services (SSRS) are supported.
- COM/DCOM/COM+ objects: These components are registered in the deployment process, this way other applications in the server can access them.
- Local users and Groups: If the application is creating users and/or groups during the installation, the Server App-V Sequencer captures it and maintains, including SID, for next deployments.
Some of the considerations about applications not supported are the following:
- We cannot capture Windows Server Roles. Deploying these kinds of roles is a task performed by SCVMM 2012.
- We can virtualize Web Apps but we cannot virtualize IIS.
- In IIS, it is supported to virtualize Web Apps and virtual directories.
- “Web Deploy” tool is used in this process of deploying Web Apps. For more information about Web Deploy take a look to the following link: “Web Deploy 2.0” http://www.iis.net/download/webdeploy.
- SQL Server is not supported in this version. SQL Server Express is, but there’s no official guideline on how to capture it by Microsoft.
- Device drivers are still not supported in Server App-V.
- Not supported in this release but are priorities for next version: SharePoint and Exchange Server roles.
An important part of understanding Server App-V is to differentiate it from Desktop App-V; in the following section we will review the basics difference between these two platforms.
Differentiating between Server App-V with Desktop App-V
Server App-V and Desktop App-V work similarly, but there are some important differences between the two and we must understand them in order to analyze if Server App-V fits in our environment.
Quick Overview to the Sequencing Process in Server App-V
The sequencing process in Server App-V is quite similar to the process we already know in Desktop App-V. Prior to working with the Server App-V Sequencer, we must remember the basic differences we’ve talked about in the Desktop App-V experience: Isolation, Server App-V packages are not meant to co-exist in the same OS.
We must keep in mind that most of the common operations and best practices are included, like:
- Use the same base OS in the Server App-V Sequencer and client machines. This particular “best practice” appears as a default requirement in Server App-V.
When a Server App-V application is sequenced, includes by default the roles and features enabled in the sequencer and set those as requirements for the Server App-V Clients.
If we think about it, makes sense, since we are using server applications which interact with several OS components. Any OS inconsistency should lead us in Server App-V applications malfunctions.
- If possible, sequence your application to a Q:\ drive.
- Use Virtual Machines and snapshot capabilities with the Server App-V Sequencer. And, of course, always sequence a new application with a clean OS image.
Some Other Topics
In Chapter 9 of the “Microsoft Application Virtualization Advanced Guide” we will cover detailed topics and step-by-step processes included in Server App-V. Some additional concepts to review are the following:
- Enhanced details of supported applications in Server App-V.
- Understanding SCVMM concepts like Service Templates and Private Clouds.
- Reviewing Server App-V and SCVMM 2012 integration.
- Sequencing Server App-V applications, taking MySQL as an example.
- Customizing Server App-V packages.
- Deploying Server App-V applications, using SCVMM and PowerShell deployment.
The book is available for pre-order in Pack Publishing website.
I hope you enjoyed the article!