Posts on Cloud,DevOps, Citrix,VMware and others. Also tracking my Continuous learning from Wintel to open source and development.
Words and views are my own and do not reflect on my companies views.
Disclaimer: some of the links on this site are affiliate links, if you click on them and make a purchase, I make a commission.

Tuesday, March 28, 2017

Linux networking: It’s not just SDN

Oftentimes, Cumulus Linux gets confused for an SDN (software-defined networking) solution. In conversations with potential customers, I've noticed that some of them find it difficult to distinguish between SDN, open networking and Cumulus Linux. When I talk to network engineers, I start by clarifying the SDN buzzword head on. The term gets overused, and is often defined by other confusing acronyms or marketing jargon. To complicate things further, SDN is often thought of as equivalent to OpenFlow, which is flawed in my opinion.

What is SDN?

If I were to more accurately describe SDN based on my experiences in the networking industry, I would define it more broadly. Instead of defining SDN as a specific solution (such as OpenFlow), I define SDN as a highly automatable and programmable network infrastructure.

What SDN providers exist today?

OpenFlow: Many companies and communities drive OpenFlow solutions, but today there is no guarantee any one solution can interoperate with any other.

Proprietary or vendor-specific: Solutions such as Cisco's ACI and Juniper Contrails are closed solutions that are positioned as SDN. Arguably, certain OpenFlow solutions can fall under here as well since they don't all adhere to an OpenFlow standard.

Network virtualization with technologies like VXLAN. Cumulus Networks believes that network virtualization (VMware NSX, Midokura MidoNet, Cumulus Networks EVPN, and even Open Contrail) is the way forward for this type of SDN. To learn more about network virtualization, refer to our documentation on the subject.

These are all different network solutions that solve different problems. However, they all rely heavily on network automation to operate wherever they are useful, and they all involve network infrastructure in one way or another as well. For example, Midokura MidoNet is heavily geared towards OpenStack deployments whereas VMware NSX is geared towards VMware vSphere deployments. They both can use VXLAN and both support multi-tenancy but are fundamentally different products for different customers.

How does Cumulus Linux differ from SDN?

Cumulus Linux is a NOS (Network Operating System) that enables industry standard silicon from Broadcom and Mellanox. Cumulus Linux is not SDN by itself but enables SDN solutions through being a highly automatable operating system, using standards based approaches for interoperability and allowing multiple ways of configuring network virtualization. SDN is an ambiguous term that can be solved multiple ways, and Cumulus Linux is the platform that can enable the method that customers choose for their network. To make a comparison to the retail world, we want to be the Android operating system that enables the Apps (SDN) that customers want to run.

Enter NetDevOps (or DevOps for network infrastructure), which is just another way to highly automate network infrastructure. There's no special sauce, no secret app — it's just DevOps methodologies combined with a networking mindset. Cumulus Linux abstracts and maintains the configuration, and adds continuous integration and testing.

Cumulus Networks believes in being vendor agnostic, developing open solutions and leveraging standard DevOps automation tools like Ansible, Chef, Puppet and Salt. This is why we identify ourselves with other open source projects, rather than relying on marketing smokescreens.

The benefit of this is that unlike the SDN options, Cumulus Networks allows you to completely customize your network based on your needs and your budget. You can leverage existing automation tools, existing talent and existing processes to fully automate a flexible, web-scale network

In the end, the power of Cumulus Networks is that it's just Linux — no proprietary APIs, no proprietary CLIs — enabling network engineers and system administrators to speak the same language.