OpenStack is meant to be pluggable; you should be able to swap out components as necessary (or desired). Normally, we’re talking about hardware–as long as you have the proper drivers, you can use pretty much any hardware to run your OpenStack cloud–but it also applies to additional systems such as Software Defined Networking components.
When Mirantis announced that we had integrated Juniper Networks Contrail Networking into Mirantis OpenStack, the first question many people asked was, “Didn’t they just integrate VMware NSX?” The answer to that is, of course, yes. That led to the second question, “Does that mean Mirantis doesn’t support VMware anymore?” The answer to that is, “No, of course not.”
We are now integrating with Juniper Contrail Networking in the spirit of customer choice. Customer choice is core to our mission as the pure-play OpenStack vendor, and a big reason why many companies choose OpenStack in the first place. Companies turn to OpenStack in order to take back control of their infrastructure, and they shouldn’t be limited as to what they can deploy. Providing multiple networking options allows for innovation in infrastructure, giving companies architectures and SLAs tailored to their specific use cases. It also lets companies “choose an optimal quality-to-cost ratio” (which is Marketing-speak for “same quality, less money”). For some, this will mean choosing VMware. For others, it will mean Juniper. For still others, it could mean one of our other Technology Partners.
So, with this Juniper integration, Mirantis will support BOTH VMware vCenter Server and VMware NSX AND Juniper Networks Contrail Networking. That means that even if they’ve got VMware in their environment, they can choose to use NSX or Contrail for their networking components.
Of course, all of that begs the question, when should you use Juniper, and when should you use VMware? Like all great engineering questions, the answer is “it depends”. How you choose is going to be heavily influenced by your individual situation, and what you’re trying to achieve.
VMware NSX Networking
For many customers, one common reason to use VMware (aside from technical merit) is that it gives them seamless integration with other already deployed VMware components. Although it’s mostly known for straight virtualization, VMware isn’t letting OpenStack pass it by; as we pointed out in ReadWriteWeb, VMware has a real OpenStack strategy backed by an engineering investment. And with 50 million VMs running on VMware vSphere and vCenter, there are a great number of users who will simply find it easier to stay with VMware products. For those users, that means VMware NSX Networking.
The VMware NSX Networking family of products consists of NSX-MH and NSX-V.
NSX-MH is an advanced, highly scalable, multi-hypervisor SDN solution based on the OVS (OpenVSwitch) virtual switch. It supports KVM- and ESXi-based hypervisors, integrates distributed routing, and has support for STT, GRE and VXLAN based software overlays and hardware termination with a number of ethernet switch vendors.
NSX-V is an advanced, scalable SDN solution for vCenter environments. It uses VMware’s highly tuned DVS (Distributed Virtual Switch) and delivers native vCenter and OpenStack integration, support for VXLAN software overlays, fine grained advanced high performance FW, traffic steering and advanced router integration.
Mirantis OpenStack’s integration of VMware NSX means that users who are already running either version of NSX can continue to use what’s familiar to them, while still gaining the benefits of using OpenStack.
Juniper Networks Contrail Networking
On the other hand, some customers are not hard-core VMware shops. Perhaps they already have, or are considering investing in, Juniper equipment. Or perhaps they don’t have a particular SDN component in mind, but they want to get better performance and reliability at scale than “vanilla” OpenStack provides.
For some of these customers, Juniper Networks Contrail Networking will be the right choice. It enables a multi-hypervisor environment, and while it’s a Software Defined Networking solution, it can also be used to control compatible hardware switches. That means no hardware vendor-lock-in.
Juniper Contrail (and its open source counterpart, OpenContrail) is an advanced, scalable SDN that uses Contrail vRouter, a virtual switch with integrated L2 and L3 routing support. It provides high performance, a service injection framework, distributed routing, and IP encapsulation, and inter-operates with any L3VPN-capable gateway, such as Juniper and Cisco routers. OpenContrail and Contrail share a code base, and the former is a freely available open source solution, while later offers robust enterprise grade support for critical production environments.
In addition to Mirantis OpenStack, Contrail also supports a number of integrations that make it even more useful in the context of OpenStack. For example, work is in progress to enable Contrail to be used with any compute node or appliance that supports Data Plane Development Kit (DPDK) and OVSDB (Open vSwitch Database Management Protocol), such as Cumulus Networks, widening your options. It also supports additional orchestration options, such as Kubernetes, and can be used for virtualization in Hadoop.