SDN Controllers and Military Theory
A long time reader of my blog will know that I enjoy technology analogies to military strategy and doctrine. It is with this in mind, that a colleague sent me the following link to a post on the F5 blogs about centralized versus decentralize controllers in which there is a reference to a DoD definition of centralized control and decentralized execution. There is a lot going on in the post and most of it is code words for do not change the network which can be transposed from this quote “one thing we don’t want to do is replicate erroneous strategies of the past.”
My first question is what erroneous strategies would those be? Military or technical? I think I understand what the message is in this post. It is found in this paragraph:
The major issue with the notion of a centralized controller is the same one air combat operations experienced in the latter part of the 20th century: agility, or more appropriately, lack thereof. Imagine a large network adopting fully an SDN as defined today. A single controller is responsible for managing the direction of traffic at L2-3 across the vast expanse of the data center. Imagine a node, behind a Load balancer, deep in the application infrastructure, fails. The controller must respond and instruct both the load balancing service and the core network how to react, but first it must be notified.
Why does a single controller have to be responsible for managing the direction of traffic across the vast expanse of the data center? Is there a rule somewhere that states this or is it an objective? I think there can be many controllers. I think controllers can talk to controllers. Why does the controller have to respond and instruct the load balancing service? That is backwards. I would say this is exactly the model that people who build networks want to move away from. Would it not be easier to direct application flows to a pool of load balancers?
In terms of the military doctrine analogy a complete reading of John Boyd is in order. I have mentioned Boyd in a few prior posts here and here. The most applicable military theory to SDN is Boyd’s O-O-D-A loop. Anyone who worked with me at Internet Photonics or Ciena in the prior decade know that I have used this model in meetings to illustrate technology markets and sales operations. Here is the definition of the O-O-D-A loop from Wikipedia:
The OODA loop (for observe, orient, decide, and act) is a concept originally applied to the combat operations process, often at the strategic level in military operations. It is now also often applied to understand commercial operations and learning processes. The concept was developed by military strategist and USAF Colonel John Boyd.
Readers should note that I have book on Boyd as well as copies of some of his presentations and he always used the dashes in the acronym. If you are looking for a military theory to apply to SDN and controller architecture is can be found in Boyd – not joint task force working documents. SDN is not about central control, it is about adapting to the dynamic changes occurring in the network based on the needs of the application. We are building systems — not silos.