A data model's structure, consistency, data validation, flexibility, and extensibility enable a shift from human- or script-based methods of device configuration to machine-based, programmatic methods.

Once the structure and rules governing the use of a data model are defined, it is possible to expose a programmatic interface that enables access to, and manipulation of, the information contained therein.

These programmatic interfaces leverage technologies already discussed, such as data interchange formats (XML, JSON), transports (HTTP, RPC), and protocols (NETCONF, RESTconf) to enable remote applications and controllers to manage and monitor the network platforms.

Programmatic interfaces form the foundation of software-defined networks (SDN) and allow network platforms to be controlled in a more rapid, dynamic, and repeatable manner.

Data Models and YANG

Data models have been in use on the Cisco IOS-XR platform for over a decade. In the following section, a data model specific to the Open NX-OS operating system, the Data Management Engine-Data Model (DME-DM) will be introduced.

There are industry-wide efforts, including those in the IETF NETMOD working group and the OpenConfig organization, to build common data models in YANG. Cisco and Tail-f pioneered the data-modeling language presently available in the industry. YANG models can be mapped to network platform data models, and present an opportunity to deliver common interfaces for a wide variety of end-to-end network use cases.

More specific data models, such as the the Cisco Open NX-OS managed information tree, will be discussed in the next section. Data models and APIs are essential to successful automation.