Cisco Blogs

What is Infrastructure Programmability?

April 29, 2014 - 3 Comments

The programming of network resources is not just a trend, but also a way to future-proof IT and business needs.

This blog series examines how infrastructure programmability is providing a faster time to competitive advantage and highlights the differences between programmable infrastructure and traditional infrastructure, and what programmability means for your entire IT infrastructure.

To read the second post in this series that discusses benefits of network programmability, click here. To read the third post in this series that discusses how IT leaders can embrace this change, click here.

The proliferation of devices and applications has increased the complexity of traditional IT infrastructure. The complexity arises from manually managing the infrastructure box-by-box that is slow and error-prone.  The adoption of cloud computing has compounded the problem with on-premises and off-premises resources. As a result, IT leaders have to allocate critical resources to maintain and troubleshoot these systems. In a recent whitepaper, Zeus Kerravala indicated that 83% of IT budget is used to simply maintain the current operating environment. This leaves precious few resources to invest in business-enabling innovation.

At the same time, business leaders are demanding their IT infrastructure to provide them with a faster time to competitive advantage. Quick time to market is paramount in a world where a new competitive advantage might only last a few months or even weeks. And, as if these challenges are not enough, new cyber-attacks not only threaten innovation but can also threaten the organization itself.

Infrastructure programmability is providing a faster time to competitive advantage.

Infrastructure programmability is providing a faster time to competitive advantage.

Programmability to the rescue

Infrastructure programmability provides the ability to control and change the functions of IT infrastructure. Let’s take a closer look.

Configuration and Operations

From a configuration and operations perspective, programming the infrastructure is about provisioning by using software rather than box-by-box manual configuration. The existing functions of the infrastructure are configured, changes are made, and existing services are used as part of normal operations. In this case, we have gone from manual command line interactions to automation and orchestration through programmatic interfaces.

IT professionals can now configure and deploy new applications and the underlying IT infrastructure in a few minutes with the click of a mouse instead of the weeks or months it previously took to procure, install, and configure these elements. For example, IT teams might need to allocate a server, spin up a virtual machine, find and install the right image and launch it, connect to the network, determine the firewall policy, put in place the load balancing policy, and define and implement the rules for WAN and wireless access. Having templates that can be created, reviewed and edited across the IT organization can significantly reduce complexity, errors and time to get applications up and running. True competitive advantage can be achieved when the entire management process is automated through these applications or services templates.

Infrastructure-as-a-Service, Platform-as-a-Service, and Software-as-a-Service are enabled through the use of programmable infrastructure where resources can be spun up or down automatically based on user demands.

But wait, there’s more…

When application developers can take advantage of the intelligence of the infrastructure, you can have very interesting new applications and behaviors. The critical point is to expose the infrastructure capabilities to developers who can modify the infrastructure functions without having to know the implementation details. Application Programming Interfaces (APIs) provide the appropriate abstraction for the required infrastructure functions that developers want to change.

For example, a developer is writing a collaboration application. The developer knows the experience and the characteristics the software needs to deliver (“I need a network link that can support HD video stream”). The developer should not need to worry about DHCP, RSVP, QoS, markings, and classifications even though that’s how the requirements end up being instantiated in the actual hardware. The abstraction needs to be able to take these developer requirements and convert them into an actual infrastructure configuration. Programmability is about giving developers the knobs they can understand from their perspective.

The Internet of Everything (IoE) will bring billions of new devices, new security requirements and large amount of data from which insights will need to be extracted in real-time. At Cisco, we believe that to fully capture the value of the Internet of Everything, organizations need to move to an application-aware, intelligent environment where the infrastructure serves what is required in real-time at all times. This complex abstraction of the underlying resources allows the infrastructure to appear as an IT fabric that is simple, smart and secure. It is changing how we look at infrastructure programmability, orchestration and controllers.

How can a programmable infrastructure transform your business? Visit Cisco Executive Perspectives to learn more. Join the conversation, #FutureofIT.


Additional Resources:


In an effort to keep conversations fresh, Cisco Blogs closes comments after 60 days. Please visit the Cisco Blogs hub page for the latest content.


  1. I really enjoyed this post, I am currently enrolled in a Cisco academy, taking the CCNA program. Someone suggested I learn a little programming on the side, but I am confused as to which to learn, cause they are so much. Any advice as to which path to take?

  2. As one of Cisco’s Largest Optical Professional Services Organization, Kore-Tek see a huge need (and void) which Cisco is addressing with solid strategy and solutions. Our customers have a need for Infrastructure Programability due to lost time from their networks especially in the provisioning and management of Optical Networking.

    Infrastructure programability and scripting as a service will have huge benefits in the future by supporting our customers through the reduction of OpEx costs, improved QoS, failover redundancy and enhanced networking functions from their Cisco Optical Hardware.

    • Hi Ryan – thanks for your thoughts. I agree that infrastructure programmability and IT services will prove to be highly beneficial to organizations and their customers. Benefits will come in the form that you mentioned (reduced costs, improved QoS, etc) but I also believe collecting data for analysis will be essential. When we can use programmability to enhance applications and how they interact with the infrastructure, we’ll begin to see huge benefits for everyone!