vRAM Licensing Reprise

So I promised to follow up, and here I am. I briefly touched on the new licensing structure the other day, and left with the words “DON’T PANIC”.

I stand by my words today, and here’s why:

The vRAM-based license entitlement is only a factor of what needs to be observed. We still need to purchase licenses per-socket, the virtual memory entitlement is pooled at the vCenter level, and we only need to worry about it for VMs that we’ve powered on. We no longer need to be concerned about the number of cores per socket or physical memory limitations in the host.

Let’s think about this for a moment.

Say I’m a small shop – I figure I need 3 hosts to virtualize my physical environment (say, all of 30 hosts). So I shell out for 3 dual-socket, 4-core hosts, with 32GB of RAM each, and vSphere Standard licenses all around (maybe I saved some cash and bought Essentials or Essentials Plus – those both use the Standard license). 6 total licenses are necessary, each giving me an entitlement to 24GB of vRAM. 144GB of vRAM total. If I virtualize each of my physical machines and give them each 4GB of RAM, I’m looking at 120GB of vRAM allocated. I’m still 24GB under my entitlement. Sure, I’m overcommitting a bit, with only 96GB of physical RAM available to the cluster, but at the same time, I’m going to guess that all of those hosts don’t require 4GB of RAM.

In this scenario, I still have room to kick each host up to 48GB of RAM before I really have to worry about memory overcommitment in earnest.

But let’s take this scenario out just a little farther. I’ve upgraded my hosts to 48GB of RAM each, and as my environment’s grown, I’m finding that I’m getting ready to overcommit memory. I know my environment, and realize that a little bit of overcommitment isn’t a bad thing. I just need to buy 1 more vSphere CPU license, and my vRAM entitlement grows.

Or let’s throw another curveball – instead of upgrading RAM, I replace my hosts. I keep the memory specs the same – 32GB each, but I get get new boxes with 8 cores per socket. In vSphere 4.1, that meant either upgrading my licenses to Enterprise Plus, or purchasing an additional, say, Standard license for each socket. Now, all I have to do is turn up the new boxes, remove the license from the 4-core node, and reapply it to the 8-core node. Problem solved, and no more money spent on software.

What about a fairly large shop? What if I’ve got a pair of 20-node clusters running a ton of VMs?

My large shop has been virtualizing a long time, and has a virtualize-first policy. It has also matured its provisioning processes to go along with virtualization. Virtual machines in this environment are generally provisioned with 1GB of vRAM. The hosts are 4-socket, 6-core systems. We’re running Enterprise Plus. This gives a 48GB vRAM per license entitlement. This means that I can deliver 3840GB of vRAM to each cluster. 3800VMs per cluster (assuming the VMs are provisioned with 1GB vRAM each). Now, that’s 192 VMs per host, which is fairly uncommon consolidation as far as I’ve seen.

The highest consoidation I’ve seen (with my own eyes) is 60:1. But more typically, I tend to see closer to 20:1. Even at 4GB vRAM per VM, at 20:1 consolidation, you’re still only allocating 80GB of vRAM per host, which is well under the 192GB of vRAM entitlement based on the 4 sockets licensed on the host. That gives us a lot of breathing room.

Sure, your VMs will vary in size, 1GB here, 8GB there, but the point is still the same. In most cases, your licensing will not cause you any trouble in most cases. I really think that most customers will find better flexibility in this new licensing model.

What’s even better is that the vRAM entitlement is pooled in a vCenter, so you’re not stuck with a workload on one host.

Change is tough, but it’s not as bad as it may seem at first glance.

What’s with the new vSphere vRAM licensing?

Ok, the cat’s out of the bag, the outcry has begun, but is the new vRAM licensing really as bad as you think?

My answer: No.

I’m noting that people seem to be absolutely up in arms about the new licensing structure, but keep this in mind: you’re not licensing your PHYSICAL memory, you’re licensing VIRTUAL memory. If you buy an Enterprise Plus license (which entitles you to 48GB of vRAM), that may well cover that host you have with 128GB of physical RAM, depending on your overcommitment.

You can also pool vRAM entitlements within vCenter, meaning that 3 Enterprise Plus licenses grant you a pool of 48GB*3 in your vCenter environment, and it doesn’t matter on which of your hosts your VMs are using the vRAM.

Watch this space, I’ll have a more in-depth writeup soon-ish, but the moral of the story right now is taken by the words on the cover of the Hitchhiker’s Guide to the Galaxy: DON’T PANIC


Mac App: Visor

Admittedly, I spend less and less time at my Mac thanks to my newer iPad-based workflow. And I spend even less time in a terminal (well, until the past couple of days). And the last couple of days are what bring me to talk about this little app. Well, SIMBL plugin, really.

Visor was written by Antonin over at BinaryAge, and offers a simple, yet rather spectacular drop-down implementation of Terminal.app, very much akin to the command input window from Quake. This is triggered by a hotkey. Once the Visor window is in place, you have your Mac Terminal.app ready to go, and have the option to open new tabs as well, just like in a traditional Terminal.app window.

Visor is completely customizable, and can be made what you want, thought I have found the defaults to be pretty workable.

This all comes to light as I’m ramping up on the vCloud Director classes, and as such, I’m setting up vCloud Director (VCD) in my lab environment. VCD runs on Linux, and backends to an Oracle database (which I’m setting up on Linux), so I’m spending a fair amount of time SSH’d into my VMs to work toward getting things set up

Anyway, I have to recommend Visor if you spend any appreciable time in a terminal on your Mac. I love the elegance of something so simple, yet so functional!.


Well, it happened on Friday. I passed the VCAP4-DCD exam. So now I have two VCAP credentials to drop behind my name.

I was rather surprised by the exam. It was definitely challenging, and asked many questions that I didn’t feel I completely understood. I guess knew better 🙂 There are times when you’re out building these designs that you just don’t understand what the customer is asking, so it’s not so far-fetched, except that, in the field, you can clarify things with the customer. Not so much with a proctored exam.

As I did with the DCA exam, here’s my instructor’s take on the DCD. If you didn’t read my DCA post, I talk about the exam from this perspective because there are many resources already written about how to prep for the exam, but I don’t see many that discuss the overall mapping of VMware Education’s offerings to the exam. That is in part because VMware doesn’t tend to develop courses toward certification, but toward a job role. There is definitely some overlap there, however, as the certifications are also developed toward a job role.

Unlike the VCAP-DCA, the VCAP-DCD only has one instructor-led course offering support for the exam: vSphere: Design Workshop. vDW is a 3-day course designed to teach, not how to design, per se, but how to approach design. We all want to have a nice design checklist or if-then flowchart to take into all of our design engagements, but we all know how different each of those engagements will be. We can’t always follow leading practices for one reason or another, but that’s ultimately OK, because we can justify our deviations. And, really, that’s the key. How does a deviation map to a business requirement? That’s what the vDW is geared toward teaching. It’s really more an exercise in critical thinking, which is of paramount importance when putting together a design for a customer.

This critical thinking is absolutely validated in the VCAP-DCD exam. While absolutely not required, I would suggest, without reservation, the vDW course for anyone approaching the DCD.

As a couple of points of disclosure, though. I feel like I’ve been clear so far, but I will repeat that I am employed directly by VMware Education, and I would also like to note that the vDW is probably my favorite class to deliver right now. It’s also a partner competency requirement. So I may seem biased, and in many ways, I am, but I’ve been a big proponent of good instructor-led training for far longer than I’ve been an instructor.

Anyway, it’s off to the vCloud with me. I’m ramping up on the vCloud Director classes, so I hope to see you in one somewhere along the line!


How do you approach your virtual networking?

I ask silly questions sometimes, but I do it for a reason. As a teacher, I i try to inspire you to think. So I ask questions that may seem a little goofy, but I also try to gently guide you down a new path.

I’ve been using this for a while in my vSphere classes (everything I teach that discusses networking, at least) and thought it was worth sharing. I lead off the discussion with a simple question: do you treat an ESXi host any differently than any other physical server while planning to attach it to the network? Sure, an ESXi host likely has more interfaces to cable, but that’s not all you need to think about. A fundamental shift in thought process should occur when thinking about your vSphere hosts and your network.

If you look at the vSphere network architecture long enough, it’s clear that you’re not just connecting a host to your network. You’re actually connecting more infrastructure to your network. You’re connecting physical switches to virtual switches, not connecting hosts to physical switches. Your vmnic devices aren’t really NICs at all – they’re bridging physical Ethernet to virtual Ethernet. Once that realization is made, everything’s different.

I’ll admit, I didn’t come to this realization all on my own – a friend of mine actually introduced me to the idea. We were discussing something about a class, and he drew on the whiteboard something that could easily be described as a cabinet in the context of a physical data center, and then began to explain that it could just as easily represent an ESX host (this was a couple of years ago). And the epiphany struck.

It’s easy for us systems guys (and gals) to avoid this thought process. We were never programmed that way. But the times, they are a changin’, and we need to remember to change with them.

If you think about your networking like any old host, let me suggest, kindly, that you’re doing it wrong. Start thinking about adding a cabinet to your raised floor, and then you’ll be right on track.

Is scripting an important skill?

So, yesterday, a colleague posed an interesting question. “Is scripting an important skill for a system administrator”?

I’d like to answer that question with a very resounding “YES!” Frankly, I have to question whether one is truly a system administrator without the skill to write a script (even if it’s simply a quick hack involving shell redirection). This is not about any particular scripting language. bash, ksh, Powershell, it doesn’t matter. Scripting is scripting. They’re all just different roads that lead to the same place: automation.

Perhaps my strong feeling about this come from my days as a Unix administrator (Solaris, primarily, but I have run Linux systems and dabbled in HP-UX). As an old-ish Unix jockey, my mentors always reinforced a common theme: if you have to do it more than once, script it! This mantra is not just because we can do more with less by way of a script, but is also for one’s sanity, really.

Let me share an example. A number of years ago, I was hired as a Unix admin for a rather large telecommunications organization. I joined their managed hosting group, and was expecting a reasonably boring life of MACs (Moves, Adds, Changes, for those unfamiliar with the acronym) – shuffling user accounts and data, adding users, groups, software, changing things on a request basis. But upon walking in the door on Day 1, they sat me down with the existing backup guy. 3 months later, this guy was no longer there, and it was just me running the backup system (we ran the backup infrastructure entirely on Solaris at that point). What’s worse, I was a rookie backup guy, and now I had 12 data centers to deal with, and I was running solo. Sure, I could have pointed and clicked my way through the X-Windows interface to the backup software, gotten RSI on my mousing arm, and gone absolutely mad knowing I wasn’t going to get any real help. But I’m all about working to live, rather than living to work. So I spent a little time learning the CLI underpinnings of my backup software, and everything that could be done (quite a bit more than via the GUI, mind you). Sure, my daily care and feeding fell behind for a little bit, but it was oh, so worth it in the end.

So I started building scripts. Reporting scripts, maintenance scripts, add a backup job scripts. If there was something that had to be done daily, I scripted something out. Weekly? Script. Monthly? Script. You get the idea. And then I loaded up my crontab in each datacenter, and I realized how much time I had to actually learn about backups and tape. All of a sudden, I had time to work with my counterparts in our engineering team to help shape the backup infrastructure. I could share pain points with them, and have data to back them up rather than anecdotes. We could dive into the real problems while I have nicely automated everything behind me. I also took the opportunity to start working much more closely with our FC SAN guys, which is a move that shaped my career for years after. Now, 6 months after I did all that work, I managed to start getting a team built up under me. Was the work all for naught? No way. Their lives were also made a bit easier as well. Were I better about my own personal data backups, I’d still have those scripts today 🙂

The moral of the story: Automation is a good thing. Not because we’re letting “the man” win and doing more with less. That’s just a side-effect. The real win for automation is that it frees us up from repetitive tasks so we can spend time doing more valuable things. And value is still what it’s all about. When your manager asks, in your annual review, “What value have you brought to the company this past year?”

Your answer could be “I worked long hard hours pointing and clicking my way through to make sure the bases got covered.” But wouldn’t you rather say “I automated the daily care and feeding of these 4 infrastructure applications my team owns, and have been working with {other team} to help them increase their efficiency by automating applications X, Y, and Z”?

I know which I’d choose.

How to Attend a Live Online Class

So, I teach a lot of online classes for VMware. Many of you may know this, for those that don’t, well, here ya go 🙂 Probably 60% of my classes are delivered online, the rest are in a live classroom.

The Live Online classes are great. All the same material, all the same labs, nearly the same experience, but no travel is involved. But not everyone knows how to attend a Live Online class. We already know all of the stuff in this post, but I think it bears repeating, if only to bring it back to the forefront of our minds. Bear with me here.

Take an online class with the same discipline and habits you have developed in the opportunities you may have had to work remotely. This may sound like common sense, really, but I think it needs to be said. In order to get the most out of these classes, I beg of you, don’t take the class while you’re in the office. This provides far too many distractions to actually get anything out of an information-packed class like ours.

Before you choose to sign up for an online class, check your home office workspace (whether a dedicated office or just a workspace that you can use at home). Let’s think about the basics.

  • Do you have broadband connectivity? You’ll probably want this for the presentation and the labs.
  • Do you have a telephone, or are you going to use a headset on your computer? Ideally, you will have a land-line telephone with a speaker (or even better, a headset) for the voice component of the class. This will provide the cleanest overall audio experience. Our online Training Center provides VOIP services for the session, and that tends to work rather well, but you will definitely need decent broadband and a computer headset so that the audio doesn’t turn into a terrible echo-tastic mess!
  • Do you have more than one monitor you can work with (one for your documents, one for the class and lab sessions)? Multiple monitors is a serious benefit. For those that don’t have many displays just hanging around, most laptops can drive a secondary monitor while the laptop screen is open.
  • Do you have a reasonably comfortable chair? You’ll be in it for most of the day – good to have.
  • Stuff to make lunch in the kitchen? While heading down the street to grab a bite is probably ok, traffic can be a little unpredictable.
  • Is there a TV (or any other possible distraction) nearby? These are the biggest concentration killers in any online class. It’s awful easy to mute your line and kick on a DVD that you’ve been meaning to watch, but then you’ll miss out on all the entertainment your instructor can provide!

I think it’s really best to treat an online class much like you treat a classroom-based class. You need to remove yourself from the office, from the troubles of work. When you take a class and travel to the classroom, you can focus on the education aspect of your job. In most organizations, training time is precious and rare. Take advantage of it.

In the office, you can sit and listen, but how many people just pop by your cubicle during a day? How often are you pulled away from your desk for an impromptu design meeting or troubleshooting session? How dedicated can you really be to the training?

When you don’t give the class your full attention, you’re not only providing a disservice to the instructor, in many cases, you’re providing a disruption to the class. In our classes, for example, the lab exercises are progressive – almost every lab depends on the successful completion of the prior labs. But more important to that, later in the class, when we start talking about distributed and clustered services, each attendee will be teamed up with another so that clusters can be built. If you haven’t been able to keep up with the lab exercises, then you’re not only hurting yourself, but also your lab partner.

So Live Online classes definitely mean we need to look at the bigger picture, as we’re potentially bombarded with constant distractions. Put yourself in a position to focus on the class. Even if you’ve been working with our products for a while, I promise that we’ll both learn something about the product during one of my classes. But only if you’re paying attention.