Editor’s note: Mike Cohen is the director of product management for open-source, policy-based solutions at Cisco.
Open standards have driven the networking market since the earliest days of the Internet. While the use of open source for networking is a more recent phenomenon, it is no less important. A major industry transition to open source for software-defined networking (SDN) is under way, and users and vendors stand to benefit. Some expectations, however, may need to change.
While the original idea behind SDN — separating the control from the data plane in network switches — has turned out to be just one of many architectural approaches that have emerged, it did catalyze massive interest in software and open source within the networking world. Things like APIs and DevOps tools became relevant to network engineers, and open source movements emerged to fulfill the need for increased automation and flexibility as organizations moved deeper into the cloud.
Most recently the conversation has shifted to how open-source policy frameworks can hide the complexity of networking and make interacting with networks easier and faster for application developers. Suddenly, networking is not just about the next generation of ASIC technology. It’s now about innovating at the speed of software.
While some of these open-source technologies are still maturing, they already show promise as a way to simplify network operations and reduce both operating and capital expenses. Networking vendors have moved aggressively to support open-source orchestration, network controllers and even software-based appliances to drive higher levels of interoperability.
While these projects require operators and developers to get their hands dirty, they offer a critically important venue for collaboration between vendors, as well as a way to drive standardization ahead of slower-moving standards bodies.
The Road to Open Source
Many different open-source projects have evolved over the last few years that affect networking. Some of the more notable initiatives include:
- OpenStack. Originally a collaboration between Rackspace and NASA, the OpenStack cloud computing software platform is the most prominent open-source project to emerge in recent years. OpenStack serves as an open source network orchestrator that lets users describe what they want from a network through a set of logical network abstractions.
- OpenDaylight (ODL). This project, led by the Linux Foundation, focuses on the control and management of network resources, and has defined both the controller architecture and use cases for SDNs through open APIs and standards-based protocols. ODL offers a flexible way to innovate in network applications across a broad range of infrastructure.
- OpenvSwitch (OVS). This virtual, multilayer switch, licensed under Apache, has defined host/virtual machine/container interactions for networking. Critical portions of OVS are now included directly in the Linux kernel, and it has become an important building block in extending the network into the operating system.
Open source projects have also performed significant work on open protocols, including:
- OpenFlow. Now managed by the Open Networking Foundation, OpenFlow kicked off the SDN movement in 2008 by promoting the idea of programmability in switches. While it has not offered the magic bullet SDN advocates were looking for, it did advance the science, engage the research community and help usher in the SDN era.
- OpFlex. This distributed policy protocol is intended to propagate an abstract, device-independent policy between a network controller and other network devices. A relatively new protocol proposed to the Internet Engineering Task Force (IETF), OpFlex was designed to offer a highly scalable architecture that works across a broad range of hardware devices to enable multivendor innovation.
- The Open vSwitch Database Management Protocol. OVSDB was conceived to handle management tasks on network devices not originally included in the OpenFlow protocol. It is heavily used in Open vSwitch and OpenDaylight and is even supported in some physical switches, as well.
These are just a few of the most noteworthy open-source networking projects, but others bear watching. For example, the Open Compute Project was formed to help drive low-level innovation in open hardware and software. Other cloud-based, open-source initiatives — such as Docker, which offers a portable container platform, and Puppet and Chef, which offer flexible and automated configuration tools — are also being connected with network infrastructure to push open-source networking forward.
Meanwhile, within the OpenStack community, efforts like Group-Based Policy are emerging: using open source to define an intent-driven policy language that can help application developers easily describe networking requirements. As users look to make a broad range of cloud technologies interoperate, open-source networking is benefiting from being a natural extension of existing community efforts.
From Threat to Opportunity
Vendors haven’t always been quite so supportive of open source networking. Some networking vendors initially viewed the rising tide of open-source projects as a threat. But the open-source networking movements and associated user demands for openness became too strong to resist. Most vendors have since come to embrace the trend.
They have joined open-source communities and are building products for and around open source projects even as they look for synergies with their own product lines. The industry is now going through the process of deciding on which dimensions products should compete and where everyone must cooperate on standards and open APIs.
That model is working. Some useful, though still maturing, code bases have been packaged and distributed with network products, the de facto standards established by open-source projects have increased interoperability, and in some cases the open-source community has come up with new approaches to solve problems.
The work, however, is far from complete. Open-source communities don’t always build finished, enterprise-ready products and likely will not obey any vendor roadmap. For example, operational elements such as installation, security and reliability may not be fully developed. These are major issues for people who manage enterprise networks. They need assurances that their organizations’ networks will be safe and reliable when using products based on an open-source platform, so it’s up to vendors to meet those customer requirements by filling in any gaps in their own distributions of the open-source software.
Testing and quality control in open source also may not be up to the network vendor’s standards for enterprise-ready products. Indeed, many open source projects have been “a year away” from being operationally ready for a long time.
However, the consensus-driven process behind open-source projects moves much faster than that of traditional standards bodies like the IETF. The mantra that “working code wins” can help open-source communities agree on de facto standards and start using them well before they become officially sanctioned. OpenStack’s community, for example, aims for a new release every six months.
Setting the Right Expectations
Many people don’t understand that open source takes a long time to mature. By accepting open source into the product development cycle, vendors give up some control over product delivery schedules. If the community can’t agree, timelines will slip, and vendors who rely on open source for their own products will be forced to extend release schedules. Customers may expect vendors to build and release products at the same pace as they did before, but that’s just not possible.
But these initiatives are establishing new standards for software components at a much faster pace than the traditional standards process ever did. Open source networking stakes out the middle ground between the traditional, slow-moving standards process and the rapid pace of product development and innovation possible with more proprietary designs.
The vendor’s role in open-source networking projects should be a symbiotic one with other members of the community. This includes contributing to open-source efforts for the good of the community while continuing to innovate and build differentiated products that better meet user needs. Vendors should also contribute some of those innovations back to the community to help promote new standards that will help the market continue to grow.
It’s still very early in the evolution of open-source networking, but it’s here to stay. Over the next few years, users can expect to see the continued evolution of all of these projects, as well as continued growth of the communities supporting them. Vendors will invest more in packaging and interoperability to ensure that customers can take full advantage of these tools, and users will see increased collaboration between web scale companies, cloud operators and vendors to ensure that open-source tools meet the needs of the user community. The result will be a win-win scenario for both network vendors and users.