Let’s start by saying congratulations to SDN! Network virtualisation technologies are finally starting to proliferate the datacentre, delivering on the abstraction and flexibility at a network layer that hypervisors did at a compute layer nearly 15 years ago. And with the development of new technologies comes the inevitable complexity and need for orchestration tools to manage the network.
So the question becomes as you look to shift towards SDN what are you doing from a network orchestration standpoint to simplify workload deployments, increase agility, and maintain application performance?
The Rise of SDN, Simply Complex
SDN has been great. It drastically reduces a lot of the complexities with traditional network management by shifting management functions from hardware to software based controllers. These controllers allow for on the fly configuration and management, and simplify tasks like deploying new application architectures.
Underneath the management simplicity that comes from SDN lies a great deal of complexity. Now that the network hardware itself has been abstracted out of the environment workloads can float. VMs effortlessly move across the datacentre or even between datacentres without the physical bounds that once constrained them.
But, at the end of the day networks still rely on physical connections. When an application server needs to communicate with a database it still has to traverse a system of cables, routers, and switches to communicate. This fact in conjunction with the ease of migration that SDN provides often times leads to increased network traffic and associated latency.
This fact, in conjunction with a desire for agile deployment and rapid scalability leads to the need for network orchestration and automation technologies.
What is Network Orchestration
Network orchestration is very loosely defined on the web today. Choose 3 different websites and you will find 3 very different answers. My favorite definition is from Greg Ferro:
Network Orchestration – the use of automation to to provide services through the use of applications that drive the network.
Essentially the ability to tie together all the pieces and parts (Python scripts, cloud provisioning platforms, inventory management, etc.) that control different aspects of the network through a single pane of management.
As we have seen with cloud orchestration, network orchestration will become more and more important as organizations scale their SDN footprints. So what are some of the key requirements for a network orchestration system?
- The ability to configure and deploy new workloads onto the network
- The ability to configure network hardware to support workloads deployed on the network
- The ability to understand network utilization and make the required placement to maintain performance
All three of these features are critical to a good network orchestration system given the complexities of SDN discussed above.
Today there are plenty of tools that exist for the first two bullet points. Often times these functions and the ability to perform these functions exists within the software that is virtualizing the network.
The third bullet point is a lot harder to find. In fact, I’d argue that it seems to be completely forgotten in the realm of network orchestration. But, why is it needed?
Network Aware Placement to Maintain Performance
Put very simply network aware placement is needed because with SDN networks are no longer static. So often we think about the network as a static environment. And, when the environment is static you do not need a way of moving things around.
But, in the new world of SDN things can change. Workloads can move around. And, that means that our network orchestration system needs to be able to understand where workloads should run in order to make sure that workloads always have access to the network resources they need.
And, when you think about it that’s a really awesome capability. A web server can be moved closer to the database that supports it. If the database changes the web server can shift. If more workloads are deployed causing network congestion workloads can make the decision to adjust on the fly.
The potential scenarios, and the possible benefits, of including a system for network aware placement as a part of an overall network orchestration system are endless. But, at the end of the day they all sum up to the same thing: less latency and better performance.
Do you have network aware placement as a part of your network orchestration system? If not, then why not give network aware placement a try today.