Hi
I tend to agree with the statement "Network Functions Virtualization (NFV) describes the evolution of elements from appliances to software applications", however, this was only the initial step of the evolution. Evolution has since moved on in the direction of further decomposition, so what was one network element may become a set of multiple – perhaps even a large number of - microservices. Over time, the average number of microservices replacing one traditional physical network element will grow.
With regards to SDN I find the given definition a bit too narrow and limited.
My short definition is: SDN is about making the network programmable.
A more subtle definition is: SDN is about the IT department taking control (not only of compute, and storage, but also of networking).
It is obvious that virtualization is of very limited use, if you do not have a programmable network that allows you to dynamically assign the required connectivity to the virtualized network functions (including storage) after you have placed them in some optimal way on your set of physical resources that is able to compute, to store and to "network".
It should be noted that there is a hidden secret without which it would not have been possible for IT to take control of "network".
To make it short: IT took control by creating the right abstraction of "network" and by creating a uniform identifier for this abstraction (which – sad to say - was missing for 40 years in the networking industry).
The right abstraction is the same abstraction that Bob Metcalfe made, when he invented "Ethernet" based on an abstraction of the Aloha network in Hawaii over 40 years ago.
The real trick that allows IT to take control was the creation of a UUID to identify an instance of this abstraction – very early in the lifecycle of the "network instance", in fact the trick is creating an "empty network of yet undefined size and geographical extension".
This was never possible with traditional OSS systems, at least not with an identifier persistent across the whole lifecycle, and is one root cause of OSS complexity.
Also, this abstraction identifies not only a layer2 construct, but implicitly also an optional layer3 construct, in fact the binding these two constructs. This is what makes it so powerful. The creation of this missing object, and the uniform identification by a UUID is like the fixed point of Archimedes that allowed IT to take control of networking.
Some people call it SDN.
I agree though that the original definition of SDN was centered around taking the smarts out of routers and putting them into a centralized SDN controller. But things have moved on since – the real smarts have moved on to an orchestrator or a to a hierarchy of orchestrators, which create the UUIDs that identify these objects called "network".
These orchestrators then instruct SDN controllers which are slaves to the orchestrators to "BUILD" and "RUN" these networks (NOT to CREATE them, because the Orchestrators have created them already).
At the very time of creation such a "network" is just a layer 2 object (mandatory) with a potential implicit binding to a layer3 object (optional), with all parameters yet undefined, such as maximum amount of stations (layer2 endpoints) attachable to this "network", implicitly defining or defined by the maximum amount of layer3 endpoint names (maximum number of assignable IP addresses from a contiguous range as defined by IP subnet size).
It is like the orchestrator creating a yellow cable of yet undefined size and reach, then shaping it by defining its size (number of endpoints) and nameplates usable to identify them (IP-addresses/subnet) and then handing it off to the SDN Controller to build it on top of the physical network infrastructure at hand.
This physical network infrastructure at hand can have multiple forms, e.g. ranging from a set of Ethernet White Box switches in a lab to an MPLS backbone of a multinational tier1 carrier, employing methods such as EVPN to create the virtual yellow cables on demand, and to move around stations on demand (identified by MAC-addresses as their layer2 names and IP addresses as their associated layer3 names), supporting the move of a virtual machine within an IP-Subnet being a LAN (where the "LAN" could spread different datacenters or even different continents, because it is a virtual yellow cable).
Lothar Reith
Detecon International - Deutsche Telekom Group