Only a few years ago, datacenter architects picked their overlay tunnel technology and created a list of stacks with which to build out their datacenter network. The cloud management system or even "the cloud" was an after thought. Today the tables have turned. We have datacenter architects debating the merits of various CMSes like OpenStack, vVMware (vSphere, vCAC, NSX) and a very distant third or fifth CloudStack. Within their CMS they are asking for support from one or more SDN stacks. The days of stanalone SDN stacks are gone. The battle today is between an open ecosystem like OpenStack vs. multiple closed ecosystems.
So what are the SDN stacks being evaluated on by these cloud datacenters?
First is ability to scale. And by scale, I don't mean just the overcoming the vlan exhaustion issue with annoating BGP or encapsulating L2 in L3 etc. Scale means the performance of the cloud network scales with the number of nodes in the datacenter. The nodes are server nodes. The cloud network does not scale with number of switches. Scale means your automation system can manage the configuration of a 50 node cloud as easily as 5K node cloud.
Second is heterogeneity. This one is a quite a beast because it requires supporting all the major hypervisors, authentication systems, SIAMs, best of breed appliance (virtual and physical). From a cloud vendor's perspective this is where the R&D dollars are mostly spent i.e. in creation of a heterogenous ecosystem. Not proprietary ones like iCloud.
Third is security. Not just network security, or long expensive compliance test but application data input validation, fraud prevention, almost waf like.