OpenDaylight Developer Spotlight: Brent Salisbury
OpenDaylight is an open source software project focused on advancing Software-Defined Networking (SDN). This is the first blog in a series that profiles the people who are contributing to the project.
Brent Salisbury works as a network architect and software hacker with over 15 years of IT experience in large enterprise, healthcare and regional provider networks.
How did you get involved with OpenDaylight? What is your background?
By trade I am a network plumber. I grew up learning networking from proprietary vendor APIs. Since I work in academia you would think I learned of SDN from there. I actually first learned of OpenFlow and SDN in a Packet Pushers podcast in which Martin Casado was talking about OpenFlow and Open vSwitch. That was the proverbial 'blue pill'. There was an obvious void in a collaborative open source controller platform that thinks beyond the data center and is not ultimately controlled by a single vendor's strategy. I live in a world of hardware switches in enterprise and regional networks. To take advantage of SDN, I need that support from vendors in hardware. OpenDaylight gives the user community the chance to work alongside incredible developers in an environment that truly has a sense of community, fellowship and mutual admiration amongst the participants. There is no time or place in OpenDaylight for know-it-alls and egos. Being open to ideas and respectful debate is incredibly productive in SDN. That is the kind of community that will transcend beyond OpenDaylight to other open source software projects and earns the support from many of us in the community.
What projects are you working on for OpenDaylight? Any new developments to share?
I am currently hyper-focused on working on Open vSwitch database (OVSDB) support in OpenDaylight with Madhu Venugopal, Evan Zeller and Giovanni Meo. OVSDB will primarily enable provisioning in Open vSwitch and is important because OpenFlow does not have any sense of management plane functionality. OVSDB is also a critical component in OpenStack that we have Kyle Mestery focused on who is an OpenDaylight committer, a core OpenStack Neutron member and also a VXLAN contributor to Open vSwitch.
I think once traditional networking folks like myself get a taste of creating infrastructures rather than just plugging things together, networking will change forever. OpenDaylight is a perfect fit because of the genuine desire from OpenDaylight leadership to include the non-vendor community regardless of programming expertise. Learning syntax is the easy part, but making things work – which is the bread and butter of the networking community – will be valuable. Evolving their programming skills will be less daunting in this community than others in my opinion.
People have different definitions for SDN depending on how they're using the network. What's your definition of SDN?
I liken defining SDN to defining the "cloud". There is a desire to wrap a clean articulation into a box and call it a day. I think we are developing alternatives to traditional networking with protocols like OpenFlow and management protocols that will begin to unbundle traditional philosophies and practices. We have the ideas; what we need are implementations and products that can deliver. The days of postulating on what will and won't scale are hopefully transitioning to proofing in code and enumerable test results. The OpenDaylight project is dead center of making it possible to apply all of the different applications of SDN in an abstract platform. Everyone with passion in networking should have their own opinions of what the future of networking will look like. The question is: are you going to do something about it? OpenDaylight is a chance for anyone to put their name on a brick in the foundation of the next 20 years in a horizontal project enabling programmatically driven networks.
From your perspective, what are the major benefits of making OpenDaylight an open source project?
Open source is the only way to tackle this 20-year technological disruption in networking that we are in the midst of. Vendors or standards bodies trying to solve the problems we have accumulated since Ethernet's inception in a vacuum would not be the industry putting its best foot forward. Under the guidance of The Linux Foundation and what I have found to be an amazingly inclusive developer community, the speculation that OpenDaylight is solely controlled by incumbent vendor(s) is being tangibly disproved with code contributions.
Frankly, if every vendor had its own platform the cost of ensuring interoperability would hurt vendor margins and in turn hurt us the consumers. Finally, this is the chance for the non-vendor community to have their say in what the future of networking is going to look like. This has been traditionally reserved for the biggest of the big organizations. The beauty of meritocracy is that it doesn't matter who you are or who you work for, the project motto still applies: code is the coin of the realm. Open source projects should be community service for incumbent vendors. If vendors only take profit and do not contribute back, it tells me they prefer status quo. We need vendor support for SDN technologies, cooperation amongst vendors for interoperability and, above all else else, open and available working code. OpenDaylight fulfills those roles nicely while still being inclusive to non-vendor community input and leadership.
What advice would you give to someone just getting started in OpenDaylight?
Above all else, jump on the #OpenDaylight IRC channel. Get to know the community. Don’t be shy. The OpenDaylight channel is probably the friendliest IRC atmosphere I have ever seen. The Technical Steering Committee (TSC) and community people work very hard to lower any human barriers of participation. You will get to know some of the guys with a passion around involving the community like David Meyer, Colin Dixon, Phil Robb, Chris Wright, Ed Warnicke and all of the others who are so enthusiastic about the vision of OpenDaylight. There is also great support in getting projects up and running from Andrew Grimberg, Linux Foundation systems administrator and continuous integration tooling stud, and the tireless Ed Warnicke of Cisco. I personally got started by learning the code set, signing up for the Listserv, listening to the weekly technical discussions and asking questions on irc.freenode.net #opendaylight. Once you understand something, then you pay it forward by helping the next person.
I recommend the following to get started:
The OpenDaylight wiki is a great place to start for getting the platform installed, understanding the architecture, general information and links to other resources.
Join the OpenDaylight IRC channel, irc.freenode.net #opendaylight. Feel free to directly message me @networkstatic on IRC if you are nervous about getting started or shy about asking questions.
OpenDaylight TSC and Technical weekly meetings.
Start learning Java and Python. YouTube has an inordinate amount of tutorials that will walk you through every aspect of learning object-oriented programming.
Join the OpenDaylight Listservs for some fantastic technical discussions.
Attend OpenDaylight HackFests, Summits and other events. Virtual attendance also available for those of us geographically challenged.
What is the best piece of developer advice you've ever received?
Get things working then worry about the "right" way to do it. Some scoff at this, but I have seen too many projects die on a vine after coming up with all of the reasons why something won't work or talking about boiling the ocean but never even beginning. It is particularly relevant to OpenDaylight. There are plenty of reasons – based on the past 20 years of networking – that something will not work. The rapid prototyping of concepts is now possible by having platforms to execute rather than starting from the ground up vertically. The saying "rough consensus and working code" is the future of networking. The rest is noise.
What does your workspace look like?
Sitting on the couch with a MacBook running a few Linux VMs, an obnoxious amount of webpages open and at least one cat in my lap. There is nothing better for me then a purring kitty to tap the focus and creativity.