VM life-cycle with PowerCLI

I’ve heard many authors talk about how through their writing process the story or the characters change. I guess this is one reason titles aren’t decided on until the very end of the writing process. When I submitted my session proposal for “No Money, No Problem!” I had originally planned on writing about using PowerShell/PowerCLI as an automation/orchestration engine. I’ve learned over the years that it “may” not be the best idea to fight the muse. During the writing process for this presentation I followed where the muse led and in the end this presentation ended up being much more about the potential ways that you can automate the life-cycle of a VM. I’m hopeful that if you attended the talk, that it was still useful for you despite the slight pivot. Fifteen minutes is not a lot of time for a technical talk, so this post is an deeper dive into the content from my VMTN presentation. So without further ado….

Day 1

The activities on Day 1 are all about configuring the environment. The example I chose to use in my session was setting up a vDS. You can just as easily apply the same logic to something like setting up iSCSI datastores, clusters or the like. The overall premise is that by leveraging PowerCLI you can speed up the delivery of your environments, while delivering higher quality infrastructure. Let’s take a quick peek at how this is done in the context of delivering the elements necessary to run a Distributed Switch. Striping out extraneous code and comments, what you’re left with is a five liner that will give you a Distributed Switch.

$DC=Get-Datacenter -Name "NoProblem"
New-VDSwitch -Name "vds_iscsi" -Location $DC -LinkDiscoveryProtocol LLDP -LinkDiscoveryProtocolOperation "Both" -Mtu 9000 -MaxPorts 256

New-VDPortgroup -Name "pg_iscsi_vlan5" -VDSwitch $(Get-VDSwitch -Name "vds_iscsi") -VlanId 5 -NumPorts 16

Add-VDSwitchVMHost -VMHost esx-06a.corp.local -VDSwitch vds_iscsi
$pNic=Get-VMHost esx-06a.corp.local|Get-VMHostNetworkAdapter -Physical -Name vmnic1

Get-VDSwitch -Name "vds_iscsi"|Add-VDSwitchPhysicalNetworkAdapter -VMHostPhysicalNic $pNic -Confirm:$false

So we pretty immediately get to the heart of why I’m such a PowerCLI advocate with this example. When we look at a command like “New-VDSwitch” it’s pretty intuitive what’s going on; we are creating a new vDS. It kind of doesn’t make sense to go through the plethora of switches/options as they are highly dependent on the situation. That being said there are a couple of items I’d like to call out in this example.

  1. PowerShell allows you to run a command in-line and pass the resulting object directly into a variable. That’s what you see happening here, where the Get-VDSwitch call is wrapped by $(…):
    $(Get-VDSwitch -Name "vds_iscsi")
  2. The power of the PipeLine. By using this powerful tool you can string multiple commands together to create complex actions in a very small amount of real estate.

Day 2

New VM’s 1

It’s my belief that if folks do nothing else but automate the provisioning of VM’s, then then can deliver immense value to their organizations and do it quite quickly. In the code below we create an OSCustomizationSpec, leverage that within a temporary spec with static IP addressing, which is then leveraged in the New-VM example. This is a pretty basic example, but you take it as far as you’d like. In a previous role this simple VM deployment evolved and became the 1700 line basis for our automated deployments.

$DomainCred=Get-Credential -Message "Enter Domain Admin credentials" -UserName "corp.local\Administrator"
New-OSCustomizationSpec -name Win2k12 -Domain "corp.local" -DomainCredentials $DomainCred -Description "Windows 2012 App Server" -FullName "PatG" -OrgName "VMware" -ChangeSid
Get-OSCustomizationSpec "Win2k12" |New-OSCustomizationSpec -Name "Win2k12_temp" -Type NonPersistent
for ($i = 1; $i -le 4; $i++){
  Get-OSCustomizationNicMapping-OSCustomizationSpec "Win2k12_temp"|Set-OSCustomizationNicMapping-IpMode UseStaticIP -IpAddress "$i"-SubnetMask ""-DefaultGateway ""-Dns ""
  New-VM-Name "WinApplication0$i"-Template "base-w12-01"-OSCustomizationSpec "Win2k12_temp"-ResourcePool $(Get-Cluster"MyCluster")

Walking through this example line by line

Line 1: We enter domain credentials and store them in a PSCredential object for use later on.

Line 2: Using the New-OSCustomizationSpec we create a base OS Customization spec, which is used in …

Line 3: We create a temporary OS Spec which we’ll leverage in the customization and deployment of our VM’s. All of this however is just laying the ground work for

Line 5: Within the loop we take the previously created temporary OS Spec and we customize it for use with the …

Line 6: We get to the meat of the matter where we are deploying a VM using the new-vm cmdlet and our newly created and updated temp OS spec to configure Windows for us.

New VMs – Linux from json

While the previous example will simplify matters, it’s not exactly the prettiest code, not to mention the fact that values are hard coded. If you want to start taking your automation to the next level you have to be able to accept inputs in order for the code to be more portable. Thanks to PowerShell’s ability to interpret json (as well as xml, and host of other formats) we can simply read in the desired configuration, and somewhat dynamically create the VM. If you want to include splatting you can go even further with your abstractions, but that’s a post for another day.

$InputFile = “c:\temp\linux_servers.json”
$Servers = $(Get-Content $InputFile -Raw| ConvertFrom-Json).Servers

foreach ($Server in $Servers)
    new-vm -name $Server.Name -ResourcePool $Server.Cluster -NumCpu $Server.CPU -MemoryGB $Server.Mem

The other Day 2 activity I chose to highlight is reporting. After all, how will you know about the performance and capacity of the environment, if you aren’t taking it’s pulse? Thanks to the kind folks at VMware, statistics can be exposed for use via the get-stat cmdlet which is the star of this example.

$objServers = Get-Cluster Demo | Get-VM
foreach ($server in $objServers) {
    if ($server.guest.osfullname -ne $NULL){
        if ($server.guest.osfullname.contains("Windows")){
            $stats = get-stat -Entity $server -Stat "cpu.usage.average","mem.usage.average" -Start $start -Finish $finish

            $ServerInfo = "" | Select-Object vName, OS, Mem, AvgMem, MaxMem, CPU, AvgCPU, MaxCPU, pDisk, Host
            $ServerInfo.vName  = $server.name
            $ServerInfo.OS     = $server.guest.osfullname
            $ServerInfo.Host   = $server.vmhost.name
            $ServerInfo.Mem    = $server.memoryGB
            $ServerInfo.AvgMem = $("{0:N2}" -f ($stats | Where-Object {$_.MetricId -eq "mem.usage.average"} | Measure-Object -Property Value -Average).Average)
            $ServerInfo.MaxMem = $("{0:N2}" -f ($stats | Where-Object {$_.MetricId -eq "mem.usage.average"} | Measure-Object -Property Value -Maximum).Maximum)
            $ServerInfo.CPU    = $server.numcpu
            $ServerInfo.AvgCPU = $("{0:N2}" -f ($stats | Where-Object {$_.MetricId -eq "cpu.usage.average"} | Measure-Object -Property Value -Average).Average)
            $ServerInfo.MaxCPU = $("{0:N2}" -f ($stats | Where-Object {$_.MetricId -eq "cpu.usage.average"} | Measure-Object -Property Value -Maximum).Maximum)
            $ServerInfo.pDisk  = [Math]::Round($server.ProvisionedSpaceGB,2)

            $mycol += $ServerInfo

$myCol | Sort-Object vName | Export-Csv "VM_report.csv" -NoTypeInformation

In the example above we simply iterate through the cluster, and obtain statistics on our Windows VM’s via the aforementioned get-stat cmdlet. Next we store all of the information we care about in the $ServerInfo hashtable. This hashtable is ultimately what’s used for output at the end of the code snip.

I do want to take a moment to breakdown what’s happening in the calculations functions, as it can be a little off-putting if you don’t know what’s happening there. So let’s take the following line and break it down piece by piece.

$("{0:N2}" -f ($stats | Where-Object {$_.MetricId -eq "mem.usage.average"} | Measure-Object -Property Value -Average).Average)

$(…) as we should know by now anything that leads with a $ sign is a variable. PowerShell allows us to cast results from commands or other objects into a variable simply by enclosing in parenthesis with a leading $.
“{0:N2}” Mathematical operator. In this case we’re formatting the value that is a result of the command that follows “-f”. In this specific instance I choose to keep two digits to the right of the decimal place. This is indicated by N2.

The command yielding our number just shows the amount of fun you can get into with pipelines. Starting just to the right of the “-f” option, we take our $stats object and pare it down using the Where-Object cmdlet. These values get further parsed out by piping into Measure-Object, which in this particular case is simply calculating out the average of the desired values in the object.

After all that is said and done, we can use the ever handy Export-Csv to come up with a pretty CSV for the powers that be, which shows just how efficient your environment is humming along!


Just like this blog post, and the presentation it supports, all good things must come to an end. And so it is with infrastructure as well. In our final example, we use the metrics from the all-powerful and omniscient vRealize Operations Manager. It should probably come as no surprise to you that the metrics which are stored in the all-knowing vROps server can be exposed to you via PowerCLI. If you’ve used or tested vROps I’m guessing that one of the first thing you checked out was the “Oversized VMs” report. We’ll use one of the statistics that make up this report in this last code snip:

Connect-OMServer -Server "Demo" -Credential $cred -AuthSource "ADdomain"

$when = $(get-date).AddDays(-20)
$vkey = "Summary|Oversized"
$threshold = ".75"

foreach ($vm in $(get-vm|Select-Object -First 33)){
    $avg = $vrstat|Get-OMStat -Key $vkey -from $when|Select-Object -ExpandProperty Value|Measure-Object -Average

    write-host $vm.name, $avg.average
    if($avg.Average -gt $threshold){
        write-host $vm.name, $avg.average
        if($vm.PowerState -eq "PoweredOn"){
            stop-vm -vm $vm -Confirm:$true -WhatIf:$true
    Start-Sleep 3
    Remove-VM -vm $vm -DeletePermanently -RunAsync -Confirm:$true -WhatIf:$true

Starting to work with the vROps commandlets (contained within the VMware.VimAutomation.vROps module) has a little bit of a learning curve associated with it, so we’ll break down some of the key elements on a line by line basis again.

Line 2: vROps is a separate entity from vCenter so we need to use the Connect-OMServer cmdlet to connect. One of the things that is pretty poorly documented, which may trip you up, is the authentication model in use with this cmdlet. If you are using domain credentials you want to use your short-name and the display name that you setup in vROps as the domain authentication source.

line 9: In this case I chose to pass in a VM object into the Get-OMResource, but you can just as easily use the -Name parameter. Get-OMResource simply returns the vROPs object that we’ll use with…

Line 10: Get-OMStat. The Get-OMStat cmdlet is where you actually start returning metrics out of vROps. In this case I’m using the “Summary|Oversized” statistics key. There are literally thousands of key’s that you can leverage. I’d suggest perusing Mr. Kyle Ruddy’s post on this subject here. For the purposes of this very simple example I figured I’d use an average of the data returned over time to see if this machine is oversized and therefore a candidate for removal. Obviously in an real situation you’d want a lot more logic around an action like this.

 $vrstat|Get-OMStat -Key $vkey -from $when|Select-Object -ExpandProperty Value|Measure-Object -Average 

Breaking down the command line by line. We call the


object and pipeline it into Get-OMstat where we narrow down the results by key using the previously defined $vkey variable as well as date duration of 20 days defined in the $when variable. Finally I’m just interested in the actual values stored within the $vrstat object so we pipeline through the

Select-Object -ExpandProperty Value

cmdlet to pull only the data we want. Lastly we use the


cmdlet to get an average for use in our simple example.

Line13: A simple If statement checks if we’ve crossed our pre-defined threshold. If we have, we move on to our D-day operations. Otherwise the script moves on to the next VM.

Line 16: You can’t delete a VM that’s powered on. Since we are deleting this VM anyway, there’s no need to gracerfully shut down, so we just power it off.

Line 19: So sorry to see you go VM.


does exactly what it sounds like. If we omit the


parameter we’ll simply remove the VM from inventory. In this case, we want it removed from disk as well, so the parameter is included. Lastly we don’t want to wait for the Remove operation before moving on to our next victim, so the


parameter tells our script not to wait for a return before moving on.

NOTE: I don’t know if anyone will use this code or not (I surely hope it helps someone), however just in case you do, I’ve set -Confirm and -WhatIf to $true so that you don’t have any OOPS moments. Once you’re comfortable with what’s happing and how it’ll affect your environment, you can set these fit your needs.

As I said at the outset, I hope you found this talk and post useful. I plan on doing a couple of deeper dives into some of the above topics, so if you’re still reading I appreciate your follows.

Lastly, I’d like to offer up a huge thanks to the good folks at VMTN and vBrownBag for the opportunities they offer people like me and you. If you find this interesting or feel that you have a voice to contribute, please do! A vibrant community depends on engaged people like you.

Thanks for reading, see you soon.




In 10 days I board a jet-plane for VMworld (HOLY CRAP!) which means the excitement is starting to ramp up. There are meetings, demos, events and of course parties to plan for, but how you approach a major conference is something that is very particular to the individual and that’s what I’d like to spend a few minutes discussing today. There are about as many ways to approach a major conference as there are attendees. Really? No,  but let’s just pretend so that I can share a few lessons learned from my conference experiences.

The Lab Guy

My first major conference I spent the majority of my time sitting in the lab soaking up as much hands on experience as I could. I would go hit the expo floor, grab a snack and an adult beverage, hide said adult beverage and hit the lab for hours. Not to say it wasn’t valuable but it damaged my spirit a little when late in the conference I learned that all of the labs would be available online after the conference ended… Oof.

After hearing this bit of spirit breaking news I learned that there is a really valuable reason to be in the labs: the guided sessions. Any time you can sit down with an expert, pick their brains, while gaining hand’s on experience, well… that’s just a win right there.

The pros to this are pretty obvious, you get to spend dedicated time learning, which is never a bad thing, but the fact that HOL will have the labs available on-demand after VMworld Europe diminishes the value somewhat.

The Expo/Party Guy

These strange beasts are very closely related to the Party People. Tech conferences are fun. There is a lot of beer and a lot of free stuff. But there’s always the person who devotes themselves strictly to these endeavors. A lot of really great information can be gleaned off the floor, but at a price… the dreaded badge scanners! If you’re ok with that, then you have a really great opportunity to learn about emerging tech.

Now the expo floor is great, and I have my fair share of headaches/swag to show for it, however there are some folks who make this the primary objective of their conference. The expo floor should be one tool in your conference bat-belt, but if it’s your bat-mobile… maybe it’s being overdone a little bit.


Yeah ok, that sub-title is horrible, but I couldn’t think of a fun (and appropriate) way to label the folks who are all breakouts, all the time. This one is usually me. Attending conferences isn’t cheap, even if it isn’t coming directly out of your pocket. I usually want to return some value to my sponsor and that historically has taken the form of trying to take away as much directly applicable knowledge as possible. Next to the labs, this might be the most effective way to soak up as much technological knowledge as possible. In my mind, Breakouts are the meat and potatoes of a conference, so it’s hard for me to find a downside here. But like all things, including meat and potatoes, take it in moderation.


“Active Participators” may be another way to frame this and it’s a new one for me. At Dell/EMC world 2017, I made it my mission to blog as much as possible. Going into VMworld 2017 I’m really making it my mission to get involved as much as I can. There are so many events that you can get involved with, I’d urge you to get out there and broaden your horizons a bit. On top of the parties located on the gatherings page, you can find opportunities to play games, get into the hackathon, blog in the village and a whole host of other activities.

Whatever your approach, I hope you find the right balance of activities to make your conference amazing. See you in Sin City!

PS: If you need more things to do, come check out my sessions.

VMware library

2017-06-25_203353The entire vSphere community (myself included) seems to be in a flutter over the release of the long awaited Host Resources Deep Dive by Frank Denneman and Niels Hagoort. For me this recently resulted in a tweet-thread to see who had bought the most copies (I lost). The upside to this whole thing is I came across Mr. Ariel Sanchez Mora’s (you should follow him ) VMware book list. I love book reviews, so with Ariel’s permission I’m stealing his idea! In fairness you should really go check out his page first, but make sure to come back! Without further ado, here’s the best of my VMware library.



Like many people, this is where I started. I’d heard horror stories about about the VCP, so after taking Install, Configure, Manage I bought my first book, coincidentally (or not) written by the instructor of my class. I immediately followed it up by adding the second piece to my library.

The Official VCP5 Certification Guide (VMware press) by Bill Ferguson

VCP5 VMware Certified Professional on vSphere 5 Study Guide: Exam VCP-510

(Sybex) by Brian Atkinson

I think that in terms of the earlier books, I’d give the edge to the Sybex version. It covers the same fundamentals as the official guide, but goes much deeper.

Just last year while at 2016 I was wandering around the expo floor at VMworld 2016, bumming from failing my VCP6 (it was expected, but disappointing nonetheless), and I walked straight into a book signing for the new VCP6-DCV cert guide. It was destiny or something like that

VCP6-DCV Official Cert Guide (Exam #2V0-621) (VMware Press) by John Davis, Steve Baca, Owen Thomas

Here’s the thing with certification guides; the majority of the material doesn’t change from version to version. DRS is DRS is DRS (not really, but the fundamentals are all there). If you’re just getting started, or able to get a hand-me-down version of an earlier version you’ll still be leaps and bounds ahead of folks who haven’t read the books. They can be a good way to get a grasp on the fundamentals if all you’re looking to do is learn. To that end, if you’re goal is to pass the test, you can’t go wrong with picking up an official certification guide. I know the VCP6-DCV guide provided an invaluable refresher for me.

For more on the VCP-DCV, please check out my study resources.

Hands On

Learning PowerCLI (Packt publishing) by Robert van den Nieuwendijk

I didn’t realize until just right now that there was a second edition of this book released in February of this year! Regardless, this book is a great way to get started with PowerCLI, however it’s more of a recipe cookbook than a tutorial. If you need a getting started with PowerShell book, look no further than:

Learn Windows PowerShell in a Month of Lunches by Donald Jones and Jeffrey Hicks.

This is the guide to get started with PowerShell. Honestly I think the authors should give me commission for how many people I’ve told to go buy this book. It’s not a vSphere book, but if you want to be effective with PowerCLI, this book will help you on your way. It breaks the concept up into small manageable chunks that you can swallow on your daily lunch break.

DevOps for VMware Administrators (VMware press) Trevor Roberts, Josh Atwell, Egle Sigler, Yvovan Doorn

“DevOps” to me is like “the cloud”. It means different things to different people. In this case the book focuses solely on the tools that can be used to help implement the framework that is DevOps. Nonetheless, it’s a great primer into a number of the most popular tools that are implemented to support a DevOps philosophy. If you’re struggling with automation and/or tool selection for your DevOps framework, there are far worse places to start.


Mastering VMware vSphere series

The gold standard for learning the basics of vSphere. This title could just as easily appear under the certification section, as it appears on almost every study list. A word of warning, this is not the book to learn about the latest features in a release. That’s what the official documents are for. You may notice that I linked an old version above, and that’s because the latest version was conspicuously missing nearly all of the new features in vSphere 6. That being said, it’s another standard that should be on all bookshelves.

VMware vSphere Design (Sybex) Forbes Gurthrie and Scott Lowe

Age really doesn’t matter with some things, and while that rarely pertains to IT technologies, good design practices never go out of style. This thought provoking book will help you learn how to design your datacenter to be the most effective it can be. I’d recommend this book to anyone who’s in an infrastructure design role, regardless of whether they were working on vSphere or not.

It Architect: Foundation in the Art of Infrastructure Design: A Practical Guide for It Architects John Yani Arrasjid, Mark Gabryjelski, Chris Mccain

And then on the other hand you have a design book that’s built for a specific purpose and that’s to pass the VCDX. Much of the content is built and delivered specifically for those who are looking to attain this elite certification. This is a good book, but as someone who has no intention of ever going after a VCDX, I expected something a bit less focused on a cert, and a bit more focused on design principles. If unlike me you have VCDX aspirations, you definitely need to go grab a copy.

VMware vSphere 5.1 Clustering Deepdive (Volume 1) Duncan Epping & Frank Denneman

I really don’t care if this was written for a five year old OS or not. If you want to learn about how vSphere makes decisions and how to work with HA/DRS/Storage DRS/Stretched Clusters, this is an essential read. Put on your swimmies because you’re going off the diving board and into the deep end!

I’m just going to go ahead and leave a placeholder here for the aforementioned VMware vSphere 6.5 Host Resources Deep Dive. Having heard them speak before and read their other works, I expect this book to be nothing less than mind blowing.

If you liked this, please check out my other book reviews.

Thanks for visiting!

Champlain Valley VMUG – Summer recap

Better late than never I wanted to provide some information to all of the CVVMUG’ers out there coming out of our successful June meeting.

First off another big thanks to our friend Matt Bradford (aka VMSpot) for his vRealize Operations presentation. Here are another couple of gems from Matt that may interest you further:

vmware-vsphere-6-5-host-resources-deep-dive-proof-copiesThe technical talks seem to be a big hit, so much so that we already have a community presenter lined up for October to talk a bit about DRS. To celebrate, we’ll be giving away a couple copies of the brand new Host Resources Deep Dive book. Mind blowing stuff. For a taste you should check out the recent Datanauts podcast featuring the authors and if you make it to VMworld, their Deep Dive sessions are a must attend.

Speaking of VMworld, as of this writing we are 62 days and counting until the kickoff. Please let us know if you’ll be attending. We’d like to do meetup or a happy hour or something. Also stay tuned, you may be able to find us working and/or presenting at the event. 😉

oct12_vmugSpeaking of conferences, you can find my DellEMC world recaps and thoughts here. And here is a bunch of info about VMware announcements and happenings from the event. Lastly, we talked a little bit about the fracas with VMUG and the newly announced Dell Technologies User Community, you can get another voice on that matter here.

Now that the business end is behind, we are trying to line up a BBQ social event for August, place and time TBD. While you’re penciling stuff in, circle October 12 on your calendar for our next Champlain Valley VMUG. We’re still working on a location, but we’ll have that for you soon!

Last and certainly not least, AJ Mike and I want to thank all of you, members and vendors alike for being involved. This is a community for all of us, and we really value all that you bring.

And don’t think that just because we have one speaker lined up for October doesn’t mean that you can’t also get up there. Mules are awaiting.

What is a VMUG?

vmw_vmug_logoUp here in the Champlain Valley we are getting ready for our summer VMUG meeting. While planning the other day someone asked me “What is a V. M. U. G.?” To which I responded “VMUG (pronounced “v-MUG) is…” and launched into a standard elevator, evangelist pitch. Almost immediately I regretted the canned response and started reflecting on what VMUG means to me. It really didn’t take long to reach a resolution to the question. What VMUG means to me can be summed up in a single word: Opportunity.

As I’m someone who wears everything on his sleeve, I’d like to let you know that I’ve been a VMUG leader for almost a year and have been a member and proponent of it since long before that. However long before I was a leader, VMUG offered opportunities to me that may not otherwise be available in Northern New England.

To start with, one of my first VMUG events was the opportunity to attend the UserCon in Boston. If you’ve never been to a UserCon, I suggest checking one out at your earliest opportunity. You have access to labs, technical presentations, fantastic keynotes, access to vendors and your peers! All for the low low price of Free! It’s essentially a miniature version of the big conferences held in Las Vegas, except they are regional and free.

UserCons are awesome but to me the true lifeblood of VMUG is the local communities. As I mentioned previously, I help run the Champlain Valley VMUG community. We hold local meetings 3-4 times a year where you can come to hear from your peers, vendors and industry leaders talk about what is happening in their industries, applications or local businesses. It’s a chance to network with folks in your area and learn about cutting edge tech. Your local meetings are also free, so there really just isn’t a good excuse for missing out.

Is it a VMUG? p-VMUG? v-VMUG? I’m so confused…

Speaking of networking, did you know that the VMUG advantage membership now includes NSX!  On top of all the evaluation software you can get a discounted ticket to VMworld. Actually it’s the only discount that you can stack with the other discounts. If you’re going to VMworld, or planning on taking a VMware class/exam you should just buy an advantage pass, it literally pays for itself. Seriously, I know this sounds like a sales pitch, but let’s suppose you’re going to take the vSphere: Install Configure and Manage course, that’s around $4000. A VMUG advantage membership gets you 20% off right out of the gate. It’s a pretty good ROI. I’m just saying…

Earlier I mentioned networking, but in my mind this is one of the greatest opportunities that VMUG can afford. Thanks to my involvement with VMUG I’ve learned a ton, gained a ton of awareness of the IT ecosystem, met CEO’s and frankly been able to advance my career. Getting up on stage and presenting about PowerCLI, a topic I’m very passionate about, has helped me get over my fear of public speaking in addition to paying it forward.

Someone recently came up to me and said (to paraphrase) “thanks for your session on PowerShell. I really took it to heart and have been using it in my day to day since.” In all honesty I really couldn’t ask for more than that. By being involved with VMUG I’ve been able to learn, grow my skills, engage with industry leaders and help others. It may sound like a sales pitch, but really this $hit just sells itself.

As always, I’m happy to hear any feedback you may have. Until then, I hope to see you getting involved June 15, at the Champlain Valley VMUG summer meeting!

DellEMCWorld – Final Thoughts

I have received a lot of positive comments about my updates from the conference, so thank you. I’m a big believer in using critical feedback as a means to improve, if anyone out there has any other feedback for me.

I wanted to jot down a last few thoughts from the week before my brain cells totally recuperate. I’m not sure what I expected going into this first combined Dell EMC world, but I do know that I had a blast and learned a ton.

Just for posterity’s sake, here are my first few updates from the conference

Dell EMC World 2017 – Day 1

Dell EMC World – Day 1, the breakouts

Dell EMC World – Day 2 VMware day!


captaincanada_copyServer Platforms

It was obvious from the start that with Dell purchasing the EMC federation they were going to go after hardware and namely the converged and hyper-converged markets. Beyond that I don’t think I really understood where this giant beast was going. After this past week, a few themes stuck out to me. The first is an affirmation that as the traditional hardware market slows down, Dell Technologies are indeed going to go even harder after the various converged plays. You could see a physical manifestation of this on the floor of the solutions expo. “Traditional” servers were tucked in the back, whereas the products from the converged platform division that Captain Canada leads were large and in charge of the middle of the expo floor. Prior to the acquisition VCE already owned the majority of the hyper/converged space. I don’t see how you can slow DellEMC down now that they have the servers to integrate as well.


run_nsxIf 2015 was the year of flash, and 2016 was the year of DevOps, then I think I’d like to go on the record saying that 2017 is the year of Security. I work for a financial firm, so I may have a bias towards this topic, but I felt like there was a much stronger message around security at this event. It makes sense. If Dell wants to own the entire datacenter, which they obviously do, you have to be able to secure the datacenter. With RSA, SecureWorks and VMware’s NSX already in the portfolio, it’s a pretty good start. When you then look to see how security is getting integrated into each of the disparate product lines all the way down to the new 14G servers, it looks to me like Michael Dell and team know that the products need to not just perform but need to be secure in order to win.

Other things

The Internet of things space (IoT) as well as AR/VR seemed to have a sizable presence at the conference. People have been trying to emphasize cool products years, but it seems like this might be the year where mainstream adoption starts. I can’t remember the precise figure now off the top of my head but I believe in one of the general sessions they were projecting let’s call it the “ancillary” space or non-traditional servers to be a $45 billion industry by the year 2020. Just for reference sake the market cap of Dell when it was taken private again was under $25 billion. I don’t necessarily see how this plays into long-term strategy but it was everywhere in the sessions and on the expo floor and it’s very obviously on the mind of Dell executives.

The Golden Geese

img_3061During the opening day’s general session, Michael Dell said to paraphrase “A few years ago we bought Alienware. They were the best at what they were doing, and we let them continue to do it.” The not so subtle message to the community is, we bought these companies not to pillage but to leverage their success and make each other stronger. I was fortunate enough to ask Michael himself later that evening if that indeed was his message, especially as it pertains to VMware. I’m again paraphrasing but his message was. “We didn’t buy these companies to pillage them. We are obviously looking for opportunities to itegrate across Dell Technologies, but these companies are leaders in their respective industries and we’re not going to decimate them.” The answer was much longer (and nuanced) but after listening to Mr. Dell and talking to a number of folks who are way more embedded than I, my fears have finally been (mostly) assuaged. Actually after attending a number of sessions across server/compute/storage/security/networking/operations I truly believe Dell Technologies has an opportunity to build something that is bigger than the sum of their parts.


As an engineer I’ve always felt that my job at conferences is to go breakout sessions wall-to-wall and learn as much technological stuff as I possibly can. I decided to alter the plan a slight bit for this one. As many have said before me, a large part of attending conferences are the networking opportunities. If you’re inclined and motivated there are countless opportunities to get out and network with folks.  Here are a couple of the events I was fortunate enough to take a part in.


It was an exciting, if not controversial week, in the Dell EMC communities. On Monday I attended the Converged (formerly VCE) User Group meeting. This is where I was fortunate enough to ask Mr. Michael Dell the aforementioned question about the various brands under the new Dell Technologies umbrella. Now I’m a pretty shy guy, but I have never been to a User Group meeting where I haven’t met someone interesting AND learned something AND had a bunch of fun. If you haven’t yet joined up with one of the Dell Technologies communities then you are definitely missing out.


In my role as a systems engineer I have been fortunate enough to work with multiple VCE products across multiple companies. So I was honored to be afforded a chance to attend a technical advisory board meeting for the converged platforms. It was an eye-opening experience to see how the roadmaps & strategies come together and to offer some frank feedback to the people who actually influence these products. Unfortunately I can’t share details from the meeting but needless to say it was a very cool experience that I hope to repeat again.

Also on Tuesday was the Dell Communities event. As a VMUG leader I was very excited to attend this meeting in order to network with some peers who I’ve only emailed with. It’s always nice when you get to meet someone whom you only know by their email and make a personal connection. After all, that’s really a big part of what VMUG is about. If you’re lucky these events are also very cool opportunities to get facetime with people that you wouldn’t normally be able to sit down with.

I meant Golf you fools!
And it is Vegas after all, so I was happy to wrap the day by enjoying some of the fine dining and activities that you can only find in sin city. All the while networking with one of our key partners, and meeting some cool people.

The Event itself

This is only my second trip to Dell EMC world, so the sample size is small, but each time I’ve been to the event I’ve been very impressed. From the general sessions, to the breakouts, the registration process, all the way down to how lunch is served so efficiently, it seems to be a really really well run event. I just wish that they would stop using so many disposable water bottles.

One of the fears i have attending a vendor run conference is how deep the marketing and sales pitches will run. I haven’t found Dell EMC world to be any worse than any other presentations that I’ve sat through. Some are worse, some are better in terms of the amount of “pitchiness“. On a whole I found the amount of sales at this event to be quite reasonable given all of the networking and educational opportunities that are provided.

With any luck I’ll be able to see how Dell EMC world has evolved in 2018, but until then I guess I’ll just have to wait to see you all in Vegas this August for VMworld.

Dell EMC World – Day 2 VMware day!

General Session – Realize Transformation

End User transformation

focus seems like it’s going to be on the end user space. How are we going to enable (and secure) our workforce in 2017. It looks like we are going to have some solid insights into where Dell is looking to go in the personal device space.

New product announcement: wireless laptop charging! I’ll take two. Coming June 1stIMG_3039

95% of all breaches start at the endpoint. OOF.

Nike and Dell working together on some really amazing tech. Dell Canvas allows user to have a much more tactile experience when designing. It’s going to be a very niche product, but really really cool.FullSizeRender (1)

Dell is projecting AR/VR to be a $45B business by 2025. It’s pretty obvious they’re going to go after this space. AR/VR is also a big focus on the solution floor. Daqri & Dell are partnering to come up with some interesting solutions in this space and hopefully using their scale to drive cost downward.

IoT and grocery. I know some people who might be interested in this part of the presentation. Grocery and supermarkets have a lot of capabilities with how they store products, but they typically just set it and forget it with their thermostats in the freezer & cold cases. Using IoT to track where your products are allows you to fine-tune thermostat controllers and realize real energy & waste savings. Grocery is just one use case, but the idea translates to other verticals. Dell has created a new Open initiative called EdgeXFoundry to start setting standards for the various IoT functions that happen at the edge.

VMware – Realize What’s PossibleFullSizeRender (3)

My favorite part of the general session. It’s fanboy time. Here comes Pat Gelsinger.

Where are we headed… Technology is magic, or has the ability to create magic. We’ve seen this from mainframes->client/server->cloud and IoT and the edge are the next frontier, but it’s happening now.FullSizeRender (2).jpg

LAUNCH ALERT: VMware Pulse IoT Center. Centralize management/security/operation of the network of IoT. Built on AirWatch/vRops/NSX.


Just like yesterday it appears that VMware has finally realized that their public cloud offerings … let’s just say they haven’t gone well. They are skipping to next gen of managing the devices at the edge and looking forward to Mobile Cloud.

Workspace one. make it simple for the consumer, but secure the enterprise. Seems like an overlap in the portfolio. How does ThinApp & AppVolumes play into this? Regardless VMware is taking a stronger focus on EUC this year.

FullSizeRender (4).jpgAnnouncement time: VMware VDI Complete. Client devices from Dell, converged infrastructure, and vsphere. It’s VDI in a box. Super Sweet! Oh and here comes Sakac running on stage hooting. Awesome.

Cross cloud architecture. Finally we are getting somewhere. Don’t do the cloud, enable it! At last we get to see VMware Cloud on AWS! vRA is up next. Please just start giving vRA away! To go faster and compete with the public cloud, we need the tools. It’s a loss leader! FullSizeRender (5)

Announcement: VMware and Pivotal are announcing a collaboration to come up with a developer ready app platform with a focus on cloud native/serverless/micro-services/function.

FullSizeRender (6).jpgPivotal Cloud Foundry works with the most powerful cloud providers enabling Dev and IT to get to market faster, delivering value and time back to the business. It’s taken a couple of years to get there, but it seems like VMware is finally got a good handle on their micro-services & cloud portfolio. Today’s presentations are really exciting to see where we’re going.

Dell EMC World – Day 1, the breakouts

Breakout session – Turbo charge your VDI project.

The last time I was at a major industry conference I had no need to attend any VDI sessions, but the only constant is change and that holds true in IT as well. Fast forward a few months and Horizon falls under my purview.

@andrewduce There’s a cake. A carrot cake. Seriously. Why? ok…

Recipes, ingredients (esp. best of breed, I think I can see where this is going), and time. The analogy is do you build your own cake, you have most of the ingredients or do you buy it? Build or Buy, it’s a subject that I focus on in one of my latest presentation proposals. It’s a subject that affects many of us, especially in the SMB space. Build is cheaper and more configurable, but it comes at a cost namely time and (lack of) experience. Buy is typically validated and faster to deploy, but you pay a premium for that. In the end it’s really a question of what you and your organization value.

If you want to buy it’s the Dell Technology view that you can stack vRO, VMware horizon and vSphere on top of vxRail to go for that integrated buy approach.

The kind folks at VMware offer a reference architecture on how to get onto Horizon 7. The also go through the effort to give you a bench-marking whitepaper to show you that the solution works.  And they also give you a set of VDI focused VxRail choices. How kind!

When you look at VDI, you need to take apart the various layers. What does that actually mean? In your golden image, don’t store software, separate out your application layer with a layering technology. Don’t add user settings to your app layer, use a technology to separate out the profile elements. By doing this if you go with best in breed, VDI becomes much more scalable than it was in earlier iterations. Combine this with VMware technologies like Instant Clones and App Volumes and suddenly you can significantly reduce your time to deliver value to your users.

The timing of this session is really perfect. I went through some demo’s in the past few weeks on Horizon, App Volumes and Smart policies. Smart policies is the one piece that I couldn’t get my head wrapped around until now. It seems like it’s a rule based approach to how you can dynamically control your end users environment, allowing them to seamlessly move from area to area and get updated settings based on location. Cool!

I’m impressed. A VMware guy said that Citrix is good. It’s in the context of “we can support anything”, but I like the honesty.

Just when I thought the session was over, a new offering being announced for a Dell EMC VDI complete solution. On prem as low as $8/user/month. Wow.


Breakout session – Tackle the Security challenge of Endpoints without End

The laptop is dying, had to revert to bullet points on the phone for this one

  •  ~10% of attendees have been hit by ransoms ware
  • No silver bullet, must look at things in depth, to reduce risk.
  • Ransomwares rise in prevalence is because it’s easier for bad guys to monetize.
  • Protect by anti malware-> signature based doesn’t go far enough any more. Machine based learning.
  • Backup is your special team. If something gets in, it’s your only real answer. They must be: PiT. Off site. Airgapped. Immutable.
  • Airwatch can protect remote employees. Play offense by being proactive, shrink the attack surface.
  • User most vulnerable. If compromised, have to limit access at endpoint.
  • Have to know what normal looks like. What indicators of compromise exist on a machine. Analogy of house and security cameras. You have to know when someone gets in.
  • New approach to move beyond signature based. Heuristic. Machine learning. Etc. look at behavior and/or what’s under the covers (i.e. The code) attributes of the code.

Not a lot of new content, but it’s nice to hear that the Dell EMC Technologies are thinking about this and how they can all work together.

Breakout session – DevOps & Itil

Last session of the day before I head off to a networking event. I saved a little bit of laptop juice especially for this session. You don’t have to spend long on this blog to understand that I love this topic. See my posts on The Phoenix Project, Get Out of ITThe Order of the Phoenix – The Prequel, etc to see my love. Perhaps I need to get a new infatuation point.

Finally! Someone agrees with me, Stanley Kubrik does make for engaging metaphors! No, well yes, but no I mean that Itil and DevOps can (and should) co-exist. I love that @md_schneider & @bverkley start this off with definitions. One of the biggest points of confusion around these topics is a lack of a common language. I won’t hash out the details again, just visit previous links for more details. 

Interesting that the talk starts on with a chat about Agile, Kanban and their practices have to be reflected in their principles and practices and vice-versa. DevOps is the principle and ITIL is the practice. I love it.

The principles of DevOps are Culture, Automation, Lean, Measurement and sharing. DevOps is not a tool, it’s a mindset and these values should be reflected in your practices (ITIL).

Culture is hard. Referenced heavily, gotta add this one to the reading list. Problems with DevOps are often due to conflicts within your organization and their culture. If more managers understood this, you’d see a lot more silo’s getting broken down.

“Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization’s communication structure.” – Conway’s Law. Whoa.

Automation is to DevOps as telescopes are to astronomy. It’s a tool. It’s not the thing. You need to attack the hard stuff, but don’t start there. Start with creating, it’s lower risk. Make it an iterative process. Create->Verify->Package->Release->Configure->Monitor and then you’ve covered the whole DevOps tool chain.

“Automate the lifecycle”

laptop’s… dying…

Dell EMC World 2017 – Day 1

04139a549b241c607cdecd8351188c07_upcoming-events-delta-sigma-pi-desert-mountain-region-vegas-baby-meme_510-287Vegas Baby, Vegas. Where 12,000 geeks all converge on Vegas to hear from thought leaders and learn about happenings in the IT. This year should be particularly interesting as it’s our first opportunity to attend the combined DellEMC World. Now that the industry leading compute, storage and virtualization providers are all under one umbrella I can’t wait to see what sort of slant the conference takes. Going into things if I had to wager a guess I’d say we’re going to hear an awful lot about converged/integrated platforms. I’m also hoping to hear how the developers for the federation have been hard at work integrating their disparate offerings into improved (and cheaper) around visibility, automation and orchestration. VMware has never had a strong cloud play, so if the new DellEMC federation is going to compete in the era of cloud they must enable us to do on-prem faster, cheaper and with much greater visibility.

There is so much going on at these industry conferences I’m going to try something different this go-around. I’m going to do my best to semi-live blog my experience, the sessions I attend and the knowledge gained. Hopefully this enhances my retention of the event, and maybe brings some value to those who couldn’t make it.


One of the really great and underutilized things about conferences are the testing opportunities. I live in a rural state, so finding a test center can sometimes be a challenge. Historically at EMC world your first attempt at any test is free, and thankfully they’ve carried that policy forward to the new combined conference. Typically, the last day of the conference books up as people try to carry the knowledge gained from the week into their test attempt. Believe it or not Vegas can get a little crazy, even for a bunch of computer geeks, so I tend to front-load my exams. It can be a bit of a bummer if you should fail, but either way you leave yourself open to be able to experience the rest of the event without studying hanging over your head.

dell_emc_proven_badge_CMYKTwo weeks ago, I decided to embark on a crash course, and attempt both the EMCISA & EMCCIS exams. Luckily things worked out for me, and I’m now an EMC Proven Professional x2. Just a quick note on these two exams. The storage exam is as you’d expect geared towards Engineers, but surprisingly isn’t completely jam packed with EMC propaganda. The cloud exam is a really solid overview of Enterprise IT today. Some of the product based content is a little dated, but I was surprised at the breadth of the overview provided by this course.

General Session

Jeremy Burton is the MC again, with a very loud microphone. Biggest (and first) Dell EMC World Ever, 13,500 attendees.

  • Michael Dell.
    • 90% of the top IaaS companies, 70% of the top SaaS, 100% of Fortune’s most admired companies run on Dell Technologies. (I still prefer the name federation)
    • “magic can’t make digital transformation happen, but we can”
    • #1 in everything, upper right quadrant. It sounds an awful lot like preaching to the choir so far.
    • Customer testimonial from 20 year Dell customer, Boeing. Newest partnership is with Pivotal (hopefully we hear more about this). The message thus far is we are going after the biggest and best, and if they use it you should too.
      • Here we go, name drop city.
      • Use Pivotal to address IoT. Transform your company into a software company, including services of course.
      • “Cloud is not a place, but rather a way of doing Information Technology”
      • VMware has a track record of poor public cloud offerings. It seems that Dell is leapfrogging IaaS to go straight to cloud native/3rd platform.
      • “Our customers tell us that public cloud is often 2 times as expensive as on-prem”
    • It’s obvious that Dell still has a big stake in On-prem, but even they are recognizing that in this day and age IT needs to transform
    • “We love VMware” – Yes we do Michael!
    • It’s going to be a multi-cloud world, and it’s obvious that other than being an IaaS provider, Dell is putting many irons in the Cloud fire. Hopefully as the week goes along we’ll hear more about how they plan to do all of these various things well, without spreading the company too thin.
    • “It’s about what you do with the cloud.” Hell yes!

We need better wi-fi in here! More of the Internets!

  • Client space is still going to be a focus. AirWatch is evolving to make for secure connectivity out of the box. Michael made a point to mention that PC technology will remain core to the Dell business.
  • Global roll-out announcement for Desktop as a Service. Jeff Clarke to share more tomorrow.
  • We bought Alienware, and we left them alone. (ie. we aren’t going to mess too much with our golden geese)

Security, infrastructure, compute, virtualization, cloud, EUC… I can’t stop wondering how Dell will be able to execute well on all of these areas, without losing focus.

Karen (Chief Customer Officer) talking about cancer research partnerships. Plastic removal from the ocean, and recycling the plastic removed into server packaging (COOL!). Combine this with Michael’s foundation and it’s obvious that social good is still going to be a focus.

David Blaine hits the stage. You gotta be here. Sorry.


 This got a little long in the tooth, so please check out Dell EMC World – Day 1, the breakouts for details on the breakout sessions.

The Full Stack paradox

This whole blog thing is still new to me, but I’ve tried to have a message or at least a coherent thought as I’ve gone about it. That ends now! I’ve had a question that I’ve been trying to sort out for a while and I thought that there’s a chance I may come to some sort of a resolution by writing this out…

Even though I changed jobs not that long ago, I still get emails from the job search sites. Most of them just get trashed as I’m quite happy in my new role, but sometimes I skim through them for giggles. One listing caught my eye recently for a “full stack developer”. Around the same time I came across a really well thought out article on the myth of the full stack developer. The fundamental premise of the article was that what the world really needs now is more full stack integrators. Unfortunately I can’t find the specific article, but a quick google for “death of full stack engineers” will result in a number of similar items.

I’ve also been catching up on podcasts during my commute and while the Datanauts, whose key catch phrase seems to be “silo-busting”, were wrapping up a recent episode they mentioned in passing the concept of a full stack engineer. Knowing that one of the hosts is a network engineer and the other a virtualization engineer, I can only assume that by engineer they meant someone from the infrastructure realm. And it’s this comment which stuck me the most and is a big part of my questioning today.

IMG_2808To give a little context, I started my professional career in IT almost exactly 17 years ago. I also am writing this post from my basement, listening to Phish, while wearing a Chewbacca snuggie. You may ask yourself what the hell that has to do with anything, and honestly nothing other than trying to establish my geek creds. TMI? Maybe? But we continue onward. The real point is that I think I’ve seen a fair representation of IT shops from small to large, local to global. One consistent thing I’ve seen across all of them is that the IT generalist, aka the full stack engineer, has never been a badge of honor.

In my experience IT professionals typically want to become the Subject Matter Experts (SME). In order to become a SME, you have to study, work and focus on particular technologies. Time is a limited commodity, so by taking this directed approach your ability to become well rounded and exposed to more technologies is restricted right out of the gate. To state it a different way: As you go further down the rabbit hole of specialization, breadth is naturally sacrificed for depth.

This model has worked for IT professionals for years. If I become an expert in a technology that is valuable to my organization/career/community, then I can achieve higher levels of pay/title/prestige. All of these results fire off my reward system and engage my dopamine receptors. But what if these short term rewards run counter to a greater purpose? What if by focusing on one minute area of IT infrastructure, I miss the forest for the trees?

And it’s this world that I think we find ourselves in in 2017. Technology is changing and roles change with it. If a technology like mainframes falls out of favor, and you’ve focused only on this aspect for the last N-years, well what happens next? (I’m just kidding mainframes, we all know that you’ll never die. Please don’t hurt me…). In the world of SDDC, Cloud, serverless, IoT and whatever the next emergent technology is, how do you translate these focused skills into a world that is becoming more diverse and generalized?  Playing the scenario out, perhaps it’s the forest we should have been focusing all along. The forest is the business. It’s the goal, not the methods.

And finally we come to the question. And perhaps it’s less or a paradox and more ironic that as developers trend away from Full Stack, that we as IT professionals have to ask ourselves: Is the time of the SME past? Have we entered an age where the generalists, integrators and full-stack engineers have finally come into their own? Where these full stack engineers are the primary engines that enable their organizations to succeed?

I certainly don’t know the answer, but maybe Cracker had it right when they said  “I’m sure as hell that it starts with me”