Stop managing your network one box at a time and one command at a time. Current network routers and switches perform their functions in very discrete silos. Basically listening for information from one of its connected neighbors or inspecting packets of information traversing through the silicon and then reacting in a pre-defined way.
Software defined networks (SDN) create a level of abstraction that provides bigger picture thinking around the network. Instead of operating in silos the network devices become one holistic pool of resources. The network becomes the base layer of an application stack, called the data plane or infrastructure layer. The next layer, which the SDN controller provides, is the abstraction layer or control layer. Which uses a technology like OpenFlow to communicate with the infrastructure layer. On top of that are the applications that each of us can create. Applications based on business outcomes that provide measurable value to customers.
Figure 1. SDN Layers (from SDxCentral Website)
The conversation around networks becomes about these applications and not necessarily about the plumbing. Imagine a web portal that your customers can access to provision their own data circuit and virtualized network resource (NFV). Or dynamically routing traffic based on weather patterns to proactively avoid potential infrastructure issues. The possibilities are truly endless and becoming a reality.
Cisco has evolved the SDN concept into their Application Centric Infrastructure or ACI. Although only really focused on the Nexus 9000 series switches it is inspiring many Python developers to create unique and outcome focused applications and will launch on future platforms.
"Cisco ACI is a comprehensive SDN architecture. This policy-based automation solution supports a business-relevant application policy language, greater scalability through a distributed enforcement system, and greater network visibility. These benefits are achieved through the integration of physical and virtual environments under one policy model for networks, servers, storage, services, and security."
As vendors and standards groups evolve these technologies, it is clear that we are entering an application centric world. Our networks will be built with the agility and capabilities to allow custom business applications to be written to interact with the network and launch us into a much more colorful world of developing solutions. Crack open your Python book and get involved in the community.