As we know, Google and Yahoo! have implement SDN architecture into part of their Data Centers as an experiment. But what have the two companies thought about? And how did they find SDN useful? Here I select lines from their ppts, and these lines are exactly the reasons why G&Y did so.

Reasons from Google:

Subhasree Mandal October 17, 2011[1]

     1、Utilize more powerful compute resources
     2、Supports easier upgrade, experimental features
     3、Target loop-free, sequenced, centralized routing
     4、Enables advanced features like centralized TE

On 2012 ONS meeting[2]

####

     CAPEX:

          make efficient use of resources
               ● network element cpu and memories
               ● underlying network capacity
          move heaviest workloads off of expensive, relatively slow embedded systems to cheap, fast, commodity hardware
          provide visibility into and synchronized control of network state such that underlying capacity may be used more efficiently

     OPEX:

          Reduce network complexity and thus operational overhead and outage time
          simplify policy composition
          enforce correctness constraints and invariants
          reduce inter-dependendencies
               ○ between protocols
               ○ between routers
          reduce complexity of distributed control system software
          implement potentially innovative new techniques (eg: Heller et al’s Elastic Trees)

Reasons from Yahoo:

2012 ONS meeting[3]

     Topology Discovery
          • Today:
               Routers spend 30%+ cpu cycles re-doing that topology discovery
                    – Edge discovery
                    – ARP/MAC bindings
                    – Topology discovery
                    – ISIS/OSPF/SPT/RSTP/TRILL/etc
          • SDN:
               We already have this info in a central DB!
               So, let’s just program it!
     Cost
          It’s all about the $$$$$
     Automation
          • Today:
               Powerful configuration templating tools
                    • Create config generators to translate those templates to every vendor/device/OS model syntax
               Configuration deployment tools to push that out
                    • They are absolutely archaic
                    • Don’t you just love expect?
          • SDN:
               General API
               Easier to get stuff done..
     Faster Innovation
          • Today:
               Customer: “I need a new feature X please”
               Vendor: “ But you are the only one asking for that, so, how much revenue will that bring in?”
               =>conflict
          • SDN:
               Allows for network “plug-ins” into the controller
               Now you can develop your own control features