<img height="1" width="1" style="display:none;" alt="" src="https://dc.ads.linkedin.com/collect/?pid=76180&amp;fmt=gif">

RoundTower Blog

VMworld 2016 Hack-a-Thon:
The Story of How We Won


A few months ago VMware launched a new community initiative aimed at capturing the zeitgeist around DevOps and the idea of sysadmins venturing into the dark arts of programming. Modeled after the wildly successful EMC{Code} community, folks like Alan Renouf and William Lam began to spread the word on twitter and a Slack channel was formed. A few of us who felt something cool was about to happen joined up to see what it was all about.

The Hack-a-Thon

As VMworld grew closer it became apparent that this was going to be the launch party for the community, and what better way to kick-off a community effort about code than a hack-a-thon. The rules were simple:

  1. Individuals would submit ideas.
  2. The top 5 ideas would be selected to form teams.
  3. Community members could sign up to join the teams.
  4. All teams would have 3 hours to bring their idea to life.
  5. At the end a panel of judges would select the winning team based on vision, execution, and creativity.

Not one to pass up a challenge, I submitted my idea. It was voted the second most popular and I was given a team. The other captains were Luc Dekens, Alan Renouf, Matthew Brender, and Anthony Burke. All absolute rockstars in their own right. This was going to be an uphill battle.

Longtime friend Russell Pope joined my team along with three other folks from the community who I met the night of the hack-a-thon. I could not have asked for a better crew.

The Idea

My idea was straightforward, Autoscaling Groups for vSphere based on real time load metrics. Autoscaling has long been the white whale of virtualization and the cloud. We were promised it forever ago and only recently have products like AWS, Mesos, and Kubernetes made it a reality. With Autoscaling being table stakes for these Cloud Native platforms, I thought it was about time that vSphere did it as well.

We decided to use the native vSphere API to make this happen and built our tool in Python. The goal was to have a daemon running that would create or destroy VMs as needed, based on the real-time load. In order to do this, we needed to consider a given VM, a min and max CPU amount, and a min and max number of instances.

During the three hours allotted, we came very close. We put together a passable demo and really good slide deck.

The Aftermath

When the smoke cleared and the judges voted, we were named the winners. Prizes were handed out but it did not stop there. In talking with the one of the judges we have been given the chance to make this feature part of vSphere in the future, a prize better than any drone or Intel NUC. The code still needs some polish and if you’d like to contribute to the project, it will be posted on Github soon. In the mean time we will be working with VMware Product Managers to make the dream real.


None of this would have been possible without the community. Total strangers and old friends came together to help me realize a dream. We all have day jobs, but it’s folks like these that make them worth doing. I highly encourage everyone out there to get involved. Join Twitter, find a slack channel, go to a local meetup or user group. I guarantee you will learn something and probably have fun along the way.

Share this Post:
« VMworld 2016: Revelations & IT Jeopardy
The VMworld Experience in 2016 »