OpenStack and oVirt: Fitting the Pieces Together

Many readers of this blog, as well as my work on the Open@Cisco Blog, will be familiar with both OpenStack and oVirt. I have written many posts on OpenStack and oVirt, but what I want to do with this post is compare the two. Examining where each project has it’s roots, as well as it’s current status and how the two Open Source projects may converge in the future, is a worthy exercise.

OpenStack

OpenStack comes to us by way of Rackspace Cloud and NASA. It has as it’s origins a very ambitious goal: Allowing anyone to run a cloud computing infrastructure on whatever hardware you have in your data center. OpenStack has quickly consumed a large amount of industry attention, garnering support from a large swath of datacenter vendors as well as service providers. OpenStack has had many successful releases, and the developers are currently working towards a fall release of the IaaS software called “Folsom”.

oVirt

oVirt came into existence when Red Hat decided to Open Source the final piece of it’s Qumranet acquisition. Qumranet had built a datacenter virtualization management application using Microsoft’s .NET framework. Red Hat spent a large amount of time porting this code over to Java. The result is oVirt, which was released to the world at a Kickoff Workshop hosted by Cisco, the company I work for. The first release of oVirt came about on February 9, 2012. The oVirt team is hard at work on the next release at this time.

OpenStack and oVirt: Apples and Oranges?

From a distance, it’s easy to look at oVirt and OpenStack and think they may somehow be competing projects, both looking to solve the same problem. But once you dig into them, it becomes clear their short-term goals are very different. OpenStack, by virtue of it’s IaaS roots, is trying to solve the mulit-tenant datacenter problem. By focusing on massive scale, both in terms of nodes as well as tenants, it wants to let you run an AWS scale IaaS cloud in your own datacenter. oVirt, on the other hand, is focusing on a scale much smaller. It wants to let you manage a pool of resources so you can distribute your virtual workloads across them in an efficient manner. By focusing on a different set of users, the two technologies currently each have an important place in the datacenter. Their intersection may not be obvious currently, but OpenStack Quantum may be the first bridge between the two projects.

OpenStack Quantum: Bridging the Gap

One area where a bridge appears to be forming between the two technologies is with Quantum. Quantum is the networking technology, incubating in OpenStack, which will be used to construct rich network topologies for OpenStack clouds. It has broad vendor support, and will allow for networking vendors to plug their technology underneath to implement Quantum’s network and port constructs. When the Folsom release of OpenStack appears this fall, Quantum should become the default networking option in OpenStack.

In the fall of 2011 during the OpenStack Kickoff Workshop, the subject of Quantum and how it relates to oVirt was approached. I blogged about this here, noting at the time:

Now that the oVirt Kickoff Workshop is over, watching how the networking story with oVirt evolves will be interesting. The success of oVirt will be the result of the community around it, and the ecosystem for third party vendors it creates. With regards to networking in oVirt, the interactions between the Quantum community and the oVirt community have only just begun, and the future looks like a very collaborative affair between the two projects.

Those words ended up being very prescient, as there has been recent work to integrate Quantum into oVirt as a POC. This work has been done by some engineers at Red Hat, and the interesting thing about the work is how the network is the first technology being abstracted out of both OpenStack and oVirt via Quantum.

Future Interactions

In a previous post, I had compared oVirt to VMware vSphere, and OpenStack to vCloud Director. Once you make this comparison, it’s easy to see how you could at some point see OpenStack managing oVirt clusters. OpenStack has various virtualization drivers in Nova to handle interacting with virtualization platforms such as Xen, KVM, and Hyper-V. Adding a new driver to interact with oVirt would allow for an interesting interaction between the two technologies. Allowing OpenStack to schedule tenant workloads across oVirt clusters sounds interesting, and may be worth exploring in the future. Perhaps as the two projects converge in the middle, more interesting ideas will surface around these two vibrant Open Source projects.

Conclusion

As oVirt nears it’s second release, and OpenStack roles towards the projects sixth release, understanding where the projects exist today is important in looking at how their paths may cross in the future. OpenStack Quantum is acting as the first bridge between the two projects. But as the worlds of datacenter virtualization come together with IaaS cloud computing, the two projects fates may twist together to provide ultimate value for developers, users, and customers.