Over the course of the last 18 months, I’ve spent a bit of time as a booth bunny at shows like OSCON, Structure, CloudConnect etc. helping evangelize OpenStack. A fairly common conversation opener thrown by people expressing interest goes something like this:
We are currently using VMware, but it is too expensive… tell me how can OpenStack help?

What does it mean to say
“I am using VMware”
in the first place?

To date, I am still not clear if people asking this question think of OpenStack and VMware as two discrete products competing in the same market or they implicitly refer to some specific OpenStack project and some specific VMware product where the comparison may be relevant.

So what does it mean to say “I am using VMware” in the first place? VMware has a vast portfolio of offerings, ranging from consumer-focused solutions all the way through to the enterprise.

The VMWare Big Picture

Having worked in the enterprise software space for over 10 years, I can confidently state that very few people have a global understanding of product portfolios offered by large infrastructure players like VMware, IBM, Oracle etc. – and this includes sales people working for these companies. Therefore, a consideration of differences between VMware and OpenStack requires some understanding of the VMware portfolio. Hence, before we make any comparisons, let me set forth the key VMware offerings in the datacenter automation space. Generally speaking, the VMWare offerings here here can be split into four categories, sorted in layers, up from proximity to bare metal.

  • Layer 1: ESXi hypervisor – bare metal hypervisor, like Citrix XenServer. This is VMware’s loss leader; VMware gives it out for free, while making most of its revenue on augmenting ESXi functionality with vSphere bundles
  • Layer 2: vSphere – this is where the majority of VMware business is today (and as much as 90% in 2010). vSphere is essentially a commercial offering of ESXi which includes the hypervisor plus a bunch of cool enterprise stuff, such as tools for live migration, advanced security, network and storage I/O control etc. vSphere is offered in three bundles, each with a progressively broader set of features and software licenses meant to support a larger pool of hardware resources.
  • Layer 3: vCenter – the basic foundation block here is vCenter Server, which is a centralized orchestrator / control dashboard of vSphere environments deployed across many nodes. Everyone running vCenter must also purchase some vSphere bundle. In addition to vCenter Server, VMware offers vCenter plug-in modules such as Recovery Manager (to backup and restore VMs on the fly), Lab Manager (to manage DevOps environments), Chargeback (compute and storage metering with chargeback policies), etc.
  • Layer 4: vCloud Director – if you want to take your VMware-based virtualized datacenter and turn it into an IaaS-like service, this is what you use. Key features include externally facing self-service functions such as an infrastructure services catalog, billing etc.

Given that overview, let us now switch gears and take a closer look at OpenStack.

The OpenStack Big Picture

Despite common belief, OpenStack by itself is not a product; it is an independent, non-profit foundation. The Foundation’s purpose is to provide an umbrella trademark and a governance structure for several open source software projects, licensed under Apache 2.0. In this sense it is very similar to the Apache Foundation.

All projects under the OpenStack umbrella are united by a common theme: building a piece of software, meant to deliver some component of an IaaS cloud. All OpenStack projects are split into core, incubated and community. Core projects are those that formally fall under the OpenStack umbrella; i.e., they are subject to OpenStack community governance process and are officially endorsed by the community, with regularly scheduled releases. Incubated projects are those that have been voted to be included into core during one of the upcoming releases. Community projects are those that add some value to the OpenStack ecosystem, but are not governed or officially endorsed by the community. I won’t go into the details of the actual OpenStack projects here; there is already a good overview on the OpenStack website.

The Technology View, Side by Side

As may be apparent from the overview of VMware and OpenStack above, comparing the two is like comparing apples to oranges. While there are clear slices of functionality across OpenStack projects and VMware products that compete in some ways, the general approach and philosophy of the two ecosystems are vastly different. I believe that seeing the differences in philosophy is more relevant than a side-by-side feature comparison; for those of you who want to hear concrete differences grounded in technology, let me throw out a few thoughts.

Comparing the two
is like comparing
apples to oranges

The only way I see comparing the two is by narrowing OpenStack down to Compute, Image Service, Dashboard and Quantum, which is focused on networking. Things like Swift Object Store or the virtual load-balancer have to be excluded from the comparison because, to my knowledge, VMW does not have a competing offering. The scope of functionality of the above-mentioned projects would land OpenStack somewhere between Layer 2 and Layer 3 of the VMware product portfolio as I depicted it above. That said, though it is ultimately an awkward exercise to attempt to pin VMware and OpenStack against one another, we’ve put together a deck that highlights a side-by-side comparison between key features of the two ecosystems within the intersecting slices of functionality.

Differences in philosophy

Meanwhile, I’d like to focus the rest of this post on the difference in the philosophy. I think there is probably no better way to characterize it than Lydia Leong has done in her post, referring to VMware as “cloud-out” and OpenStack – as “cloud-in.” VMware was propelled forward by the adoption of virtualization in the enterprise. As virtualization continued to become increasingly commoditized, VMware gradually pushed up the stack; new value added features were layered around the hypervisor in pursuit of maintaining the market momentum, initiated by the “virtualization disruption.” The vast majority of VMware revenue today is still driven by vSphere, which is basically a Virtualization 2.0 market play (as Randy Bias of Cloudscaling refers to it). Ultimately, VMware today is not about cloud, it is about datacenter automation. It is not about infrastructure “as a service”, it is about virtualization offerings focused at very specific enterprise pain points. VMware does not sell elastic compute or elastic storage; VMware sells things like the virtual machine recovery manager or the chargeback module. The difference with OpenStack isn’t just the technology; it is in the fundamental approach to tackling the infrastructure automation puzzle.

The typical VMware customer is an enterprise CIO or IT Manager. As such, its portfolio of solutions is specifically targeted to address the acute pain points of these particular customers. These acute pain points all revolve around finding productive means to cater to a very diverse set of application workloads, the majority of which were never built for the cloud and were not designed to scale horizontally.

“VMware caters to two decades of accumulated enterprise IT.
OpenStack is more elegant.”

Infrastructure clouds in general and OpenStack in particular are not a byproduct of layering functionality around the hypervisor; neither were they originally targeted at the CIO or IT Manager pain points and, therefore, aren’t held back by having to cater to traditional enterprise workloads. The OpenStack view of the world involves starting from scratch. It is the philosophy where one says “let us forget about all those existing enterprise applications and automate the infrastructure in a way that carries no legacy dependencies”. IaaS involves a holistic approach to automating the entire infrastructure layer in a uniform way. It is not just about functionality layered around the hypervisor. As such, OpenStack projects are not structured around enterprise pain points such as security (vShield), data availability (Recovery Manager), resource accounting (Chargeback Manager) etc. Instead, OpenStack projects are structured as logical encapsulation units of infrastructure resources that are consumed by the applications: compute, object storage, block storage, networking etc.

To put not too fine a point on it, VMware is largely about infrastructure solutions catering to two decades of accumulated information technology commonly found today in the enterprise. OpenStack, on the other hand, is a much more elegant solution for green field, cloud applications.

Looking Ahead

While the OpenStack approach is clearly different and has powerful momentum behind it, applicability of its approach inside the enterprise firewall will remain questionable for a while. When it comes to today’s enterprise infrastructure pain points, VMware is still king; whereas, in that same enterprise context, OpenStack is still a solution in search of a problem.

It is unclear if in the future the OpenStack philosophy will dominate over VMware philosophy, or, perhaps, the two will converge somewhere in the middle. The only thing that’s obvious is that OpenStack has momentum and it’s different from traditional thinking ways of thinking about virtualization. It is about a holistic approach to infrastructure automation; it is about open source; it is about business models that aren’t based on end user license agreements.

In the end, while side-by-side comparisons of VMware and OpenStack may be possible across a particular slice of functionality, it is, in my opinion, an irrelevant exercise because of the fundamental differences in philosophy and market vision of the two ecosystems. Looking to replace one with the other is simply the wrong approach.