Sisyphus and Microsoft Licensing for VDI

You’ve heard of Sisyphus and his punishment at the hands of Zeus right?  That Sisyphus would, for all eternity, roll an enchanted boulder to the top of a steep hill, only to see it too heavy for him to crest the hill and roll back down? This part of Greek Mythology is so well-known that we use the idea as a descriptor for tasks we feel are pointless or doomed to failure. We call those tasks, sisyphean.

Apropos of nothing I assure you, this brings me to the topic of my blog post: Microsoft Licensing for VDI.

Quite a bit more often than I might wish it to, I come across questions related to how Microsoft products are licensed in VDI. As a result, I thought I would set down some of my research here, in hopes that it can be helpful to someone out there who might need it.

(Note: It doesn’t matter who the vendor is; a VDI solution follows the same set of rules regardless of who it comes from – be it VMware or Citrix or Microsoft or Someone Else).

Licensing Windows for Use in VDI

Microsoft licenses their OS by device. This means you will need an appropriate license for accessing Windows on each end user device (be it PC/Laptop or Thin/Zero Client) that will access your virtual infrastructure. However, there are two models for obtaining these rights. One for physical PCs and Laptops, and one for Thin/Zero Clients.

Physical PCs and Laptops

For Physical PCs/Laptops, you must have a Windows license with Software Assurance. As of July 2010, the right to access a virtual desktop via Windows became a right obtained via Windows Client Software Assurance (SA). So, if you have a PC that you wish to connect to your VDI solution, and that PC’s Windows installation is covered by a license with SA, you may access a virtual desktop with no additional licensing requirements.

If however you find yourself in the same situation as the previous paragraph, and you do not have SA, you should contact your Microsoft Sales Representative to discuss how you can bring those PCs/Laptops under an active SA agreement.

Thin/Zero Clients

For Thin Clients and Zero Clients, you cannot use SA as you are required to above for the simple reason that Thin/Zero Clients are not eligible for SA via Microsoft. As a result, you must license your end point devices in this scenario with a license called Virtual Desktop Access (VDA).

VDA is a subscription-based license. It grants the end point it is assigned to rights to access a virtual desktop with any supported Windows desktop OS. To purchase VDA, you have two options.

Option One is the annuity subscription. This, as it sounds, is a yearly subscription. You pay a yearly subscription fee annually for as long as you need the VDA license (or as long as the VDA license exists).

Option Two is the full-pay subscription. This option allows you to pay for the VDA license for three years, upfront.

Microsoft, in my opinion, doesn’t do much in the way of multi-year discounting here, so the primary decision is around budget cycles and how your organization prefers to pay for on-going software costs.

Licensing Microsoft Office in VDI

Similar to Windows licensing, Microsoft Office is licensed by device. So, just as above, you must have a license of Microsoft Office for each device that will access one or more titles of the Office Suite.

This particular requirement can be a real frustration for VDI Administrators when they attempt to control who in their organization has rights to access certain applications.

There is a reasonable logic that would say “I have 100 copies of Microsoft Office. I have virtualized Microsoft Office, and will meter its use to 100 (or less) concurrent connections by assigning the application to a 100 VM pool. This will keep me compliant.”

However, if those 100 VMs can be accessed from more than 100 end points devices, then compliance will potentially be compromised. For those organizations with the same number of devices as users, all is well. But if, like so many organizations, the number of VDI end points is greater than the number of VDI users, and those users access those devices, you will be out of compliance once the number of devices used to access Office exceeds the number of licenses owned.

(ProTip: please use KMS to license your Office instances in VDI. Here’s a good guide, and here’s one of the issues you can have when using MAK.)


In two words, the takeaway is that Microsoft licenses Windows and Office by device. Starting there, you can then decide which path to take for Windows depending on the type of device, and can work out your delivery scenarios for Office to those devices and remain in compliance. And, standard caveat, if you are still unsure and want a sanity check, hit up your Microsoft resource for assistance.


This guide is probably the most helpful one I’ve seen in detailing out how to license properly for VDI. What I’ve written above around Windows is little more than a summary of this guide (and hopefully a little clearer due to brevity).

For information on Microsoft Office Volume Licensing, please see this PDF. Page 2 notes that Office is licensed per device, and gives further guidance on scenarios, etc.

Posted in EUC, Microsoft | Tagged | 2 Comments

vNook Book Review: In Defense of Food

As a way to collect my thoughts after finishing a book, I’ll post a review here. I’ll do two reviews: an ADD review, and a regular review.

ADD Review

  • Author: Michael Pollan
  • Source/Cost: Cost: $9.99
  • Book Shelf: Lifestyle, Health
  • Rating: 10 out of 10
  • Thesis: We should eat real food, we shouldn’t eat too much of it, and most of what we do eat should be plants (and preferably locally sourced).
  • Best Line: “If you’re concerned about your health, you should probably avoid products that make health claims. Why? Because a health claim on a food product is a strong indication it’s not really food, and food is what you want to eat.” (Pg. 2)

Regular Review

Michael Pollan is well-known for his three basic rules of eating. Eat Food. Not Too Much. Mostly Plants. Those well-known rules come from his book In Defense of Food: An Eater’s Manifesto.

Pollan begins the book after a brief introduction by tracing the history of nutritionism. Nutritionism, according to Pollan, is “the widely shared but unexamined assumption…that the key to understanding food is…the nutrient. Put another way: Foods are essentially the sum of their nutrient parts.” (pg 28)

From this presupposition, we get our modern Western Diet. We are, without question, the most health-conscious society that’s ever lived (just look at the Diet Industry revenues as Exhibit A). And yet, as time wears on, we are increasingly looking like one of the least healthy societies of all-time (especially when viewed against the backdrop of the availability of nutritious food.)

Adopters of the Western Diet (highly processed foods and refined grains; chemicals to raise plants and animals monoculturally; cheap calories of sugar and fat; the narrowing of our diet to staple crops like wheat, corn, and soy) end up looking remarkably similar. And that similarity is unhealthy. Put plainly, where the Western Diet goes, a class of diseases known as Western Diseases follow. Those diseases are: obesity, diabetes, cardiovascular diseases, and cancer.

So against the backdrop of nutritionism, its offspring the Western Diet, and the consequences that follow, Pollan makes a simple plea to return to common sense:

So on whose authority do I purport to speak? I speak mainly on the authority of tradition and common sense. Most of what we need to know about how to eat we already know, or once did until we allowed the nutrition experts and the advertisers to shake our confidence in common sense, tradition, the testimony of our senses, and the wisdom of our mothers and grandmothers. (Pg. 13)

In my opinion, this is the strongest part of Pollan’s argument. To undo the pernicious affects of nutritionism and the Western Diet we do not need a counterpoint of equal complexity. Eating should not be complex; we do not need people to tell us what to eat. As humans, we’ve been eating for 1000s and 1000s of years. I do not subscribe to the theory of macroevolution, but I do subscribe to the reality of microevolution. We have adapted, as humans, to survive. We’ve eaten what makes us healthy, marked off what does not, and generally done a good job of determining what is what. And we did that culturally and societally and without any help from a lab. Until now. It’s not hard to see that as soon as we listened to manufacturers instead of our mother’s on what to eat, we got in a bad place.


Pollan, in his book, and with his three simple rules for eating, is calling us back to our roots. And he does this in two ways. First, to go back to eating food our ancestors would recognize as food, and second, to go back to eating food the way our ancestors did – around the table, with friends and families, as an act of community.

For me, the first way means I will stop eating food, and stop spending money, on things that aren’t really food. As much as I like (or my pride likes) to think I’m smarter than the advertisers, they’ve hooked me too. I won’t name what I’ve spent my money on (they aren’t bad, so don’t deserve to be named), but I have discontinued purchasing them, and have replaced them with real food. It’s less expensive, more varied, and feeds into number two.

Eating real food means I can share it with my family. My wife wouldn’t touch some of the nutritionistic ‘food’ I was eating, and it wasn’t really shareable anyway. But now, I can go to the farmers market with my son, we can buy new potatoes and peppers and swiss chard, and I can come home, grab a pan and some olive oil, a few eggs, and make a nice meal of farm veggies with scrambled egg over the top. And I can reach down, hand a bite to my son, and watch him smile as we share a meal together (even if he does spit some of it out). And this, more than anything, may be the cure to viewing food not as a sum of its parts, but as a whole, to be enjoyed by the whole, for our mutual good.

Posted in Book Reviews | Leave a comment

Creating Space – For Health (By Juicing)

How I Got to Juicing

As I mentioned in my last post, I’ve decided one way I’m going to attempt to improve my health is by juicing fruits and vegetables. This is, admittedly, a shortcut to where I want to be. But, while I work to create space in other aspects of my life, this allows me to introduce micronutrients at a larger scale into my diet without causing major disruption to my overall schedule (which needs a major disruption – but all things in their time).

My journey to this point started pretty innocently. For reasons that still aren’t clear, I began to find myself watching documentaries, and reading blogs/articles related to one of two things. Negatively, I was watching the Western Diet get eviscerated scientifically and anecdotally, and positively, I was watching/reading compelling stories of people who made simple (but not easy) changes and saw incredible results.

Eventually, these two things came together, and I became convinced it was time for some change. I’m not into diets (they are designed for failure), but I am into healthy, sustainable changes. And juicing is stage one.

How I’m Juicing

The juicer I’m using is a Breville Juice Fountain Multi-Speed. Good ratings on, Consumer Reports, and consistently saw that people thought clean-up was pretty easy while being happy with output of their juicing. After a full week of using the Breville, I can say that clean up really is pretty simple. The juicer disassembles easily, there aren’t an excessive amount of nooks and crannies that take careful attention, and even the filter (while the hardest part to clean) is easy enough to clean with the included brush.

As for it’s ability to juice, I have nothing to compare it to, but the unit seems to do a good job. I’ve juiced apples, pears, oranges, lemons, ginger, cucumbers, celery, kale, and spinach so far, and all the pulp they left behind is damp, but not juicy. I’m spending money on organic produce (more on how much I’m spending on average per juice in a later post), so it is important to me that I be able to extract efficiently. At this point, I’m convinced it’s doing just that.

Reminding Myself Why I’m Doing This

I took J to Freedom Park today for an hour. While we were there we walked over to the three baseball fields. Each had a game going, and J enjoyed watching and yelling “bah” (that’s ‘ball’ to the uninitiated). I however looked around and saw all the parents watching their children, and was reminded again why I’m making these changes. I want to be around for J as he grows up, I want to grow old with my wife, and I want to be of use in my life wherever the Lord places me. It’s moments like today, when I saw a picture of what might be in a few years, that motivate me to keep going, and create space for my health.

Posted in General | Leave a comment

Creating Space – For Health

This week, I had the privilege of attending a 3 day leadership/personal development course courtesy of Varrow. There will be, over time, more here at vNook (at least there better be) about my time at the Golden Apple Center for Inner Excellence.

Today, I’ll just note one takeaway. We were asked at one point to follow an exercise where we identified a number of things in our lives (passions, gifts, purpose). As a part of this exercise, I was asked to list what the five most pressing needs of my world are. My first was rather simple: Creating Space.

Creating Space is not easy in my life. Between family/friends, church, and work, most (and sometimes all) of my waking hours are spoken for. This is not to complain – I love my life and am thankful for every aspect of it. However, because life if full, stress is always lurking.

Lately, stress has really been weighing me down. Work has been a major contributor, but there have been personal issues as well that have been heavy and hard. A major consequence of all this has been my health. My energy is low, my sleep is poor, and my weight is up. This is something I’ve been noticing for a month or two, and have been doing some thinking about how I might enact some positive change.

One will be to re-order my sleep patterns (good/long article here on benefits of sleep). I simply do not do a good job of valuing sleep, and that needs to change. It is obvious to me  that I am less effective at work, and less available to my family and friends the day after a short (and/or poor) nights sleep. So why do I keep up this pattern?

Another is to make some additions and substitutions to my diet. And that starts with juicing. In my next blog post, I’ll share some of my journey that has brought me to this place, what I’ll be doing, and what I hope it will do for me. But for now, despite my desire to keep writing, I need to get some sleep!

Posted in General | 2 Comments

vCenter Server Appliance – Active Directory Integration Issue

For my home lab setup, I use the vCenter Server Appliance (VCVA) to manage my two-host ESXi environment in lieu of the traditional vCenter running on a Windows VM setup.

Acknowledging the general caveats around the VCVA, I’ve found it very easy to deploy, equally easy to update, and generally very stable. The changes I’ve made to the VCVA are minimal, and when I leave it alone, it just runs and works well. (I do cut down on how much RAM it gets – defaults are 2 vCPUs and 8GB of RAM, which is a high cost for a low-budget home lab with only 32GB of RAM total! I run it, after initially deploying and configuring with the default resources, at 2 vCPU and 4GB of RAM).

One issue that I’ve had with the VCVA however is around Active Directory Integration. Try as I might, I could not get it to integrate with AD without a tweak to the configuration. Having verified that my AD setup is working (both Forward and Reverse Lookup zones set, ability to add machines (both server and workstations) to the AD environment (both inside and outside the ESXi environment)), I decided to do some digging into the issue to see if I could get AD integration to work.

The error I was initially getting when attempting to configure AD integration in the Setup wizard was Error: Invalid Active Directory Domain. Sorry, no screenshot as I foolishly forgot to take one.

To resolve this, I had to edit the ‘hosts’ file in /etc on the VCVA. By adding an entry via VI for my AD server in the following format, I got past the above error.

IP Address FQDN Hostname

For those of you who, like me, don’t spent their days in VI, here’s a rundown of the commands I used to edit the ‘hosts’ file.

SSH or login via the console to the VCVA using root and the assigned password.

#cd /etc

#vi hosts

[Down Arrow] to location you wish to insert your new record


IP Address FQDN Hostname





This will return you to the VCVA main screen, having added the record, saved/written the file, and quit out of VI and the CLI.

Once complete, returning to VCVA setup, I got a new error on attempting AD configuration – but this time it was clear VCVA could now find my AD/DNS server (an improvement!).

vCSA - AD Error

To resolve this error, I had a much simpler time. In this blog article, the author notes the need to use the FQDN in the VCVA hostname setup on the Network/Address tab. I thought I’d done it, but hadn’t – so I added it, and:

vCSA - AD Error Fixed

I still think there’s probably an issue lurking somewhere in my AD configuration that caused all this (as opposed to the VCVA), but I’m glad to have found a workaround for it and hope this helps someone if they run into a similar issue.

Posted in VMware | Leave a comment

Varrow Madness 2013 – Session Callouts

Last year, I was a newly minted member of the Varrow team when Varrow Madness 2012 took place. As I was still very much in customer mode, I was viewing it much as I would have if I had attended previously as a customer. What impressed me last year was, above all (yes, even more than the Flash Mob!), the technical content of the sessions that were offered. And this year? No exception.

In this blog post, I want to make a few recommendations on speakers/sessions that stood out to me as I reviewed the list of offerings. Please know that I can’t possible just say ‘all of the sessions’, so I’m necessarily leaving out some really talented speakers talking about really good topics. Such is the risk I take!

Session Group A

  • XenDesktop Provisioning: MCS or PVS? by Phillip Jones
    • If you use XenDesktop, might use XenDesktop, or if you simply want to hear a bona fide expert at his craft speak, go to this session. Phillip is a world-class engineer and excellent speaker (and an all-around great guy).

Session Group B

  • vSphere Physical Connectivity – Deep Dive and Best Practices by Jason Nash
    • Want to hear a VCDX talk about an under-discussed topic in vSphere? This is your session then. As Jason said on his blog – if port channels or teaming or hashing cause you issues, please join!

Session Group C

  • Deploying an Active/Active Datacenter with SRM 5 by Joe Kelly
    • Just about every customer I have the privilege of working with these days are discussing whether or not to transition from the traditional Prod/DR datacenter split to a true Active/Active environment. So this is a timely topic, by a true expert of SRM. Quite simply, when Joe talks, I listen. You should too.
  • VNX Performance Optimization and Tuning by David Gadwah
    • I know no one who knows the VNX platform better than David Gadwah. Each time I’ve sat in a training session with him, or visited his lab with a customer, I walk away more knowledgeable about whatever topic David was teaching that day. I have every confidence this session will produce similar results.

Session Group D

  • Virtualizing SQL Workloads – Best Practices for Performance and HA by Tony Pittman and Kyle Quinby
    • While virtualizing SQL is nothing new, virtualizing it well, and protecting the environment properly, still requires good thought and planning. Join this session to hear from two guys who really know SQL and how best to virtualize it.

Lastly, if you haven’t signed up yet for Varrow Madness, why not? Go here. And put Jason Nash down as the person who referred you – I’m part of a conspiracy to see our sales reps lose the internal referral contest and I’m pushing my registrants to Nash. United we engineers stand – divided, we lose to reps 😉

Posted in Varrow Madness | Leave a comment

VMware Partner Exchange – Day Two

A couple of unexpected (but good) meetings ended up disrupting my schedule today, so I attend just two sessions today. First, I went to an EUC update around What’s New in VMware View, and immediately afterward attended a storage update around vSphere 5.1 storage features.

Horizon View 5.2

Several new features have been added to View with the 5.2 release. Many more than the below list, but these are the ones that stood out to me as the presentation unfolded.

  • Combination of vSphere 5.1 and View 5.2 bring support for up to 32 ESXi hosts
  • Multi-network pools now supported
    • Enables multiple VLANs in a single pool, eliminating the need to split pools based on insufficient IP addresses within single range
  • Maintenance Enhancements
    • Rolling-Refit operation keeps minimum number of desktops available during recompose/refresh/rebalance operations
    • 2X improvement in end-to-end provisioning, recompose and rebalance
      • Up to 2000 desktops can now be completed in a single 8-hour shift
  • HTML5 Browser-Based Desktop Access
    • View Desktop delivered through any (read “Chrome”) HTML5-ready browser
    • Accessible via View Portal or Horizon UI
    • Adds an install-free access methodology for desktops, and additionally enables access to View desktops from device platforms that was previously unavailable due to lack of native client
  • vSGA – Horizon View Media Services for 3D Graphics
    • This new features gives shared access amongst VMs to physical GPU hardware
    • Drives better performance for 3D applications like CAD


vSphere 5.1 Storage Features

Picking up where vSphere 5.0 began, vSphere 5.1 extends or introduces a number of key new storage features. Here are some highlights.

  • VMFS-5 is now as scalable as NFS from a file-locking perspective (up to 32 ESXi hosts)
  • VOMA implemented – vSphere On-Disk Metadata Analyzer
    • VOMA is a reporting tool, run via CLI only.
    • Meant as a peace of mind – useful to check key stats and health of a VMFS volume.
    • No running VMs can be present on the volume at time of check
    • Syntax: voma -f check -d [VMFS path]
  • VAAI
    • No new primitives added in 5.1; 9 total remain
    • Thin Provisioning Primitive – Feature Callout
      • Thin Provision Stun (Out of Space (OoS) Condition)
        • OoS lifts an advanced warning into vCenter
        • Upon OoS, only those VMs which are requesting additional storage are paused or ‘stunned’. VMs not requiring additional space are able to keep running without disruption
  • svMotion Enhancements
    • Prior to 5.1, svMotion was serial (one at a time). With 5.1, you can now perform up to 4 parallel svMotion’s. However, this is only possible if the svMotion’s are carried out on 4 different datastores
    • Support for “shared nothing” svMotion in 5.1
  • IO Device Management
    • New Troubleshooting Feature adds storage namespace into ESXCLI
      • For instance, you can get (and reset) SAN FC stats using IO Device Management. By resetting the counters to zero, you can track and troubleshoot for storage/volume related issues with this new tool.
      • Syntax for FC: “esxcli storage san fc stats get”

SE Sparse Disk

Finally, the two sessions brought together a shared feature. In vSphere 5.1, a new VMDK disk type was introduced. SE Sparse Disk introduces two new features. First, it introduces a variable block grain size as opposed to previous fixed grain sizes in other disk types.

But second, and most importantly for this post, the single use case for SE Sparse Disk at this time is for View 5.2 (HW Version 9 required). And importantly, it applies to linked clones that are leveraged for persistent desktops.

SE Sparse Disk carries with it a feature called Space Reclamation. Space Reclamation features two actions. First, a WIPE is initiated via VMware Tools in the Guest OS. This WIPE process marks all unused blocks as free, then reorganizes the disk to create a continuous block of free space. After this completes, a SHRINK action takes place, which reclaims the free space and returns it to the storage array.

SE Sparse Disk is now the default disk type for View 5.2. There remain as of the completion of this session some questions around the impact of the Space Reclamation feature, but the EUC presenters noted that the performance team should be publishing metrics soon to give partners some visibility into what the impact will look like, and helps us design and schedule around the spike in storage activity while the dead space is reclaimed.

Posted in VMwarePEX | Leave a comment