The Optimised Desktop - What and how?

You will have probably heard Microsoft talking about our Dynamic IT vision, especially if you've seen anything of the Virtualisation launch this week. An essential ingredient of this is the Optimised Desktop, and this is something that I often discuss with customers so I thought I would post an overview of WHAT it is, and then supply the links to HOW you achieve it.
Essentially, the Optimised Desktop is about breaking down the hard dependencies in your desktop infrastructure that either stop you from doing things for business benefit or cost you money in managing your desktop. I like this picture to simply explain what I  mean by this:-

OptimizedDesktop

You will know these dependencies all too well. The OS is dependant upon the underlying hardware, with Windows XP and before the OS deployment was HAL specific meaning that you either have to keep multiple images (one per hardware 'standard') or you have to script some clever stuff at deployment time, normally shipping huge images containing lots of drivers, multiple sysprep files etc. Next up, the applications are dependant upon the OS version. How many applications do you have that require a specific OS, or 'won't work on Vista'? More than this application sometimes trip each other over on the same OS, e.g. 'DLL Hell' from Microsoft, or multiple JVM versions for Java apps. Side by side compatibility can be as bad as OS version compatibility. And finally, users typically carry there data and settings on 'their' PC - meaning that you loose a PC and you loose 'their' (but really corporate) data.

Breaking down these hard dependencies, and making it possible to 'replace' each of these elements quickly and independently is essential.
Let's break this down a little further into those elements.

WHAT? The Desktop Operating System. It's essential that you can deploy or update your desktop OS remotely, without direct effort being employed. Similarly, you want to be able to quickly rebuild a users machine so that lengthy diagnostic helpdesk calls can be avoided. I know of customers with an optimised desktop strategy that have changed their SLA's so that if a help desk call lasts more that 1/2 hour they simply remotely rebuild the users PC which can take less than an hour in total. So our goals here are:

  • Rapidly provision a desktop operating system from bare metal (new machines shipped to your company)
  • Rebuild an existing desktop remotely without loosing any user data or settings
  • Create and Manage a single 'image' that's as small as possible and can easily be patched without rebuilding the entire image
  • Easily apply driver updates to running desktops and to our image.

There's probably others I could put above but that's the essence  - easily deploy, manage and re-provision desktops.

HOW?   The best place to get your HOW information is here. This is the Technet Desktop Deployment "Techcentre". If you've never visited the Techcenteres then let me recommend them to you as the 'one stop shop' for HOW information.  The desktop deployment area firstly points you towards the Microsoft Deployment Toolkit (MDT). This is the new version of business desktop deployment (or BDD) that you may have known previously. The MDT is THE help you need to optimise the deployment of your OS, and either includes directly or via linked installs all the tools you need to deploy a desktop. But lets flip back to the TechCenter again and as you can see below it provides links against each 'step' in the OS lifecycle and links off to tools and guidance. Here is an extract from the home page to show you what I mean:

image

Key to all this deployment is Microsoft's imaging format WIM. For a detailed description of WIM follow the link but essentially WIM is a file based disk image format that has a number of benefits over previous imaging formats. Firstly, it's file based so in deployment it only needs the space of the files within, e.g. 2gb WIM file can be 'installed' onto any partition with 2GB of space, regardless of the disk/volume size or space on a machine that may have been imaged to create the WIM. For imaging you can use the ImageX tool. Secondly, because it's a file format you can open the WIM file up on your desktop just like a ZIP file. So you can easily replace or amend elements within the WIM image, and finally due to the structure of the WIM it can contain multiple 'images' but these are essentially 'virtual' builds as file are only held once. See this description of the WIM format.

WIM File Structure

WIM File Layout
  • WIM Header—Defines the content of the .wim file, including memory location of key resources (metadata resource, lookup table, XML data), and various .wim file attributes (version, size, compression type).
  • File Resources—A series of packages that contain captured data, such as source files.
  • Metadata Resource—Contains information about the files that you are capturing, including directory structure and file attributes. There is one metadata resource for each image in a .wim file.
  • Lookup Table—Contains the memory location of resource files in the .wim file.
  • XML Data—Contains additional data about the image.
  • Integrity Table—Contains security hash information that is used to verify an image’s integrity during an apply operation.

A great example of this can be found on the Vista retail media. There are lots of versions of Vista for retail, but we ship one WIM file on the CD containing all these builds and the WIM is roughly 2GB.

Finally, The hardware dependence is only truly broken with Windows Vista. See here for the list of Vista deployment benefits including Hardware independence.

 

You will see here under planning for Desktop deployment that there's quite a few steps involved. The good news is that System Center Configuration Manager either automates all of this or makes it VERY simple. I'll have to post again specifically on using SCCM for deployment but it's really easy :)

 

WHAT? So that was the Operating System deployed now what about the applications. This is where Virtualisation comes in. Now if you've seen anything of the Virtualisation launch you will have seen that we have an pretty all encompassing Virtualisation strategy, so specifically here we are looking towards, Application Virtualisation, Presentation Virtualisation, and possibly Client Virtualisation. Virtualisation is needed to separate (Virtualise!) the execution of the application from the underlying OS and thus to separate out the layers. I could copy out the information from the links I've just copied but please...just click on each of the link above!
HOW? Well the primary to the How? here is probably to introduce MDOP (or the Microsoft Desktop Optimisation Pack) which delivers the Application Virtualisation and desktop Virtualisation technologies. Read "How to Gain Control of your Desktop Environment with the Microsoft Desktop Optimization Pack (MDOP)" for more information. You really want to get to know Application Virtualisation (formally Softgrid) in detail as this technology will revolutionise you delivery of applications.

 

WHAT? Finally this is the abstraction of user data and settings from users with Folder Redirection and Group Policy. One thing to note here is that Folder Redirection is significantly enhanced with Vista AND Windows Server 2008 used together.

HOW? See this Technet webcast for more information. And for the 'What's different in Vista' answer see here .

 

And finally... you want to see a demo don't you? Well see this video from the Virtualisation Launch. This is from my previous blog post:

"Next on Stage is Shanen Boettcher, a Microsoft General Manager. Shannon discussed Windows Optimized Desktop and demonstrated the use of Bitlocker, Application Virtualization, and Data redirection to rapidly re-provision a client PC. He also demonstrates Presentation Virtualisation by running Windows fundamentals on a really old laptop to remote into a desktop session. This is demo based and well worth the watch and starts at 01.02.50"

And if you want to know more on Vista desktop deployment then go here and search 'Vista Deployment'.

The net of all this work should be a 'dynamic' desktop environment with no layer dependency!