Great article Stephen! Certainly thought provoking. I've been a proponent of SDN and NFV since the early days, and it has been difficult getting people to understand and accept the change. Virtualizing the DC environment has many benefits, and compelling use cases...especially in large environments.

I've been involved in many conversations with other architects, and the prevailing opinion is to keep the hardware implemented in the traditional manner, then allow the intelligence to be handled by an overlay (NSX, Nuage, Contrail, etc).

My opinion is that both should be used in tandem, and you will get the biggest bang...that they don't have to be mutually exclusive. As in, why not use ACI to turn your 3 layer DC environment in to a SDN based provider cloud? You can also use MPLS to do something similar with legacy devices (I've been an advocate for enterprise using SP tech to virtualize their network for quite some time).

Thoughts?