2015 Year-End Review for Virtual Elephant


2015 Goals & Accomplishments

The year was one of the very best in recent memory across many aspects of my life — it also saw some of the biggest changes! When 2015 began I set out to accomplish several goals both personally and professionally, nearly all of which were realized in a much shorter time period than expected. The biggest goal, and change, that came about this year for my professional career was to become a full-time cloud architect. Initially, I did not think that goal would be realized until late Q3 or early Q4, however much to my surprise an unreal opportunity came in Q2 and I suddenly found myself (and family) moving to Northern California to join VMware as an architect on their private cloud team. It happened so fast that much of the remaining seven months of the year have been a whirlwind and left me with a feeling of whiplash when I look back!

The other two professional goals I set for myself included growing the Virtual Elephant audience and gaining both VCAP-DCV certifications. I have been very pleased with the success I have achieved in both areas — neither of which could have been achieved without a great support system of friends and family. The Virtual Elephant blog began in Q3 of 2014 with very modest goals of being a place I could talk about Hadoop and generic virtualization topics without re-writing much of the great work that is already on the internet. As 2015 began, I felt as though I had found my niche in the blogosphere, focusing on Hadoop and Cloud Native Applications. The year has been a great one for both sets of technologies, and I have immensely enjoyed writing about these topics. I get excited whenever a new feature preview comes about or an idea pops into my head for something else to try. Not every idea has made it onto the blog, but those that have I am extremely pleased with.

The most important accomplishment in 2015 was celebrating my 15th wedding anniversary with my wife! It was not a typical “goal” you set at the start of the year, but a major accomplishment nonetheless. The last 15 years of marriage have been amazing and we have a beautiful family where we have been blessed with six truly amazing children. Most of the credit goes to her for these accomplishments. Without her support, faith, care and love I would not be the man I am today nor have seen the success the year brought!

Blog Statistics

At the time of this writing, the blog had seen roughly 20,000 page views and 6,500 unique sessions during the course of 2015.


The audience was all over the world, with the following graphic coming from the sites annual WordPress report.


The site saw ~50 posts published throughout the course of the year and the top posts on the site were:

  1. Docker Container for IO Benchmarking
  2. Multiple Storage I/O Profiles in Apache Mesos & Mesosphere Marathon
  3. Docker Minecraft Containers to the Rescue!

Not having statistics from 2014 makes judging these numbers impossible, but I am confident the traffic rate from the site more than doubled this year. The goal for 2016 is to see those numbers double again, but the only way that happens is if I continue to generate good, interesting and useful content for the community!

I truly believe the most important thing to do with a blog, especially if you are looking to differentiate your voice from the masses, is to generate new, creative and unique content. I hope to continue to do so in the future.

What’s Coming in 2016?

I do not yet know what 2016 holds for me, but I am excited by the things I am working on and look forward to seeing them through to completion. The biggest professional goal I have for 2016 is to gain my VCDX certification. The past year has helped me grow significantly and I have been truly blessed to be surrounded by great individuals at work each day who challenge me and help me to become a better architect. Hopefully the February VCDX defenses will be my opportunity to achieve this next milestone in my career.

I also hope to continue writing, both for the blog and on the book I have been working on throughout this year. The idea of being a published author is something I had never fathomed before a couple years ago and what a learning experience it has been! I look forward to sharing more details on the book project with you in the future.

Finally, I hope to return to the VMworld stage this year to talk and share my experiences with you running very large-scale infrastructure, best practices and interesting information surrounding the Cloud Native Apps space.

I hope you all have a wonderful New Year and look forward to talking to each of you in 2016!

IGMP, Multicast and learning a lesson

In a recent conversation, it became clear to me that my knowledge of the inner workings of VXLAN and VSAN were not a deep as they could be. Since I am also studying for my VCAP exams, I knew additional time educating myself around these two technologies was a necessity. As a result, I’ve spent the last day diving into the IGMP protocol, multicast traffic and how they are utilized both within VXLAN and VMware VSAN. I wanted to capture what I’ve learned on a blog post as much for myself as for anyone else who might be interested in the subject. Writing what I’ve learned is one way I can absorb and retain information long-term.


IGMP is a layer 3 network protocol. It is a communications protocol use to establish multicast group memberships. It is encapsulated within an IP packet and does not use a transport layer — similar to ICMP. It is also used to register a router for receiving multicast traffic. There are two important pieces within the IGMP protocol that VXLAN and VSAN take advantage of — IGMP Querier and IGMP Snooping. Without these two pieces, IGMP would act astonishing more than a broadcast transmission and lack the efficiency required.

IGMP Querier

The IGMP Querier is the router or switch that acts as the master for the IGMP filter lists. It will check and track membership by sending queries on a timed interval.

IGMP Snooping

On a layer 2 switch, IGMP Snooping allows for the passive monitoring for IGMP packets sent between router(s) and host(s). It also does not send any additional network traffic across the wire, making it more efficient for multicast traffic passing through the network.


That’s IGMP in a nutshell — so how is it used in VXLAN?

In order for VXLAN to act as an overlay network, multicast traffic is used to enable the L2 over L3 connectivity — effectively spanning the entire logical network VXLAN has defined. When a virtual machine connects to a VXLAN logical network, it behaves as though everything is within a single broadcast domain. The ESXi hosts, configured for VXLAN, register themselves as VTEPs. Only those VTEPs that register with the VXLAN logical network participate in the multicast broadcasts. This is accomplished through IGMP Snooping and IGMP Querier. If you have 1000 ESXi hosts configured for VXLAN, but only a subset (say 100) of the hosts are concerned for a specific VXLAN logical network, you wouldn’t want to send multicast broadcasts out to all 1000 ESXi hosts — that would be inefficient by increasing the multicast traffic on the network unnecessarily.

There is a really good VMware Blog 4-part series on VXLAN and how it operates here.


The implementation for VSAN is very similar to that of VXLAN. The VSAN clusters require a methodology for learning what ESXi hosts are adjacent to each other and participating as a VSAN cluster. VMware uses layer 2 multicast traffic for the host discovery within VSAN.

Once again, IGMP Querier and IGMP Snooping are play a beneficial role. VMware states that implementing multicast flooding is not a best practice. By leveraging both IGMP Snooping and IGMP Querier, VSAN is able to understand who wants to participate within the multicast group. This is particularly beneficial when multiple network devices exist on the same VLAN that VSAN is operating on.

If you have multiple VSAN clusters operating on the same VLAN, it is recommended you change the broadcast address for the multicast traffic so they are not identical. This will prevent one VSAN cluster from receiving another clusters broadcasts. It can also help prevent the Misconfiguration detected error under the Network status sections of a VSAN cluster.

For a better understanding of how VSAN operates, please check out the VMware blog entry here.

For a season network professional, I highly doubt any of this was new or mind-blowing. For someone who does not generally dive into the various network protocols — but should probably start doing so — this information was both a good refresher on IGMP and helped me understand both VXLAN and VSAN a bit better.

Did I get something wrong? Let me know on Twitter.