Network Management is an umbrella term that collectively describes the tools, techniques, technologies, protocols and processes employed to operate a network of devices and platforms, such that this network can provide the business objectives expected from it. Several domains exist under this umbrella term, such as those defined by the FCAPS framework, where the letters of the acronym stand for Fault, Configuration, Accounting, Performance, and Security Management.
The vast majority of Acuative’s customers are multi-branch, multi-datacenter, big enterprises with a three figure device count. Typically, the bigger an enterprise, the bigger is its network, and as networks grow in size, so does the complexity of managing them. Historically, protocols and methods such as SNMP, Syslog, and the CLI were used to manage networks. However, as mature and reliable as these protocols and methods are, they have proven to be severely limited. For example, SNMP is not very scalable, is not fit for configuring devices, and is very complex to implement and customize. CLI, on the other hand, is mostly vendor-specific and typically does not follow a standard hierarchy – aka data model – sometimes on platforms from the same vendor. Think of the different CLI structure and command set for IOS-XR and NX-OS!
Moreover, today, the “network” in network management does not explicitly describe the routers, switches, and firewalls in the network: it has rather expanded to encompass compute and storage, both physical and virtual, SDN controllers, hypervisors and container software, and a myriad of other infrastructure components.
Among other things, managing a network involves having visibility into the health of each device, link, and attached service. It involves insight into the capacity and percentage utilization of that capacity. It also encompasses configuring the network to accommodate new services. Performing the aforementioned tasks, and many others, without some sort of automation, would be a nightmare for any network composed of more than a handful of devices!
Automating a task is defined as offloading this task to software. Typically, automation software is programmed once to do a task, and then this software can be run, theoretically, an infinite number of times. The need for automation transcends the objective of performing repetitive tasks quickly and reliably. Automation is a pre-requisite and a basic building block of cloud networks, next-generation software-defined data centers, and massive-scale service provider networks.
But automation requires that software effectively and efficiently interface with the platforms that need to be managed. Legacy protocols and methods have fell short of this challenge. Writing a piece of software to SSH to a device just to push CLI-based configuration is neither efficient, scalable nor standardized. The solution to this predicament is true network programmability.
Network Programmability is a term that has been coined to describe the practice of using programmable interfaces, referred to as application programming interfaces (APIs), to interface with the different infrastructure components and platforms. An API is a software interface exposed by a device or platform, such as a router, to be consumed by software that requires access to that platform. An API is a software interface that is fully optimized for machine-to-machine communication, unlike, for example the CLI, which has been developed for human-to-machine interaction.
Network Management through APIs
Network Management through APIs provides a tangible number of benefits that directly translate into a higher infrastructure ROI and lower TCO over legacy methods:
- Normalizing the interface for managing infrastructure platforms by abstracting the interaction with these platforms and breaking the dependency on vendor-specific software such as Cisco’s NX-OS, Juniper’s Junos OS or Arista’s EOS. This means that you don’t have to hire an SME per vendor to manage your equipment from that vendor. Engineering staff would be trained on a standard method for managing infrastructure through APIs regardless of the vendor.
- APIs open the door for new, novel methods to interact with infrastructure platforms, and in the process, align and enable the adoption of new technologies and architectures such as SDN, NFV and cloud. These new technologies accelerate innovation and enable rapid go-to-market strategies for new products.
- APIs minimize human interaction with infrastructure components, and in the process eliminate human errors, which has been found to be the number 1 cause of network outages in the US and Canada (see https://www.apmdigest.com/leading-causes-of-it-outages-and-how-to-prevent-them). Network outages are typically associated with severe revenue loss and preventing network outages is crucial to maintaining a healthy business.
- APIs enable the use of software development techniques, referred to as DevOps, for network configuration management, such as software development methodologies, versioning, staging, collaboration, testing, and continuous integration/continuous delivery (CI/CD). These methodologies have been used in software development for a number of years now and have proven to be reliable, scalable and cost-effective.
Platform and device vendors are placing an ever-increasing emphasis on the importance of managing their platforms through APIs. Vendors now integrate into their platforms a comprehensive set of APIs that expose all the functionality previously available only through the CLI and other legacy methods.
Acuative realized the importance of this new paradigm of network management early on. We at Acuative have been striving to leverage network management through APIs for our customers by adopting a novel API-first culture. Every implementation for our customers involving network management has leveraged APIs in one way or the other, due its inherent benefits to the business.
Acuative also works closely with vendors to understand their new API offerings. Whenever a product is released by one of our partner vendors, our engineers engage in testing out how that product’s APIs can be leveraged to integrate more effectively with the network management ecosystem in place.
Additionally, Acuative has been an industry leader in adopting NetDevOps and Infrastructure-as-Code to manage infrastructure components. NetDevOps, as the name implies, is the application of well-tested and mature Software DevOps techniques, tools and processes to operate networks, from monitoring the health of the infrastructure, to applying automated remedies based on machine learning, and all the way to creating full CI/CD pipelines that integrate collaboration, versioning, compile/build, automated testing and configuration management tools. Of course, this would not be possible without treating infrastructure configuration collectively as a repository of software – aka code.
To accomplish this for our customers, our engineers at Acuative are subject matters experts in some of the most popular and widely used automation tools and protocols in the industry such as Git, Ansible, Jenkins, Vagrant, Terraform and Elasticsearch, just to name a few, as well as the fundamental protocols that constitute the programmability stack, namely NETCONF, RESTCONF, gRPC, XML, JSON, HTTP and YANG.
Make sure to check with our Sales team to learn more about our several offerings and services, and join this new exciting world of management through APIs, NetDevOps and Infrastructure-as-Code today!
About Khaled Abuelenain
Khaled Abuelenain, CCIE No. 27401 (R&S, SP), is currently a Consulting Director at Acuative, a Cisco Managed Services Master Partner. Khaled has spent the past 18 years designing, implementing, operating, and automating networks and clouds. He specializes in service provider technologies, SD-WAN, data center technologies, programmability, automation, and cloud architectures. Khaled is especially interested in Linux and OpenStack.
Khaled is the author of the soon-to-be released Cisco Press book “Network Programmability and Automation Fundamentals”, 1st Edition. Khaled is also a contributing author of the best-selling Cisco Press book “Routing TCP/IP”, Volume II, 2nd edition, by Jeff Doyle. Khaled blogs frequently on network programmability and automation on blogs.cisco.com. Khaled is also a member of the DevNet500 group, being one of the first 500 individuals in the world to become DevNet certified. Khaled lives in Riyadh, Saudi Arabia, and when not working or writing, he likes to run marathons and skydive. He can be reached at firstname.lastname@example.org, on Twitter at @kabuelenain or on LinkedIn at linkedin.com/in/kabuelenain.
Acuative provides the world’s leading companies with a complete range of advanced technology and managed services, enabling customers to utilize a single source provider for all of their network requirements.
Acuative has a specific focus and expertise in implementing and managing voice & data networks in a highly secure environment. Acuative simplifies the entire process of managing today’s technology. We leverage a powerful combination of expertise, round-the-clock availability and extensive technical resources to deliver faster efficiency gains, speed to implement and the highest return on investment to our customers.