The day-to-day tasks of Cisco network engineers are in the midst of a major industry shift. Specifically, we’re moving away from traditional command line interface (CLI) commands, and moving towards having programs do the work for us. The industry term for this new environment is Software Defined Networking (SDN). Cisco’s SDN product suite is called ACI. As an example, we could write a program to talk with a Cisco APIC controller, which could then send out commands to multiple Cisco devices (e.g. routers and switches).
According to IDC, the worldwide SDN market will have a compound annual growth rate (CAGR) of nearly 54 percent between 2014 and 2020. It will be worth almost $12.5 billion by 2020. Adoption of SDN will be intense. SDN has become established in the market, and NFV is not far behind.
Analytics plays a key role in digital-ready networks. It reveals rich contextual insights about users, applications, devices, and threats. This helps organizations and their IT professionals make more informed decisions. To make this happen, however, organizations must do two things. First, they must liberate IT time and resources by automating daily networking tasks, which makes room to focus on business innovation. Hence the willingness to take up SDN and NFV.
Second, organizations must build key programming skills in their network engineers. These new skills will enable them to tap into network intelligence. They also will be able to develop powerful new network-enabled applications through open application programming interfaces (APIs). With networks abstracted and virtualized, they must understand and manipulate SDN controllers and network orchestration systems.
From these basics, network engineers can move into infrastructure programming. They need to learn about common automation protocols like Network Configuration Protocol (NETCONF), representational state transfer (REST), and how they relate to YANG data models. They need to delve into types of SDN controllers, like Cisco Application Policy Infrastructure Controller (APIC), Cisco Application Policy Infrastructure Controller Enterprise Module (APIC-EM), and Cisco Open SDN Controller (OSC). They should know how to use APIs that reside in devices, too.
This change is going to require Cisco engineers to become proficient in programming, and the most common programming language for SDN is the Python programming language. Unfortunately, the challenge of learning a new programming language can be a bit daunting even to seasoned engineers.