Can you define what is a Software Defined Network ? Its human nature to desire clear cut answers of yes/no.
But the real world that I live in is never clear cut. For example, think about how you clearly state answers to the following questions:
- is that woman pretty ?
- Is that guy fat ?
- Which is the best car ?
- Why is that restaurant bad ?
Before we start attempting to define “Software Defined”, lets have an exercise in creating definitions for the following:
- Data Centre Network
- Wide Area Network
- Campus Network
- DMZ Network
- Wireless Network
How did you go ? Did you clearly define each and every part of those networks ?
What exactly makes your data centre network unique ? Its not switches (that we use in the campus) ? We use the same protocols everywhere, same cabling, same connectors. There is a small amount of the variation in network operating systems. We use STP in the Campus and Data Centre.
We use IP Routing in all of the scenarios.
Its Not a Thing
You can’t define “Software Defined Network” because its not a thing. Its not a single thing or even a few things. Its combination of many things including intangibles. Stop trying to define it. Just deploy it.
My Working Definition
Here are things that I expect to see in an SDN:
- Single app interface for all device configuration
- My SDN application model as an end-to-end system (not hop-by-hop).
- My SDN application has visiblity and monitoring as a standard feature.
- My SDN application has configuration management as a standard feature. This includes less obvious features such as SSH, Crypto Certificate operations, AAA, etc.
- My SDN application has REST APIs that are published on Github with an Apache license. (Must not require support contracts or licenses to access, use or adapt).
- My SDN application doesn’t care about operating systems or devices. It uses an API that is independent of the device hardware or software.
- My SDN application runs on Linux. Because paying for an operating system doesn’t add value to my SDN.
What Not In My Definition