October 6, 2015
In my previous blog post, I wrote how network function virtualization (NFV) requires equal investments in technological and cultural change. Continuing my thoughts on NFV enablers, this post focuses on how open source is THE key to reaping the benefits from virtualization, SDN and NFV.
There are identifiable use cases for NFV today, but deployments are still limited. Among the many reasons for slow adoption is the fear of being locked in to particular vendor’s solution. As an example, there have been successful PoCs and trials, yet each use case appears so customized to a particular vendor that the NFV solution looks like a bait and switch. This results in a new type of vendor lock-in. In contrast, the open source model calls for and promotes participation from vendors, providers, independent developers and professionals across the industry to facilitate vendor-agnostic approach to development.
NFV will not work unless there is a common framework — equivalent to an operating system — that can be used equally by cloud service providers, carriers, and enterprises to place applications and workloads on to a cloud.
A compelling attribute of NFV is that it can provide a homogeneous infrastructure that supports heterogeneous networking implementations. However, NFV will not work unless there is a common framework — equivalent to an operating system — that can be used equally by cloud service providers, carriers, and enterprises to place applications and workloads on to a cloud. There is no “closed door” solution in the traditional networking world that can bring this homogeneity. While use of white boxes opened up hardware infrastructure, at the software layer, open source provides homogeneity by means of a community that works towards a common goal.
Open source has come a long way from its early days and attitudes towards open source have changed dramatically. The introductory presentation at the NFV Everywhere event in Dallas cited research by Heavy Reading that showed this change in perception.
Open source is not about free software; 84% of respondents view open source as a way to operate more efficiently or derive new revenue. A vibrant community that grows with the adoption of open source brings together many brains with various backgrounds in vertical industries and different aspects of networking. When such talents work together towards the same development goals, the benefits are evident in various forms:
- Broad perspective of different scenarios for the same application. This is important in the NFV space, as evidenced by the detailed use case descriptions by different Service Providers and VNF vendors. A use case can appear the same at a high level, yet there are subtle differences in implementation. For example, an SD-WAN use case for one service provider may mean automation of IP connectivity over L3VPN transport, whereas another service provider may consider it as automation of L2 or L3 tunnel over the top. Similarly, a WAN aggregation appliance from one vendor may be comprised of three VNFs when virtualized, while another vendor, due to the architectural and competitive differences, needs five VNFs. All these use cases need to be addressed in the same timeframe for different customers. More importantly, these different use cases require a vendor agnostic, holistic view, which only a community with participation from a cross-section of industries can offer.
- Faster resolution of bugs and security vulnerabilities. Security issues or catastrophic problems are quickly resolved as soon as they are discovered. In fact, the nature of a developer community and the visibility into such issues often creates a competition among contributors to develop the best solution. The benefit of open source development is its innate ability to bring more resources to bear in improving code quality and stability.
- Cross-platform federation compatibility. Cross-platform federation compatibility is handled as part of the basic design and not as an after thought. For example, the first OpenDaylight Hydrogen release supported use of multiple southbound plugins (SNMP, CLI, BGP-LS, PCEP, Netconf) and multiple vendor devices. It was in the best interest of vendors joining the community to add support for these interfaces and devices. Another example is the neutron plugin infrastructure in OpenStack. Neutron makes integration of multi-vendor infrastructure simple and intuitive.
- Visibility of source code provides confidence. The visibility of the source code, implementation, and bug fixes gives confidence to users of the software. They are more comfortable knowing that issues, particularly security threats, are fixed with most care.
- Open source provides development flexibility. Open source tools and platforms give developers and integrators the option to choose from a set of programming languages as well as the development environment for the type of hardware that works best with that programming language. Thanks to contributions from various open source communities, today we have a plethora of libraries for binding from one language to another. Users and developers can build and develop in the framework and language in which they are most comfortable and have the most expertise.
In attending many NFV Everywhere forums and speaking with attendees, I heard repeatedly that the two primary drivers of NFV adoption are the speed at which service providers can bring new services to market and the potential cost reduction of new services delivery compared to legacy methods. Service agility translates to faster release cycles, shorter certification cycles and rapid deployment to providers. This reduction in time from build to deploy yields higher return on investment. One obvious strength of open source communities, which has been proven over and again, is release management. Generally, release management is a last step in a fulfillment process in traditional enterprise IT departments. In open source bodies, however, release, packaging, manual and automated upgrades, and patch fixes are well designed and documented even before the community is launched. Providers and vendors can rely on the releases for subsystems that provide less value and dedicate in-house resources towards building systems that contribute to core competencies.
The opportunity to be participants in and be associated with open source contributions gives engineers a feeling of satisfaction.
I have personally been a part of two open source communities, OpenDaylight (working with founding members such as Jan Medved and Bhushan Kanekar) and OpenStack (working with leaders like Lew Tucker) that have benefited an entire industry. Both of these communities endured challenges and criticism like any other effort that comes from vendors in the networking industry. Fortunately, the support from service providers, cloud providers, and OTT services companies legitimized them and proved that NO One company can move fast enough to provide all the services and platform innovation required to meet the demands of billions of cloud users with today’s network and Data Center infrastructure. It would have to be a joint effort to build and upgrade networks and data centers to meet those demands of scale. There would need to be continuous work towards faster adoption and standardization of the work from collaborations.
I cannot close without sharing my experience as both a team member and team leader of how open source can positively affect an organization’s culture. The opportunity to be participants in and be associated with open source contributions gives engineers a feeling of satisfaction. The results of their work are visible outside their small internal team. It validates them in a very public forum of their peers and people they look up to. In addition, the free form creativity enabled by open source participation brings lots of hidden talent out of individual contributors who otherwise may only have worked on a specific piece of a specific platform for years. Being part of an open source community connects even shy personalities and non-public speakers directly to the industry. It brings new knowledge in-house directly to the development stage. It is a great way to achieve high productivity and retain talent. The community, the customers, and the contributors all win.