Look there, in the sky! It’s a Bird! It’s a Plane! No, it’s Server App-V – and, if everything that’s being said about it is true, it’s going to make your applications fly in the clouds!
There has been a lot written about Server App-V and what it will do for you – especially around Windows Azure. While it’s mostly correct, some of it could be a little misleading. Also, there hasn’t been enough said about the primary problems that Server App-V was designed to solve. While we really appreciate all the wonderful press we’ve been getting, we do think that we need to spend a few minutes telling you what Server App-V is – and just as importantly – what it isn’t.
Server App-V is not a product you can buy off the shelves. It’s not even a product you can download from Microsoft’s Volume License site. Why? Because it’s not actually a stand-alone product in the first place. What it is, however, is a defining feature of a fantastic new product, System Center Virtual Machine Manager 2012, which will revolutionize the way you look at – and operate – your datacenter.
As a company – as an industry, even – we’ve done a fair bit to reduce the cost of running a datacenter. Well, at least where hardware is concerned. Virtualization has helped consolidate many work-loads onto a few servers; thus reducing the amount of rack-space, power and cooling required in datacenters.
We haven’t done quite as well with software.
Even in a completely virtualized datacenter, every VM is an individual node that requires care and feeding where software is concerned – be it for installing or patching the OS; or deploying, configuring and updating applications.
A few years ago, Anders Vinberg, a Technical Fellow at Microsoft postulated that the way to solve this problem was to combine a “hardware” (VM & OS) image on the fly with an application image – and then deploy and service the datacenter by using these base images, rather than managing each individual machine.
VMM2012, which entered public Beta last week, is an implementation of this vision. Here are three key things that it does to enable the vision:
1) It lets you visualize your datacenter as a set of services rather than the underlying hardware that is necessary to host those services
2) It lets you create templates for these services that tie together the hardware (Hyper-V/ ESX/ Xen), OS and application (Server App-V/ Web Deploy/ SQL DAC) profiles that make up each service
3) It enables you to manage your services by managing these templates, rather than individual machines
Server App-V is the significant new piece of technology that enables this – because it’s the technology that enables you to create a portable application image in the first place. And, by tracking any changes that happen to the configuration state associated with that application, it allows VMM to “lift up” the application so that it can be moved to another machine – thus allowing VMM to automate OS patching.
We will cover details of how this is done in a future post.
In a nutshell, enabling this image composition and portability of applications is the primary value proposition of the Server App-V technology – and VMM2012 is the release vehicle for this solution.
So how does Windows Azure fit into all of this?
To be perfectly transparent, that is something that’s still being worked on actively by the Windows Azure and Server App-V teams. Our current thinking is that Server App-V will have a role to play in moving existing server applications from datacenters to Windows Azure without requiring the code to be re-written or re-compiled. To validate this idea, we have released a private Community Technical Preview (CTP) of a “Server App-V Packaging” tool that creates a Windows Azure package from a Server App-V package which can then be provisioned using the Windows Azure portal. The newly created Windows Azure package runs in a Windows Azure worker-role. Configuration state for the application is stored in a mounted Windows Azure drive, which can be re-attached to a new machine if the work-load needs to be moved by Windows Azure.
There are some important caveats to keep in mind about the use of this technology in Windows Azure:
1) This is a preview of technology, not a finished product
2) The release vehicle for this technology is in the process of being finalized. The eventual solution we ship will be aligned with the Windows Azure roadmap and delivery plan
3) This solution is, at present, only useful for applications that have been designed to scale-out. The reasons are two-fold:
a. Windows Azure needs to have the ability to move application work-loads across machines (at the very least, in the event of a hardware failure). This means that you cannot deploy a single instance of an application without the risk of a service outage
b. If you deploy multiple instances of an application that was not designed to scale-out, consecutive requests might go to different servers which might impact application functionality, particularly if the app stores state in memory across sessions
That said – the private (by invitation) CTP is available now for customers to try out. We are primarily working with customers who are planning a transition to Windows Azure but cannot move a small percentage of their apps because they cannot be re-written. If you fit this profile and want to be part of the CTP, please contact your Microsoft Account Representative.
Senior Test Lead, Microsoft
Why have Microsoft decided to 'tie' in this product to SCVMM and Azure. Why not provide this as a seperate offering? From what I have seen playing with the beta, there is no technical tie to these products as it is just simply Powershell driven. I can see some great benefits to virtualizing server apps outside of the cloud or VM infrastructure. Fast standardized server provisioning being the greatest advantage.